1 / 17

2.2 문맥-무관 문법

2.2 문맥-무관 문법. 문맥-무관 문법의 정의 문맥-무관 문법과 푸쉬다운 자동장치 참스키 정규형. 문맥-무관 문법의 정의. Context-free grammar 생성 규칙의 좌변 : 하나의 비단말 생성 규칙의 우변 : 제한 없음 정규 문법의 우변은 제한이 있다. 문맥-무관이란 단 하나의 비단말에 대해 문맥에 무관하게 적용. Context-sensitive grammar( 문맥-인식 문법) xNy  xzy (a  b, where a, b  (N  T) + , |a|  |b|).

faith
Télécharger la présentation

2.2 문맥-무관 문법

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.2 문맥-무관 문법 • 문맥-무관 문법의 정의 • 문맥-무관 문법과 푸쉬다운 자동장치 • 참스키 정규형

  2. 문맥-무관 문법의 정의 • Context-free grammar • 생성 규칙의 좌변 : 하나의 비단말 • 생성 규칙의 우변 : 제한 없음 • 정규 문법의 우변은 제한이 있다. • 문맥-무관이란 단 하나의 비단말에 대해 문맥에 무관하게 적용. • Context-sensitive grammar(문맥-인식 문법) • xNy  xzy (a  b, where a, b  (N T)+, |a|  |b|)

  3. 좌우선 유도(leftmost derivation) • 문맥-무관 문법은 유도를 통해 스트링들을 생성해 낸다. • 생성 규칙을 적용하는 순서 • zMNz  zaMaNz (좌우선 유도) • zMNz  zMbNbz (우우선 유도) • 좌우선이나 우우선이나 스트링 생성에는 無영향. • 그러면, 좌우선 유도에 의해 생성한다.

  4. 파스 트리(Parse tree) • 노드 : 문법의 단말 또는 비단말 • Root node : CFG의 시작 기호 • 단말 기호: 내부 노드가 될 수 없다. • 비단말 기호: 잎 노드가 될 수 없다. • 각 비단말 노드의 자식들 • CFG의 유도에서 그 비단말을 대치하는 기호들로 된 노드들 • 그림 2.6

  5. 문맥-무관 언어(context-free language) • 문맥-무관 문법에 의해 생성되는 언어 • 그림 2.7 S  xSy S   • 언어 {xnyn : n  N}을 생성하는 문법 • 정규 문법에서는 생성할 수 없는 언어

  6. 다중 삽입 전이 • (p, a, s; q, xyz) • 다중 삽입 전이(multiple push transition) • (p, a, s; q1, z) • (q1, , ; q2, y) • (q2, , ; q, x) • 한 번의 전이에서 스택에 3개의 기호를 삽입 • 전이 수행 후, x가 꼭대기, 그 밑에 y, 그리고 z가 바닥 • 표기상의 편의이고, 성능이 추가되지 않음

  7. 문맥-무관 문법과푸쉬다운 자동 장치 • 증명 • 문맥-무관 문법에 의해 생성되는 언어들이 정확히 푸쉬다운 자동 장치에 의해 수락되는 언어들 • 임의의 문맥-무관 문법 G에 대해서 L(G) = L(M)인 푸쉬다운 자동장치 M이 존재 • 임의의 푸쉬다운 자동장치 M 에 대해서 L(M) = L(G)인 문맥-무관 문법 G가 존재

  8. 정리 2.2: L(G) = L(M)인 M • 임의의 문맥-무관 문법 G에 대해서, L(G) = L(M)인 푸쉬다운 자동장치 M이 존재 • Given G = (N, T, S, R), • makeM = (S, , , T, , F)

  9. 정리 2.3: L(M) = L(G)인 G • 임의의 푸쉬다운 자동장치 M 에 대해서, L(G) = L(M)인 문맥-무관 문법 G가 존재 • Given M = (S, , , T, , F) • makeG = (N, T, S, R),

  10. 참스키 정규형 • 언어 분류(2.2절까지) • 정규 언어(정규 문법에 의해 생성) • 문맥-무관 언어(문맥-무관 문법에 의해 생성) • 생성 규칙의 우변: 무관(free) • Chomsky normal form • By Noam Chomsky • http://web.mit.edu/linguistics/www/chomsky.home.html

  11. 참스키 정규형 • L : 공백 스트링을 포함하지 않는 문맥-무관 언어 • L= L(G)인 G의 생성 규칙 • 우변은 하나의 단말 또는 두 개의 비단말 • Chomsky normal form • 우변이 하나의 단말 또는 두 개의 비단말로 구성되는 생성 규칙을 가진 문법

  12.   L(문맥-무관 언어) •  를 포함하지 않는 어떤 문맥-무관 언어이든지, -규칙이 없는문맥-무관문법에 의해 생성할 수 있다. • -chain • 길이n인-chain(Nn: 근원, origin) • Nn Nn-1, Nn-1 Nn-2 , …, N0  • 길이0인-chain • N0 

  13.   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의 모든 비단말들 • -규칙이 없는문맥-무관문법을만듬

  14. -규칙이 없는문맥-무관문법 • N  w를 N  w’로 바꾸어서 추가 • w: 단말들과 비단말들의 스트링 • w’ : w로부터 U에 포함된 비단말들을 하나 이상 제거하여 얻어지는 모든 조합의 비공백 스트링. • 그림 2.14와 그림 2.15 참조

  15. 정리 2.4 • 단계 0 • 공백 스트링( )을 포함하지 않는 생성 규칙들 • 단계 1 • G의 모든 단말 x를 비단말 X로 두고, X  x인 생성 규칙을 도입 • 결과적으로, 우변은 하나의 단말 또는 비단말들의 스트링으로 구성

  16. 정리 2.4(계속) • 단계 2 • 우변이 3개 이상의 비단말들인 것  우변이 2개의 비단말로 된 규칙들을 생성 • 그러면, 우변은 하나의 단말 또는 2개의 비다말 혹은 하나의 비단말로 된 규칙들 • 단계 3 • 우변이 하나의 비단말인 생성 규칙  우변이 하나의 단말 또는 2개의 비단말

  17. 문맥-무관 언어 L • 문맥-무관 언어 L이 을 포함하지 않는 경우 • 정리 2.4과 부합하면 Chomsky normal form • 문맥-무관 언어 L이 을 포함하는 경우 • L –{}를 생성하는 참스키 정규형의 문맥-무관 문법 G • S' 와 S' x for S  x in G

More Related