形式言語 と オートマト 第8回 鳥取大学工学研究科 情報エレクトロニクス専攻 田中美栄子 本日の予定1 形式言語とオートマト 「有限状態言語=正規言語の生成規則」 としての正規文法 形式言語とオートマト 言語の生成装置としての形式文法 遷移規則:δ(p,a)=q 状態pにいて文字aを読めば 状態qに移る p a q 状態pにいて文字aを出力し、状態qに移る Sp aSq Sp = それまでの文生成の経過を記憶 aを出力 = Sqでその結果の経過を記憶 S a q 遷移先が受理状態ならそこでおしまい 形式言語とオートマト 言語の生成装置としての形式文法 S 0 aS1 S1 aS2 S2 → aS0 S2 a L={a3n}を生成する文法 q0 a q1 a a q2 L={a3n}を受理するFSA S0 aS1 aaS2 aaaS0 aaaaS1 aaaaaS2 aaaaaa 形式言語とオートマト 文 法 文法(grammar) G N, , P, S0 非終端記号(nonterminal) N {S0 , S1 , S2 } 終端記号(terminal) {a} 生成規則(production rule) P {p 0, p1 , p 2 , p 3 , p 4 } 初期記号(initial symbol) 形式言語とオートマト S0 対応:文法~言語~オートマト ン オートマトン(左)と文法(右)の対応する階層性 FSA 正規文法 PDA 文脈自由文法 LBA 文脈依存文法 TM 句構造文法 形式言語とオートマト 文法の種類 4つの言語のクラスの関係 形式言語とオートマト 文法の種類 4つの言語のクラスの関係 G1=<{S},{a,b},{S→aS, S→bS, S→a, Sb,},S> から生成する言語 L(G1)={a,b} 形式言語とオートマト + 文法の種類 G2=<{S},{a,b},{S → aSb, S → ab},S> 4つの言語のクラスの関係 から生成する言語 L(G2)={an,bn| n≧1 } 形式言語とオートマト G3=<{S},{a,b}, {S→aSBC aB→ab 文法の種類 S→aBC bB→bb が生成する言語 CB→AB bC→bc n n n L(G3)={a b c | n≧1} AB→AC cC→cc 4つの言語のクラスの関係 AC→BC}, S> 形式言語とオートマト 文法の種類 4つの言語のクラスの関係 ?????? 形式言語とオートマト 文法の種類 4つの言語のクラスの関係 形式言語とオートマト 文法の種類=まとめ= 形式文法 書き換え規則α→β上の制限 正則文法(正規文法) (3型) A→aBまたはA→aという形(文字aを読んでAに対応する状態か らBに対応する状態に遷移する有限状態オ-トマトンに対応する) ここで,A,B∈N,a∈T, 開始記号S 文脈自由文法 (2型) A→βという形をしている。ここで,A∈N, β∈(N∪T)* (文脈に依存することなく変数Aを単独で置き換えることができる) 文脈依存文法 (1型) γ1Aγ2→γ1βγ2,ここで,A∈N,γ1,γ2∈(N∪T)*,β∈(N∪T)+ (別の定義としては,|左辺|≤|右辺|) 句構造文法 (0型) 制限なし 形式言語とオートマト 形式言語とオートマト 文法例2(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) 形式言語とオートマト G N, , P, S0 N {S} {a, b} P {S aSa, S bSb, S aa, S bb} S0 S 文法例2(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) G N, , P, S0 N {S} {a, b} P {S aSa, S bSb, S aa, S bb} S0 S =導出= S aSa aaSaa aabSbaa aabaabaa L {ww | w {a, b} } R 形式言語とオートマト * 文法例2(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) 形式言語とオートマト G N, , P, S0 N {S} {a, b, c} P {S aSb, S ab, S c} S0 S 文法例2(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) G N, , P, S0 N {S} {a, b, c} P {S aSb, S ab, S c} S0 S =導出= S aSa abSba abaSaba abaaSaacaa ba L {wcw | w {a, b} } R 形式言語とオートマト * 文法例3(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) 形式言語とオートマト G N, , P, S0 N {S} {, } P = {S →< >, S → SS, S →< S >} S0 S 文法例3(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) G N, , P, S0 N {S} {, } P = {S →< >, S → SS, S →< S >} S0 S =導出= S S S SS S S L {ε,, , , ・・・ 形式言語とオートマト } 小テストです。 形式言語とオートマト
© Copyright 2024 ExpyDoc