150 likes | 359 Views
形式言語 と オートマトン. 第 11 回 鳥取大学工学研究科 情報エレクトロニクス 専攻 田中美栄子. 1. 本日 の予定. オートマトン と 形式文法 の 関係 を学ぶ. 形式言語とオートマトン. 1. 正規文法と有限オートマトンの対応. 正規文法 は 正規言語 (有限状態言語) を 生成 し、 有限オートマトン は 正規言語 (有限状態言語) を 識 別 する. 形式言語とオートマトン. 1. 正規文法と有限オートマトンの対応. オートマトンの遷移規則. q 0. q 1. a. q 2. q 1. a. q 2. q 0.
E N D
形式言語 とオートマトン 第11回 鳥取大学工学研究科 情報エレクトロニクス専攻 田中美栄子
1 本日の予定 オートマトン と 形式文法 の 関係を学ぶ 形式言語とオートマトン
1 正規文法と有限オートマトンの対応 正規文法は正規言語(有限状態言語) を生成し、 有限オートマトンは正規言語(有限状態言語) を識別する 形式言語とオートマトン
1 正規文法と有限オートマトンの対応 オートマトンの遷移規則 q0 q1 a q2 q1 a q2 q0 a q2 a オートマトンの遷移規則 δ(q,a)=p があるときは、 文法の置換規則 Q→aP が対応。 但しpが終状態ならば Q→a が対応。 形式言語とオートマトン
1 正規文法と有限オートマトンの対応 q0 a a q1 q2 a L={a3n}を生成する文法 L={a3n0}を受理するFSA 形式言語とオートマトン
1 対応:文法~言語~オートマトン オートマトン(左)と文法(右)の対応する階層性 正規文法 FSA PDA 文脈自由文法 文脈依存文法 LBA TM 句構造文法 形式言語とオートマトン
2 正規表現による正規言語の表現 正規表現に書き換えると? L = {a3n |n>=0}= {aaa}* L =(a3)* L = {an |n>=0} = {a}* L =a* L={ab,ba} ={ab} U {ba}L=ab+ba L={aa}{a,b}*{bbb}L=a2(a+b)*b3 形式言語とオートマトン
3 文脈自由文法 • 文脈自由文法により生成される • オートマトンでなく文法で語るとき、 • G=(V,T,S,P) • V={A,B,C}, T={0,1}, S=A, P ={A→BC,A→BAC,B→0,C→1} • これから生成される言語は? • L={01,0011,000111,00001111,…} 形式言語とオートマトン
3 これは有限状態言語でない • 有限状態オートマトンを作ろうとすると • 無限個の状態が必要。 • 0がn個並んだ後に1が同じ個数n個並ぶように • しようとすると、何らかの記憶装置が必要。 • 無限集合ゆえ、ループを作る必要があるが、 • 0の部分に作ると0の数が不確定のものを受理する。 • 1の部分に作っても同じ。 • 0と1にまたがると結果として • 0の後に1が出るものも受理してしまう。 形式言語とオートマトン
4 • CFGの例 問 G=(V,T,S,P)P={S→010|1S1|ε} が生成する言語は? 答 L={xxR|xは{0,1}*の元} 形式言語とオートマトン
4 • 注 意 点 • L={0n|n=2k,k>0}を生成する文法は? • G=<{S},{0},S,{S→SS,S→0}>は間違い • Gは例えば000も生成 • LはCFGでは不可 • →Turing Machineが必要 形式言語とオートマトン
5 閉 包 性 • 全てのクラスi-0,1,2,3に属する言語は、和、連結、* に対して閉じている。 • 文脈自由言語は補集合や交わりの元では閉じていない。 • 交わりはドモルガンにより補集合と和で書けるから、 補集合に閉じれば交わりで閉じる。 • 正規言語は補集合の元で閉じている。 • Type0は補集合の元で閉じる。 • Type1は補集合の元で閉じることが1988判明した。 (Neil Immerman、SIAM J.Computing vol.17-5) 形式言語とオートマトン
5 閉 包 性 1.有限状態言語は、和集合、補集合、連結、*積、積集合、などにおいて閉じている 2.文脈自由言語は補集合に於いて閉じていない、よって積集合に於いても閉じていない 反例は L1={anbncm}、L2={ ambncn } において二つの積集合はL3={ anbncn } であるが、これは文脈自由言語でない 形式言語とオートマトン
6 Chomsky標準形 Chomsky標準形 プロダクションルールが S→λ,または, A→BC, または, A→a (ここでSは開始記号,A,B,Cは変数aは終端記号) 任意の文脈自由文法Gに対して 等価なChomsky標準形の文法が存在する 形式言語とオートマトン
6 Greibach標準形 プッシュダウン・オートマトン(PDA) との関連性が見易い 生成規則が A→aα の形 (Aは非終端記号、aは終端記号、 αは終端記号と非終端記号からなる列) 形式言語とオートマトン