[PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author...

30
形形形形形形形 5. 形形形形形形

Transcript of [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author...

Page 1: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

形式言語の理論5. 文脈依存言語

Page 2: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

Chomsky 階層の4言語族 句構造 文脈依存言語 文脈自由言語 正規言語

句構造とは,(1) N, は N = なる空でない有限集合.(2) P は の形をした記号列の有限集合 ただし, N で, , (N )* かつ は少なくとも1個の N の要素を含む.(3) SN .

Page 3: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

5.1. 文脈依存文法とその標準形 文脈依存文法 定理 5.1文脈依存文法 ⇔ 単調文法 補題 5.2単調文法の次数は下げられる 補題 5.3任意の単調文法は次数2の単調文法に変形できる 定理 5.4任意の文脈依存文法は線形有界文法に変形できる

Page 4: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

文脈依存文法 句構造文法 G = (N, , P, S ) のすべての生成規則が

A (, , (N )*, , AN )の形をしているとき, G は文脈依存文法とよばれる.

文脈依存文法( context-sensitive grammar: CSG )は, を生成しないことに注意.

例 5.1 L = {anbncn | n 1} を生成する CSG . S a S B C a B a b S a B C b B b b C B A B b C b c A B A C c C c c A C B C

Page 5: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

単調文法 句構造文法 G = (N, , P, S ) が単調であるとは,

G のすべての生成規則 P が | | | | を満たすことをいう. 単調文法と文脈依存文法は表現力が同等である. 例 5.1 の は単調文法である.

Page 6: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.1  (文脈依存文法⇔単調文法) 任意の言語 L * に対して, L が文脈依存言語であるための必要十分条件は, L が単調文法で生成されることである.[ 証明 ] 文脈依存文法は単調文法なので,必要性は明らか. 任意の単調文法に対して,等価な文脈依存文法が存在することを示せばよい.

Page 7: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.2  (単調文法の次数は下げられる) 任意の次数 n (n 3) の単調文法 G に対して, G と等価な次数 n1 の単調文法

G が存在する.

まず,任意の単調文法 G に対して, G と等価な単調文法 G = (N, , P, S ) で,すべての生成規則が   A a (a , AN )もしくは (, N+ )の形をしているものが存在することに注意.

次数:生成規則のうちの右辺の最大長

Page 8: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.2 の証明 A a の形をしていない生成規則には非終端記号しか現れないと考えて良い. を G の生成規則とする.

| | 2 の場合はそのまま.それ以外の場合には, = A , = BCD (A, B, C, D N, , N*)とおける = の場合A A1 A2

A1 B CA2 D

( = E ) の場合

A E A EA BE C D

Page 9: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.3(任意の単調文法は次数2の単調文法に変形できる) 任意の単調文法 G に対して, G と等価な次数 2 の単調文法が存在する.[ 証明 ] 補題 5.2 を繰り返して得られる G が補題

5.3 を満たすのは明らか.

Page 10: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.1 の証明 補題 5.3 より, G は次数 2 の単調文法としてよい. A B C D (A C かつ B D)の形をした生成規則を次のように置き換えて新たな単調文法 G とする. A B A B

A B A D A D C D

G は文脈依存文法であり,かつ G と等価.

Page 11: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

例 5.2

単調文法 G = ({S, B, C}, {a, b, c}, P, S) S a S B C S a B C C B B C a B a b b B b b b C b c c C c c

例 5.1 の文脈依存文法はこの生成規則のC B B C を書き換えたものである.

Page 12: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

線形有界(黒田標準形) 文脈依存文法 G = (N, , P, S ) が線形有界であるとは, P 中のすべての生成規則が次のいずれかの形をしていることをいう.ただし, A, B, C, D N {S} である. S S A

S A A B A B C D

単調文法と同一視していることに注意

Page 13: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.4(任意の文脈依存文法は線形有界文法に変形できる) 任意の文脈依存文法 G に対し, G と等価な線形有界文法 G が存在する. 線形有界文法の性質

線形有界文法においては, S S A の形以外の生成規則は導出される記号列の長さを変えない. 開始記号 S を右辺にもつ生成規則は,

S S A に限られる. 任意の線形有界文法 G = (N, , P, S ) と任意の

, (N )* に対して, S G S ならば, = かつ (N {S})* である.

*

Page 14: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

5.2 線形有界オートマトン 線形有界オートマトン 補題 5.6文脈依存言語 ⇒ 線形有界オートマトン 補題 5.7線形有界オートマトン ⇒ 文脈依存言語 定理 5.8文脈依存言語 ⇔ 線形有界オートマトン

Page 15: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

線形有界オートマトン 1 テープ非決定性 Turing 機械 M = (Q, , , , q0, F)

(1) {¢, $} ,(2) 任意の p, q Q に対し, (q, a, X) (p, ¢) ならば,

a = ¢ かつ X = R ,(3) 任意の p, q Q に対し, (q, a, X) (p, $) ならば,

a = $ かつ X = L .

¢ $w

有限制御部

Page 16: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.6(文脈依存言語 ⇒ 線形有界オートマトン) 任意の文脈依存言語 L * に対して, L を受理する線形有界オートマトンが存在する.証明の手順 L(G) = L となる G をとる. この G に基づき,(天下り的に)線形有界オー

トマトン M = (Q, , , , q0, {qf}) を次のようにつくる. Q = {q0, qf, s0, s1, r0, r1, r2}{sA | ABCDP } = {¢, $} = N

L(G) = L(M) を証明する.

Page 17: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

証明¢ $w

q0

s1

r1

qf

r0

r2

s0

sA

¢ / ¢,R

a / a,R

$ / $,L

A / A,{L,R}¢ / ¢,R $ / $,L

B / A,R

C / A,R

D / B,R

S / S,L ¢ / ¢,R

S / ¢,RA / S,R$ / $,L

Page 18: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.7(線形有界オートマトン ⇒ 文脈依存言語) 任意の線形有界オートマトン M = (Q, , ,

, q0, F) に対して, L(M) {} は文脈依存言語である.証明の手順 M に基づき,(天下り的に)文脈依存文法 G =

(N, , P, S ) をつくる. L(G) = L(M) {} を証明する.

Page 19: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

導出の仕組み (5.20) と (5.21) の規則から,ある語 w = a1a2 ・・・ an に対応する初期様相を表す文形式 a1, q0¢a1a2, a2 ・・・ an, an$

を生成する. (5.22) と (5.23) の生成規則を繰り返し適用することで,非終端記号 a1, の第2項の部分を使って M の計算過程を模倣しながら導出を続ける. 模倣の過程で, M が最終状態に達するならば,非酒単記号 a1, q が現れるので, (5.24) を用いて終端記号

a に置き換える. 後は, (5.25) を繰り返し適用し,すべての非終端記号を終端記号に置き換え,語 w = a1a2 ・・・ an を得る.

Page 20: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.8 と系 5.9

L * が文脈依存言語であるための必要十分条件は,L = L(M) なる線形有界オートマトン M が存在することである.

系 5.9  (→定理 5.13 の証明に関係) CSL = NSPACE(n)

消去可能文脈依存文法 次の生成規則からなる文法 G は,消去可能文脈依存文法という. A (, , (N )*, AN )消去可能文脈依存文法は句構造と同等の生成能力をもつ.

Page 21: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

5.3 文脈依存言語の性質 定理 5.10

文脈依存言語族は和と連接について閉じている 定理 5.11

文脈依存言語族は正閉包について閉じている 定理 5.12

文脈依存言語族は積について閉じている 定理 5.13

任意の文脈依存言語 L * に対して, *L の補集合は文脈依存言語である 補題 5.14

任意の s (n) log n に対して,NSPACE( s (n) ) = co-NSPACE( s (n) ) である

Page 22: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.10(文脈依存言語族は和と連接について閉じている) L1, L2 * を任意の文脈依存言語とする.

(1) L1 と L2 の和 L1 L2 は文脈依存言語である. (2) L1 と L2 の連接 L1 ・ L2 は文脈依存言語である.

GL1 L2 = (N1N2 {S}, , P1 P2 {SS1, SS2}, S)

GL1 ・ L2 = (N1N2 {S}, , P1 P2 {SS1S2}, S)

Gi の生成規則の左辺に終端記号が現れないと仮定

Page 23: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.11(文脈依存言語族は正閉包について閉じている) 任意の文脈依存言語 L * に対して,

L の正閉包 L+ は文脈依存言語である.

GL+ = (N∪N∪{S+, X}, , P+, S+)

N∩N = となる G のコピー G = (N, , P, S )

N = { A | AN }

P = { | P かつ , は , の        非終端記号 A を A で置き換えたもの }

P+ = P∪P∪ {S+S, XS, S+SX, X SS+ }

Page 24: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.12(文脈依存言語族は積について閉じている) 任意の文脈依存言語 L1, L2 * に対して,

L1 と L2 の積 L1∩L2 は文脈依存言語である.

[ 証明 ]Li (i = 1, 2) を受理する線形有界オートマトンを

Mi = ( Qi, , i , i , q0i, Fi ) とする.

この Mi から,線形有界オートマトン ML1∩L2 を構築す

る.

¢ $a b a b b a b ca b a b b a b c

¢ $a b a b b a b c

Page 25: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.13(文脈依存言語の補集合も文脈依存言語である) 任意の文脈依存言語 L * に対して,

*L の補集合は文脈依存言語である.[ 証明 ]系 5.9 と補題 5.14 による.系 5.9   CSL = NSPACE

(n)補題 5.14 NSPACE( s (n) ) = co-NSPACE( s (n) )

CSL = co-CSL

Page 26: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.14( NSPACE( s (n) ) = co-NSPACE( s (n) ) ) 任意の s(n) log n に対して,

NSPACE( s(n) ) = co-NSPACE( s(n) ) である

[ 証明 ]任意の s(n) 領域有界 Turing 機械 M に対して, *L(M) を受理する s(n) 領域有界 Turing 機械 M が存在することを証明する.

線形有界オートマトンは領域有界 Turing 機械

Page 27: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

5.4 言語族の階層 Chomsky 階層の4言語族

句構造言語( 0 型)文脈依存言語( 1 型)文脈自由言語( 2 型)

正規言語( 3 型)RGL

CFL

CSL

FSL

RGL CFL CSL FSL補題 5.15 補題 5.16 補題 5.17

補題 5.18

Page 28: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.15 と 補題 5.16

補題 5.15 RGL CFL[証明] 言語 L = { anbn | n 1 } を・・・ 生成する文脈自由文法はあるので,文脈自由言語 受理する有限オートマトンはないので,

正規言語ではない

補題 5.16 CFL CSL[証明] 言語 L = { anbncn | n 1 } を・・・ 生成する文脈依存文法はあるので,文脈依存言語 生成する文脈自由文法はないので,

文脈自由言語ではない

Page 29: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

補題 5.17 と 補題 5.18

補題 5.17すべての文脈依存言語は帰納的である.

補題 5.18文脈依存言語でない帰納的集合が存在する.

[証明]L = { xi | xi L(Gi) } を使った対角線論法により

証明する.

任意の x に対し, xL かどうか判定できる

Page 30: [PPT]形式言語の理論kida/ppt/FormalLanguage.ppt · Web viewTitle 形式言語の理論 Author 喜田拓也 Last modified by 喜田拓也 Created Date 6/27/2002 6:22:07 AM Document

定理 5.19 ( RGL CFL CSL FSL )

RGL CFL CSL FSL[証明]補題 5.15, 5.16, 5.17, 5.18 による.

言語族 受理系 生成系FSL (句構造) Turing 機械 句構造文法CSL (文脈依存) 線形有界オートマトン 文脈依存文法CFL (文脈自由) プッシュダウン・オートマトン 文脈自由文法RGL (正規) 有限オートマトン 正規文法