1 / 21

形式言語とオートマトン 2010 ー第 7 日目ー

形式言語とオートマトン 2010 ー第 7 日目ー. 東京工科大学 コンピュータサイエンス学部 亀田弘之. 前回までの確認. 有限オートマトン (FA) FA の定義と記述法 テープ上を一方向に動くヘッド (テープ上の記号を順次読みながら内部状態を遷移) M = <K, Σ, δ, q 0 , F>  (5つ組) 状態遷移図 様相( configuration ) FA の種類 決定性 FA ( DFA ) 非決定性 FA ( ε 遷移のあるものとないもの) 言語認識能力はどの FA でも同じ。 正規言語(正規表現)を認識. 前回までの確認(2).

yosefu
Download Presentation

形式言語とオートマトン 2010 ー第 7 日目ー

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 形式言語とオートマトン2010ー第7日目ー 東京工科大学 コンピュータサイエンス学部 亀田弘之

  2. 前回までの確認 • 有限オートマトン(FA) • FAの定義と記述法 • テープ上を一方向に動くヘッド(テープ上の記号を順次読みながら内部状態を遷移) • M = <K, Σ, δ, q0, F>  (5つ組) • 状態遷移図 • 様相(configuration) • FAの種類 • 決定性FA(DFA) • 非決定性FA(ε遷移のあるものとないもの) • 言語認識能力はどのFAでも同じ。 • 正規言語(正規表現)を認識

  3. 前回までの確認(2) • 正規表現を認識するFAの存在とその構成法 • 正規表現αが与えられる。 • 正規表現αに対して、ε-NFA を構成する。 • ε-NFA をDFAに書き換える。 • DFAを状態数が最も少ない最簡形のDFA(Min-DFA)に書き換える。 • Min-DFAをシミュレートするプログラムを作成する。 (注)上記5の説明および、最簡形DFA存在とその求め方を   与えるMyhill-Nerodeの定理の説明はまだしていません。

  4. データ構造: ・配列(またはアレイ) ・リスト ・スタック ・キュー など 前回までの確認(3) • Pushudown automaton(PDA) • スタックの定義 • スタックの構造と動作(pop-up と push-down) • LIFO (Last-In First-Out) 型のメモリ • PDAの定義と記述法 • テープ上を一方向に動くヘッド+スタックメモリ(テープの記号を順次読み、スタック上の記号を順次 読み書きしながら内部状態を遷移) • M = < K, Σ, Γ,δ, q0, Z0, F >  (7つ組) • 状態遷移図 • 様相(configuration)

  5. 前回までの確認(4) スタックとPDAのイメージ図 Pop up Push down LIFO (Last In First Out) 最後に入れたものが最初に取り出される。

  6. 前回までの確認 • Pushdown automaton (PDA) • PDAの種類 • 決定性プッシュダウンオートマトンDeterministic pushdown automaton (DPDA) • 非決定性プッシュダウンオートマトンNondeterministic pushdown automaton (NPDA) • 言語認識能力はNPDAの方が高い。 • FAは正規言語(正規表現)を認識 • NPDAは文脈自由言語を認識 • DPDAよりもNPDAの方が言語認識能力大 (注)“言語”の話は後日お話します。

  7. 今日の内容 • チューリングマシン (Turing Machine)

  8. 授業ではこの形式のものを扱います

  9. TMの定義 • TM M = < Q, Γ, Σ, δ, q0, B, F > (7つ組) • Q:内部状態の集合 • Γ:テープ記号の集合 • Σ:入力記号の集合 ( Σ⊂ Γ ) • δ:状態遷移関数Q×Γ → Q×Γ×{ L, R } • q0:初期状態 ( q0 ∈ Q) • B:ブランク記号 ( B ∈ Γ – Σ) • F:最終状態の集合 ( F ⊂ Q )

  10. TMのイメージ図

  11. TM の例 • 例4.1(教科書p.90) • 例4.2(教科書p.95) • 例4.3(教科書p.96) • 例4.4(教科書p.100) • 例4.5(教科書p.106) これらを順次確認していきましょう。

  12. 例4.1(教科書p.90) • 入力文字列 • aa • aabb • bbaa • aaaabbbb

  13. 様相(Configuration)の導入 • (q0, a1 a2 a3 ・・・ ai-1 ↓ai ai+1・・・ an )

  14. M=<Q,Γ,Σ,δ,q0,B,F> Q={ q0, q1, q2, q3, qf } Σ={ a, b } Γ=Σ∪{a’,b’}∪{¢,$,B} δ:δ(q0,a)=(q1,a’,R)δ(q0,ab’=(q3,b’,R)δ(q1,a)=(q1,a,R) δ(q1,b)=(q2,b’,L) δ(q1,b’)=(q1,b’,R)δ(q2,a)=(q2,a,L)δ(q2,a’)=(q0,a’,R)δ(q2,b’)=(q2,b’,L)δ(q3,b’)=(q3,b’,R)δ(q3,$)=(qf,$,L) 例4.2(教科書p.95)

  15. 例4.3(教科書p.96) • 言語 { anbnan | n>=1 } を受理するTM

  16. 例4.3(教科書p.96)

  17. 例4.4(教科書p.100) • { ww | w ∈ { a, b }+} を受理するTM

  18. 例4.5(教科書p.106) • 2進数の和を計算するTM

  19. 今日はここまで • 少しずつ復習をしてください。 • 個々のものは決して難しくはありません。 • 引き続き頑張りましょう。 • 来週は少し難しいです。

More Related