Upload
faith
View
100
Download
1
Embed Size (px)
DESCRIPTION
2.2 문맥-무관 문법. 문맥-무관 문법의 정의 문맥-무관 문법과 푸쉬다운 자동장치 참스키 정규형. 문맥-무관 문법의 정의. Context-free grammar 생성 규칙의 좌변 : 하나의 비단말 생성 규칙의 우변 : 제한 없음 정규 문법의 우변은 제한이 있다. 문맥-무관이란 단 하나의 비단말에 대해 문맥에 무관하게 적용. Context-sensitive grammar( 문맥-인식 문법) xNy xzy (a b, where a, b (N T) + , |a| |b|). - PowerPoint PPT Presentation
Citation preview
2.2 문맥 - 무관 문법
1. 문맥 - 무관 문법의 정의2. 문맥 - 무관 문법과 푸쉬다운 자동장치3. 참스키 정규형
문맥 - 무관 문법의 정의
• Context-free grammar– 생성 규칙의 좌변 : 하나의 비단말– 생성 규칙의 우변 : 제한 없음
• 정규 문법의 우변은 제한이 있다 .
– 문맥 - 무관이란 단 하나의 비단말에 대해 문맥에 무관하게 적용 .
– Context-sensitive grammar( 문맥 - 인식 문법 )• xNy xzy (a b, where a, b (N T)+, |a| |b|)
좌우선 유도 (leftmost derivation)
• 문맥 - 무관 문법은 유도를 통해 스트링들을 생성해 낸다 .
• 생성 규칙을 적용하는 순서– zMNz zaMaNz ( 좌우선 유도 )– zMNz zMbNbz ( 우우선 유도 )– 좌우선이나 우우선이나 스트링 생성에는 無
영향 .• 그러면 , 좌우선 유도에 의해 생성한다 .
파스 트리 (Parse tree)
• 노드 : 문법의 단말 또는 비단말– Root node : CFG 의 시작 기호– 단말 기호 : 내부 노드가 될 수 없다 .– 비단말 기호 : 잎 노드가 될 수 없다 .
• 각 비단말 노드의 자식들– CFG 의 유도에서 그 비단말을 대치하는
기호들로 된 노드들• 그림 2.6
문맥 - 무관 언어(context-free language)
• 문맥 - 무관 문법에 의해 생성되는 언어• 그림 2.7
S xSy
S – 언어 {xnyn : n N} 을 생성하는 문법– 정규 문법에서는 생성할 수 없는 언어
다중 삽입 전이
• (p, a, s; q, xyz)– 다중 삽입 전이 (multiple push transition)
• (p, a, s; q1, z)• (q1, , ; q2, y)• (q2, , ; q, x)
– 한 번의 전이에서 스택에 3 개의 기호를 삽입– 전이 수행 후 , x 가 꼭대기 , 그 밑에 y,
그리고 z 가 바닥– 표기상의 편의이고 , 성능이 추가되지 않음
문맥 - 무관 문법과푸쉬다운 자동 장치
• 증명– 문맥 - 무관 문법에 의해 생성되는 언어들이
정확히 푸쉬다운 자동 장치에 의해 수락되는 언어들
– 임의의 문맥 - 무관 문법 G 에 대해서 L(G) = L(M) 인 푸쉬다운 자동장치 M 이 존재
– 임의의 푸쉬다운 자동장치 M 에 대해서 L(M) = L(G) 인 문맥 - 무관 문법 G 가 존재
정리 2.2: L(G) = L(M) 인 M
• 임의의 문맥 - 무관 문법 G 에 대해서 , L(G) = L(M) 인 푸쉬다운 자동장치 M 이 존재– Given G = (N, T, S, R), – make M = (S, , , T, , F)
정리 2.3: L(M) = L(G) 인 G
• 임의의 푸쉬다운 자동장치 M 에 대해서 , L(G) = L(M) 인 문맥 - 무관 문법 G 가 존재– Given M = (S, , , T, , F)
– make G = (N, T, S, R),
참스키 정규형
• 언어 분류 (2.2 절까지 )– 정규 언어 ( 정규 문법에 의해 생성 )– 문맥 - 무관 언어 ( 문맥 - 무관 문법에 의해
생성 )• 생성 규칙의 우변 : 무관 (free)
• Chomsky normal form– By Noam Chomsky
• http://web.mit.edu/linguistics/www/chomsky.home.html
참스키 정규형
• L : 공백 스트링을 포함하지 않는 문맥 -무관 언어
• L= L(G) 인 G 의 생성 규칙– 우변은 하나의 단말 또는 두 개의 비단말
• Chomsky normal form– 우변이 하나의 단말 또는 두 개의 비단말로
구성되는 생성 규칙을 가진 문법
L( 문맥 - 무관 언어 )
를 포함하지 않는 어떤 문맥 - 무관 언어이든지 , - 규칙이 없는 문맥 - 무관 문법에 의해 생성할 수 있다 .
-chain– 길이 n 인 -chain (Nn : 근원 , origin)
• Nn Nn-1, Nn-1 Nn-2 , …, N0
– 길이 0 인 -chain • N0
L 에서 U
L(G) 인 문맥 - 무관 문법 G• U0 : 길이 0 인 -chain 의 근원인 비단말들• U1 : 길이 1 인 -chain 의 근원인 비단말들• U = U0 U1 … Un
– S U, where S is a start symbol in G– 공백 스트링으로 바꿔쓸 수 있는 G 의 모든
비단말들- 규칙이 없는 문맥 - 무관 문법을 만듬
- 규칙이 없는 문맥 - 무관 문법
• N w 를 N w’ 로 바꾸어서 추가– w: 단말들과 비단말들의 스트링– w’ : w 로부터 U 에 포함된 비단말들을 하나
이상 제거하여 얻어지는 모든 조합의 비공백 스트링 .
• 그림 2.14 와 그림 2.15 참조
정리 2.4
• 단계 0– 공백 스트링 ( ) 을 포함하지 않는 생성
규칙들• 단계 1
– G 의 모든 단말 x 를 비단말 X 로 두고 , X x 인 생성 규칙을 도입
– 결과적으로 , 우변은 하나의 단말 또는 비단말들의 스트링으로 구성
정리 2.4( 계속 )
• 단계 2– 우변이 3 개 이상의 비단말들인 것
우변이 2 개의 비단말로 된 규칙들을 생성– 그러면 , 우변은 하나의 단말 또는 2 개의
비다말 혹은 하나의 비단말로 된 규칙들• 단계 3
– 우변이 하나의 비단말인 생성 규칙 우변이 하나의 단말 또는 2 개의 비단말
문맥 - 무관 언어 L
• 문맥 - 무관 언어 L 이 을 포함하지 않는 경우– 정리 2.4 과 부합하면 Chomsky normal form
• 문맥 - 무관 언어 L 이 을 포함하는 경우– L –{} 를 생성하는 참스키 정규형의 문맥 -
무관 문법 G– S' 와 S' x for S x in G