350 likes | 468 Views
形式言語 と オートマトン. 第 4 回 鳥取大学工学研究科 情報エレクトロニクス 専攻 田中美栄子. 1. 本日 の予定. ・空動作を許すオートマトン ・ DFA と NFA の同等性 の2点について学ぶ. 形式言語とオートマトン. 1. 本日 の予定1. 空動作を許す オートマトン. 形式言語とオートマトン. 1. 空動作 とは ?. 空動作( ε-move )とは. 入力記号を 読まずに 状態遷移できる ( つまりいつでも遷移してよい). Q. ε. S. S. P. ε. ε. R. 形式言語とオートマトン. 1.
E N D
形式言語 とオートマトン 第4回 鳥取大学工学研究科 情報エレクトロニクス専攻 田中美栄子
1 本日の予定 ・空動作を許すオートマトン ・DFAとNFAの同等性 の2点について学ぶ 形式言語とオートマトン
1 本日の予定1 空動作を許す オートマトン 形式言語とオートマトン
1 空動作とは? 空動作(ε-move)とは • 入力記号を読まずに状態遷移できる • (つまりいつでも遷移してよい) Q ε S S P ε ε R 形式言語とオートマトン
1 空動作を許す、とは? ε q ε r 入力無しでも二つの状態q,rのどちらかに行ける 形式言語とオートマトン
状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合 空動作を許す場合も動作関数を拡張して五字組で表す 1 形式言語とオートマトン
1 • 空動作を許す場合の五字組 形式言語とオートマトン
1 空動作を許す場合の動作例 ・入力00に対するMの動作 ε ε 形式言語とオートマトン
1 空動作の動作例 ・入力00に対するMの動作 場合1 ε ε 場合2 入力記号を読まずに状態遷移 2通り存在する 形式言語とオートマトン
1 空動作の動作例 ・入力00に対するMの動作 場合1 ε ε 受理できる 形式言語とオートマトン
1 空動作の動作例 ・入力00に対するMの動作 ε これ以上遷移できない→受理できない ε 場合2 形式言語とオートマトン
1 空動作の動作例 ・入力00に対するMの動作 ε ε 入力語を読み終えたとき受理状態に到達する遷移が可能なので 入力語 00は受理される。 形式言語とオートマトン
1 空動作の動作例 ・入力110に対するMの動作 ε ε 入力語を読み終えたとき受理状態に到達する遷移が不可能なので 入力語 110は拒否される。 形式言語とオートマトン
1 空動作のまとめ 空動作とは,入力記号を読まなくてもできる状態遷移 状態遷移は様々な場合が存在する ε Q S R ε 形式言語とオートマトン 形式言語とオートマトン
2 本日の予定2 DFAとNFAの 同等性 形式言語とオートマトン
2 非決定性有限オートマトン(NFA) →決定性有限オートマトン(DFA) NFA(非決定性FSA) DFA(決定性FSA) a b a a {r} {r,s} {p,q,r} b b 形式言語とオートマトン
2 非決定性有限オートマトン(NFA) →決定性有限オートマトン(DFA) NFA(非決定性FSA) DFA(決定性FSA) 0 {q} 1 0 0,1 {∅} {p,q,r} 0 {r} 1 1 形式言語とオートマトン
2 DFAとNFAの同等性 教科書P.47 【例2.6】を読みましょう。 実際に図2.9を図2.13に変換してみよう。 ※アルゴリズム2.1をじっくり読めば理解できます。 形式言語とオートマトン
2 DFAとNFAの同等性 1. の状態の集合に応じての状態をつくる 2. において入力を読まずに遷移できる状態を 初期状態とする 3. の受理状態を含む状態をの受理状態とする 4. 教科書を読んでもわかりにくい・・・ 形式言語とオートマトン
2 DFAとNFAの同等性 1. の状態の集合に応じての状態をつくる 2. において入力を読まずに遷移できる状態を 初期状態とする 3. の受理状態を含む状態をの受理状態とする 4. 教科書を読んでもわかりにくい・・・ 形式言語とオートマトン
2 DFAとNFAの同等性 要は入力によって何処に遷移するかを見るだけ!! rにaが入力された場合 r又はsに遷移する ⇒ {r,s}という名前を持つ状態に遷移すると考える 形式言語とオートマトン
2 DFAとNFAの同等性 要は入力によって何処に遷移するかを見るだけ!! rにaが入力された場合 r又はsに遷移する ⇒ {r,s}という名前を持つ状態に遷移すると考える 形式言語とオートマトン
2 DFAとNFAの同等性 要は入力によって何処に遷移するかを見るだけ!! {r,s}にaが入力された場合 r又はs 又は t に遷移する ⇒ {r,s,t}という名前の状態に遷移すると考える 初期状態から到達できる状態だけで良い 形式言語とオートマトン
2 • NFA→DFA 遷移先がない場合も複数ある場合もある 遷移先が 一意に決定 a b a a {r} {r,s} {p,q,r} b b 形式言語とオートマトン
2 NFAを同等なDFAに 書き換えるアルゴリズム 教科書P.50 【例2.7】を読みましょう。 実際に図2.11を図2.14に変換してみよう。 ※アルゴリズム2.2をじっくり読めば理解できます。 形式言語とオートマトン
2 • 空動作のある場合 1. 初期状態の構成 入力を読まなくてもq, rに遷移可能 初期状態 {p,q,r} 形式言語とオートマトン
2 • 空動作のある場合 1. 初期状態の構成 DFAの初期状態は {p.q.r} となる NFAの初期状態pから入力なしで q または r に遷移できる {p,q,r} 形式言語とオートマトン
2 • 空動作のある場合 1. 初期状態の構成 NFAの初期状態pから入力なしで q または r に遷移できる DFAの初期状態は {p.q.r} となる {p,q,r} 形式言語とオートマトン
2 • 空動作のある場合 2. アルゴリズム2.1と同様に状態遷移をつくる {p,q,r} 形式言語とオートマトン
2 • 空動作のある場合 2. アルゴリズム2.1と同様に状態遷移をつくる 0 {q} 1 0 0,1 ∅ {p,q,r} 0 {r} 1 1 形式言語とオートマトン
2 • 空動作のある場合 3. 受理状態を含む部分集合に対応する状態を 受理状態とする 0 {q} 1 0 0,1 ∅ {p,q,r} 0 {r} 1 1 形式言語とオートマトン
2 • 空動作のある場合 3. 受理状態を含む部分集合に対応する状態を 受理状態とする 0 {q} 1 0 0,1 ∅ {p,q,r} 0 {r} 1 1 形式言語とオートマトン
2 • NFA→DFA 遷移先が一意に決定 遷移先が不確定 0 {q} 1 0 ∅ 0,1 {p,q,r} 0 {r} 1 1 形式言語とオートマトン
2 DFAとNFAの同等性まとめ ・決定性有限オートマトン(DFA) 同等(同じ仕事をする) ・非決定性有限オートマトン(NFA) ・空動作を許す非決定性有限オートマトン(NFA) アルゴリズム2.1や2.2を使って書き換えられる 形式言語とオートマトン
3 頭の整理のために 小テストを行いましょう。 形式言語とオートマトン