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

21
形形形形形形形形形形形 2010 形形 7 形形形 形形形形形形 形形形形形形形形形形形形形 形形形形

Upload: yosefu

Post on 14-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

形式言語とオートマトン2010

ー第 7 日目ー東京工科大学

コンピュータサイエンス学部亀田弘之

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

前回までの確認• 有限オートマトン (FA)

– FA の定義と記述法テープ上を一方向に動くヘッド

(テープ上の記号を順次読みながら内部状態を遷移)

M = <K, Σ, δ, q0, F>  (5つ組)状態遷移図様相( configuration )

– FA の種類決定性 FA ( DFA )非決定性 FA ( ε 遷移のあるものとないもの)

– 言語認識能力はどの FA でも同じ。正規言語(正規表現)を認識

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

前回までの確認(2)

• 正規表現を認識する FA の存在とその構成法1. 正規表現 α が与えられる。2. 正規表現 α に対して、 ε-NFA を構成する。3. ε-NFA を DFA に書き換える。4. DFA を状態数が最も少ない最簡形の DFA

(Min-DFA) に書き換える。5. Min-DFA をシミュレートするプログラムを作

成する。(注)上記5の説明および、最簡形 DFA 存在とその求め方を   与える Myhill-Nerode の定理の説明はまだしていません。

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

前回までの確認(3)• Pushudown automaton(PDA)

– スタックの定義スタックの構造と動作( pop-up と push-down )LIFO (Last-In First-Out) 型のメモリ

– PDA の定義と記述法テープ上を一方向に動くヘッド+スタックメモリ

(テープの記号を順次読み、スタック上の記号を順次 読み書きしながら内部状態を遷移)

M = < K, Σ, Γ,δ, q0, Z0, F >  (7つ組)状態遷移図様相( configuration )

データ構造:

・配列(またはアレイ)

・リスト

・スタック

・キュー など

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

スタックと PDA のイメージ図

Push down Pop up

LIFO (Last In First Out)

最後に入れたものが最初に取り出される。

前回までの確認(4)

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

前回までの確認• Pushdown automaton (PDA)

– PDA の種類決定性プッシュダウンオートマトン

Deterministic pushdown automaton (DPDA)非決定性プッシュダウンオートマトン

Nondeterministic pushdown automaton (NPDA)

– 言語認識能力は NPDA の方が高い。FA は正規言語(正規表現)を認識NPDA は文脈自由言語を認識DPDA よりも NPDA の方が言語認識能力大

(注)“言語”の話は後日お話します。

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

今日の内容

• チューリングマシン (Turing Machine)

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

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

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

TM の定義

• TM M = < Q, Γ, Σ, δ, q0, B, F > (7 つ組 )– Q: 内部状態の集合– Γ :テープ記号の集合– Σ :入力記号の集合 ( Σ Γ )⊂– δ :状態遷移関数

Q×Γ → Q×Γ×{ L, R }– q0 :初期状態 ( q0 Q)∈– B: ブランク記号 ( B Γ – Σ)∈– F: 最終状態の集合 ( F Q )⊂

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

TM のイメージ図

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

TM の例• 例 4.1 (教科書 p.90 )• 例 4.2 (教科書 p.95 )• 例 4.3 (教科書 p.96 )• 例 4.4 (教科書 p.100 )• 例 4.5 (教科書 p.106 )

これらを順次確認していきましょう。

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

例 4.1 (教科書 p.90 )

入力文字列

• aa

• aabb

• bbaa

•aaaabbbb

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

様相 (Configuration) の導入

• (q0, a1 a2 a3 ・・・ ai-1 ↓ai ai+1 ・・・ an )

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

例 4.2 (教科書 p.95 )

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)

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

例 4.3 (教科書 p.96 )

• 言語 { anbnan | n>=1 } を受理する TM

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

例 4.3 (教科書 p.96 )

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

例 4.4 (教科書 p.100 )

• { ww | w { a, b }∈ + } を受理する TM

Page 18: 形式言語とオートマトン 2010 ー第 7 日目ー
Page 19: 形式言語とオートマトン 2010 ー第 7 日目ー

例 4.5 (教科書 p.106 )

• 2 進数の和を計算する TM

Page 20: 形式言語とオートマトン 2010 ー第 7 日目ー
Page 21: 形式言語とオートマトン 2010 ー第 7 日目ー

今日はここまで

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