170 likes | 275 Views
正則言語. 2011/6/27. 形式言語. Noam Chomsky() 近代言語学者・哲学者・政治思想家 言語 を形式的に解析しようとする試み 形式文法 から言語を構築していく 情報理論との関連性 (オートマトン、構文解析、チューリングマシン等). 形式文法. ある定められた規則(文法)から導出される文字列 G=(N, ∑ ,P,S) N 非終端記号の有限集合 ∑ 非終端記号の有限集合 P 生成規則(有限) S 開始記号 . 形式文法の例(文脈自由文法).
E N D
正則言語 2011/6/27
形式言語 • Noam Chomsky() • 近代言語学者・哲学者・政治思想家 • 言語を形式的に解析しようとする試み • 形式文法から言語を構築していく • 情報理論との関連性(オートマトン、構文解析、チューリングマシン等)
形式文法 ある定められた規則(文法)から導出される文字列 G=(N,∑,P,S) • N 非終端記号の有限集合 • ∑ 非終端記号の有限集合 • P 生成規則(有限) • S 開始記号
形式文法の例(文脈自由文法) G1=(N,∑,P,S) N={A,B} ∑={0,1} P={S→0A, A→1A, A→AB,B→0,A→1} S→0A→01A→01AB→0110 S→0A→01
Chomsky階層 1956 形式文法のクラス • 正則文法Regular Grammar • 文脈自由文法 Context Free Grammar • 文脈依存言語 Context-Sensitive Grammar • 句構造文法 Phrase Structure Grammar RG ⊂ CFG ⊂ CSG ⊂ PSG
正則言語 生成規則が次の形のもの • A → aB • C→b 例外として • S→ε(空文字列) 特長 有限性オートマトンと等価
正則言語の例 生成規則が次の形のもの • N={A,B,S} ∑={0,1} • P={ A → 1B,B→0,S→1A} 等価なオートマトン S → A → B → F 1 1 0 この言語は110を生成する
文脈自由文法 • 構成規則が以下のような形のもの A→a (A∈N,a∈(N∪∑)*) 例 N={A,B,S} ∑={0,1,2}のとき P={S→A、A→1、B→02,A→0B1} • プッシュダウンオートマトンとの関連
文脈依存文法 • 生成規則が以下のような形のもの βAγ → βaγ P={a、β、γ∈(N∪∑)* ,A ∈N,a≠ε} βとγの位置によってA→aが成立する • 線形高速オートマトン
句構造文法 • 構成規則が以下のような形のもの α→β P={α∈(N∪∑)* N(N∪∑)* ),β ∈(N∪∑)*} • 左辺に少なくとも一つの非終端記号があるだけ • チューリングマシンとの関連
正則文法と有限オートマトン • 正則便法と等価な有限オートマトンを構成できる • N={A,B} ∑={0,1} • P={ A → 1B,B→0,S→1A} S → A → B → F 1 10
正則文法における反復補題 直観的な理解 • 正則文法G1は有限オートマトンに変換できる • 有限オートマトンには有限の状態しかない • 長い文字列は必ず同じ状態に到達する • ループを何回回るような文もG1は受理する
正則文法における反復補題 • Lが正則言語なら、ある定数nが存在し、Lに属する長さがnまたはそれ以上のすべての語Wに対し次のような語X,Y,Zが存在する W=XYZ |XY|≦n |Y|≧1 K=1,2,3,… に対し XY*Z
正則文法における反復補題 S 0 A X 1 B 0 C Y 1 B 1 D Nの個数<|Z| Z 0 {S,A,B,C,D} 010110 必然的に重複する状態が出る
証明 • ある生成文字列長|N|に対し、同じ状態(生成規則)Fが複数( F1、F2 )存在する • 1~F1で生成される文字列をX、 F1+1~F2をY、 F2~NをZとする • 定義より| Y|≧1 • |XY|≦n • F1+1~F2はループを構成し何回も文字列を生成できる • XY*Z
正則言語における反復補題の意味 • 正則言語は反復定理の特長をもっている • ある言語をもってきて、それが反復定理をみたさなければ、正則言語ではない • 文脈自由言語についても反復定理が適用できる • ある条件を満たさなければ文脈自由言語ではない
参考文献 • Wikipedia • オートマトン・言語理論 富田悦次 横森 貴 森北出版株式会社基礎情報工学シリーズ5