形式言語 と オートマトン
-
Upload
christopher-roy -
Category
Documents
-
view
46 -
download
0
description
Transcript of 形式言語 と オートマトン
形式言語 と オートマトン
第 13 回鳥取大学工学研究科
情報エレクトロニクス専攻田中美栄子
形式言語とオートマトン
本日の予定
オートマトン と 形式文法 の
関係 を学ぶ
1
正規文法と有限オートマトンの対応
形式言語とオートマトン
1正規文法は正規言語(有限状態言語)
を生成し、
有限オートマトンは正規言語(有限状態言語)
を識別する
正規文法と有限オートマトンの対応
形式言語とオートマトン
110 aSS
21 aSS
aS2
q1
q2
q0a
02 aSS
オートマトンの遷移規則
q1
a
a
a
q2
q2
q0
オートマトンの遷移規則 δ ( q,a)=p があるときは、文法の置換規則 Q→aP が対応。但し p が終状態ならば Q→a が対応。
正規文法と有限オートマトンの対応
10 aSS
21 aSS
aS2 aq1 q2
L={a3n} を受理する FSA
q0
a a
02 aSS
L={a3n} を生成する文法
aaaaaaaaaaaSaaaaSaaaSaaSaSS 210210
形式言語とオートマトン
1
対応:文法~言語~オートマトン
オートマトン(左)と文法(右)の対応する階層性
FSA
PDA
LBA
TM
正規文法
文脈自由文法
文脈依存文法
句構造文法
形式言語とオートマトン
1
正規表現による正規言語の表現
形式言語とオートマトン
2正規表現に書き換えると?
L = {a3n | n>=0} = {aaa}* L = (a3)*
L = {an | n>=0} = {a}* L = a*
L={ab,ba} ={ab} U {ba} L=ab+baL={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→0S0 | 1S1|00|11} が生成する言
語は?
答
L={xxR| xは {0,1}* の元, |x|>0}
形式言語とオートマトン
4 注 意 点L= { 0n|n= 2 k,k>0 }を生成する文法は?
G=<{S},{0},S,{S→SS,S→0}> は間違い
G は例えば 000 も生成 L は CFG では不可 → Turing Machine が必要
• 全てのクラス 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 }
であるが、これは文脈自由言語でない
形式言語とオートマトン
5
Chomsky 標準形
Chomsky 標準形 プロダクションルールが
A→BC, または , A→a (ここで S は開始記号 ,A,B,C は変数 a は終端記号)
任意の文脈自由文法 G に対して
等価な Chomsky 標準形の文法が存在する
形式言語とオートマトン
6
Greibach 標準形
プッシュダウン・オートマトン( PDA)
との関連性が見易い
生成規則が A→aα の形(Aは非終端記号、 a は終端記号、 α は終端記号と非終端記号からなる
列)形式言語とオートマトン
6