形式言語 と オートマトン

15
形形形形 形形形形形形 形 13 形 形形形形形形形形形 形形形形形形形形形形形形 形形形形形

description

形式言語 と オートマトン. 第 13 回 鳥取大学工学研究科 情報エレクトロニクス 専攻 田中美栄子. 1. 本日 の予定. オートマトン と 形式文法 の 関係 を学ぶ. 形式言語とオートマトン. 1. 正規文法と有限オートマトンの対応. 正規文法 は 正規言語 (有限状態言語) を 生成 し、 有限オートマトン は 正規言語 (有限状態言語) を 識 別 する. 形式言語とオートマトン. 1. 正規文法と有限オートマトンの対応. オートマトンの遷移規則. q 0. q 1. a. q 2. q 1. a. q 2. q 0. - PowerPoint PPT Presentation

Transcript of 形式言語 と オートマトン

Page 1: 形式言語  と オートマトン

形式言語 と オートマトン

第 13 回鳥取大学工学研究科

情報エレクトロニクス専攻田中美栄子

Page 2: 形式言語  と オートマトン

形式言語とオートマトン

本日の予定

オートマトン と 形式文法 の

関係 を学ぶ 

1

Page 3: 形式言語  と オートマトン

正規文法と有限オートマトンの対応

形式言語とオートマトン

1正規文法は正規言語(有限状態言語)

を生成し、

有限オートマトンは正規言語(有限状態言語)

を識別する

Page 4: 形式言語  と オートマトン

正規文法と有限オートマトンの対応

形式言語とオートマトン

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  が対応。

Page 5: 形式言語  と オートマトン

正規文法と有限オートマトンの対応

10 aSS

21 aSS

aS2 aq1 q2

L={a3n} を受理する FSA

q0

a a

02 aSS

L={a3n} を生成する文法

aaaaaaaaaaaSaaaaSaaaSaaSaSS 210210

形式言語とオートマトン

1

Page 6: 形式言語  と オートマトン

対応:文法~言語~オートマトン

オートマトン(左)と文法(右)の対応する階層性

FSA

PDA

LBA

TM

正規文法

文脈自由文法

文脈依存文法

句構造文法

形式言語とオートマトン

1

Page 7: 形式言語  と オートマトン

正規表現による正規言語の表現

形式言語とオートマトン

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  

Page 8: 形式言語  と オートマトン

文脈自由文法

形式言語とオートマトン

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,…}

Page 9: 形式言語  と オートマトン

形式言語とオートマトン

3これは有限状態言語でない有限状態オートマトンを作ろうとすると                 無限個の状態が必要。

0 が n 個並んだ後に 1 が同じ個数 n 個並ぶように        しようとすると、何らかの記憶装置が必要。

無限集合ゆえ、ループを作る必要があるが、0 の部分に作ると 0 の数が不確定のものを受理する。1 の部分に作っても同じ。0 と 1 にまたがると結果として         0 の後に 1 が出るものも受理してしまう。

Page 10: 形式言語  と オートマトン

形式言語とオートマトン

4 CFGの例

問 

  G=(V,T,S,P)   P={S→0S0 | 1S1|00|11}                が生成する言

語は?

答 

  L={xxR| xは {0,1}* の元, |x|>0}

Page 11: 形式言語  と オートマトン

形式言語とオートマトン

4 注 意 点L= { 0n|n= 2 k,k>0 }を生成する文法は?

  G=<{S},{0},S,{S→SS,S→0}> は間違い

  G は例えば 000 も生成  L は CFG では不可       → Turing Machine が必要

Page 12: 形式言語  と オートマトン

• 全てのクラス i-0,1,2,3 に属する言語は、和、連結、* に対して閉じ

ている。• 文脈自由言語は補集合や交わりの元では閉じていない。• 交わりはドモルガンにより補集合と和で書けるから、 補集合に閉じれば交わりで

閉じる。• 正規言語は補集合の元で閉じている。• Type0 は補集合の元で閉じる。• Type1 は補集合の元で閉じることが 1988 判明した。        ( Neil Immerman 、 SIAM

J . Computing vol.17-5 )形式言語とオートマトン

5 閉  包  性

Page 13: 形式言語  と オートマトン

閉  包  性

1.有限状態言語は、和集合、補集合、連結、*積、積集合、などにおいて閉じている

2.文脈自由言語は補集合に於いて閉じていない、よって積集合に於いても閉じていない

反例は   L1={anbncm} 、 L2={ ambncn }

において二つの積集合は  L3={ anbncn }

であるが、これは文脈自由言語でない

形式言語とオートマトン

5

Page 14: 形式言語  と オートマトン

Chomsky 標準形

Chomsky 標準形  プロダクションルールが

       A→BC, または , A→a           (ここで S は開始記号 ,A,B,C は変数 a は終端記号)

任意の文脈自由文法 G に対して

  等価な Chomsky 標準形の文法が存在する

形式言語とオートマトン

6

Page 15: 形式言語  と オートマトン

Greibach 標準形

プッシュダウン・オートマトン( PDA)

               との関連性が見易い

生成規則が  A→aα  の形(Aは非終端記号、 a は終端記号、      α は終端記号と非終端記号からなる

列)形式言語とオートマトン

6