2012 6
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

形式言語とオートマトン 2012 ー第 6 日目ー PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

形式言語とオートマトン 2012 ー第 6 日目ー

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


2012 6

形式言語とオートマトン2012ー第6日目ー

東京工科大学

コンピュータサイエンス学部

亀田弘之


2012 6

前回までの確認

  • 有限オートマトン(FA)

    • FAの定義と記述法

      • テープ上を一方向に動くヘッド(テープ上の記号を読みながら、内部状態を変えていく)

      • M = <K, Σ, δ, q0, F>

      • 状態遷移図

    • FAの種類

      • 決定性FA(DFA)

      • 非決定性FA(ε遷移のあるものとないもの)

    • 言語認識能力はどのFAでも同じ。

      • 正規言語(正規表現)を認識可能。


2012 6

前回までの確認(2)

  • 正規表現を認識するFAの存在とその構成法

    • 正規表現αが与えられる。

    • 正規表現αに対して、ε-NFA を構成する。

    • ε-NFA をDFAに書き換える。

    • DFAを状態数最少のDFAに書き換える。

    • Min-DFAをシミュレートするプログラムを作成する。


2012 6

確認問題集

  • (少しずつこなしていってください。)


2012 6

a

p

a

q

b

r

a

b

b

確認問題1

  • (オートマトンの定義)次の状態遷移図で与えられるオートマトンを、 M=<K,Σ,δ,q0, F> の5つ組で記述しなさい。


2012 6

確認問題

  • 前問のオートマトンの動作のトレース

    • 次の文字列のうち、前問のオートマトンMが受理するのはどれとどれですか?

      • aabba

      • bababbb

      • aaaa

      • bbba


2012 6

確認問題

  • 下図のε-NFAをDFAに書き換えなさい。

a

b

b

ε

ε

ε

a

b

c

c

ε


2012 6

確認問題

  • DFAからmin-DFAを求める手順について述べなさい。(理論的根拠は、後日お話します。Myhill-Nerodeの定理がポイントになりす。)


2012 6

確認問題

  • (正規表現を受理するmin-DFAを求める)

      次の正規表現を受理するmin-DFAを求めよ。

    • (ab|bc)*a(b|c)

    • (a|b|ε)(ab|b)*bc

    • (a|b)*a(a|b)


2012 6

さて、…


2012 6

今日の話題

  • FAの様相(configuration)(第2章の補足)

  • プッシュダウンオートマトン(pushdown automaton)(第3章の話)


2012 6

FAの様相

  • FAの動作の様子・状況を様相(configuration)という。

  • 動作開始時の様相を特に、初期様相という。


2012 6

様相の表現

入力文字列

入力文字列の末尾


2012 6

様相表現の例

  • (具体例で理解しよう)教科書p.36 問2.1


Fa m k q 0 f

1

0

q

0

1

p

0

r

1

FA M = <K, Σ, δ, q0, F>


Fa m k q 0 f1

1

0

q

0

1

p

0

r

1

FA M = <K, Σ, δ, q0, F>

様相(p, 11010) |- (q,1010) |- (q,010) |- (q,10) |- (q, 0) |- (q, ε)

(p,11010) |*- (q,ε) <= Mは入力文字列 11010 を受理


2012 6

  • 様相(configuration)という用語は、本を読んでいると時々出てきます。

  • オートマトンの動作状況を表現する単なる1つの方法にすぎません。でも、便利ですよね。


2012 6

自主練習

教科書p.58の【演習問題】にチャレンジしてください。


2012 6

ここから新しい話し

Let’s get down to today’s topics.

  • (第3章に入ります)


2012 6

プッシュダウンオートマトン

  • 有限オートマトンにプッシュダウンスタックメモリを追加装備したもの。

  • Pushdown automaton (PDA)


2012 6

プッシュダウンスタック

  • 歴史的view:

    • 初期の頃:プッシュダウン型スタックメモリ(特殊なハードウェアと考えていた)

    • 現在:「スタック」は基本的なデータ構造の1つと考えられている。プッシュダウンスタックとは言わず、スタックと呼ぶことが多い。

データ構造:

・配列(またはアレイ)

・リスト

・スタック

・キュー など

続きは「データ構造とアルゴリズム」で。


2012 6

プッシュダウンスタックのイメージ

Pop up

Push down

LIFO (Last In First Out)

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


2012 6

PDAの種類

  • 決定性プッシュダウンオートマトン

    Deterministic pushdown automaton (DPDA)

  • 非決定性プッシュダウンオートマトン

    Nondeterministic pushdown automaton (NPDA)


Dpda m

DPDA Mの定義

  • M = <K, Σ, Γ, δ, q0, Z0, F>

    • K:内部状態の集合 (#K < ∞)

    • Σ:入力アルファベット (#Σ < ∞)

    • Γ:プッシュダウンアルファベット(#Γ < ∞)

    • δ:状態遷移関数

      K×(Σ∪{ε})×Γ → K×Γ*

    • q0:初期状態 (q0 ∈K )

    • Z0:ボトムマーカ ( Z0∈Γ)

    • F:最終状態 ( F ⊂ K )


Dpda m1

DPDA Mの定義

  • M = <K, Σ, Γ, δ, q0, Z0, F>

    • K:内部状態の集合 (#K < ∞)

    • Σ:入力アルファベット (#Σ < ∞)

    • Γ:プッシュダウンアルファベット(#Γ < ∞)

    • δ:状態遷移関数

      K×(Σ∪{ε})×Γ → K×Γ*

    • q0:初期状態 (q0 ∈K )

    • Z0:ボトムマーカ( Z0∈Γ)

    • F:最終状態 ( F ⊂ K )


2012 6

ハードウェア構成でのイメージ


Dfa dpda

DFA と DPDA

類似点と相違点

類似点:相違点:

・入力テープ・プッシュダウンスタックメモリ

 (左から右へ読み込むだけ)

・ヘッドとその内部状態


2012 6

研究

  ハードウェア構成でのイメージ

なぜ、プッシュダウンスタック?


2012 6

研究テーマ

内部処理装置

記憶装置

入力記号列


2012 6

難しいことはさておいて…

  • (例を見てみましょう)教科書p.68例3.1


Dpda m2

DPDA Mの例

  • M = <K, Σ, Γ, δ, q0, Z0, F>

    • K内部状態の集合 = { q0, q1, q2 } (#K < ∞)

    • Σ入力アルファベット = { a, b } (#Σ < ∞)

    • Γプッシュダウンアルファベット = { A, Z0 }(#Γ< ∞)

    • δ:状態遷移関数

      K×(Σ∪{ε})×Γ → K×Γ*

    • q0 初期状態 = q0 (q0 ∈K )

    • Z0:ボトムマーカ ( Z0∈Γ)

    • F:最終状態 F = { q2 } ⊂ K


2012 6

δ:状態遷移関数


Dpda m3

DPDA Mの例

  • M = <K,Σ,Γ,δ,q0,Z0, F>

    • K = { q0, q1, q2 }

    • Σ = { a, b }

    • Γ = { A, Z0 }

    • δ:状態遷移関数

    • q0 :初期期状態

    • Z0:ボトムマーカ

    • F = { q2 }⊂ K


2012 6

動作のトレース

  • (q0, aaabbb, Z0)|- (q0, aabbb, AZ0) |- (q0, abbb, AAZ0)|- (q0, bbb, AAAZ0)|- (q1, bb, AAZ0)|- (q1, b, AZ0) |- (q1, ε, Z0)|- (q2, ε, Z0)

  • |- (q0, aab, Z0)|- (q0, ab, AZ0)|- (q0, b, AAZ0)|- (q0, ε, AZ0)

受理

拒否


2012 6

状態遷移図


2012 6

動作のトレース

自分で確認しよう

  • (q0, aaabbb, Z0)|- (q0, aabbb, AZ0) |- (q0, abbb, AAZ0)|- (q0, bbb, AAAZ0)|- (q1, bb, AAZ0)|- (q1, b, AZ0) |- (q1, ε, Z0)|- (q2, ε, Z0)

  • |- (q0, aab, Z0)|- (q0, ab, AZ0)|- (q0, b, AAZ0)|- (q1, ε, AZ0)

受理

拒否


2012 6

練習

  • 教科書のp.71 問題3.1の DPDA の動作をいろいろな入力に対して調べてみよう。


2012 6

非決定性プッシュダウンオートマトン

  • DPDAでの状態遷移関数部分が1対多の写像になる。


D pda m

DPDA Mの定義(再)

  • M = <K, Σ, Γ, δ, q0, Z0, F>

    • K:内部状態の集合 (#K < ∞)

    • Σ:入力アルファベット (#Σ < ∞)

    • Γ:プッシュダウンアルファベット(#Γ < ∞)

    • δ:状態遷移関数

      K×(Σ∪{ε})×Γ → K×Γ*

    • q0:初期状態 (q0 ∈K )

    • Z0:ボトムマーカ ( Z0∈Γ)

    • F:最終状態 ( F ⊂ K )


N pda m

NPDA Mの定義(再)

  • M = <K, Σ, Γ, δ, q0, Z0, F>

    • K:内部状態の集合 (#K < ∞)

    • Σ:入力アルファベット (#Σ < ∞)

    • Γ:プッシュダウンアルファベット(#Γ < ∞)

    • δ:状態遷移関数

      K×(Σ∪{ε})×Γ → 2K×Γ*

    • q0:初期状態 (q0 ∈K )

    • Z0:ボトムマーカ ( Z0∈Γ)

    • F:最終状態 ( F ⊂ K )


Dpda m4

DPDA Mの例

  • M = <K, Σ, Γ, δ, q0, Z0, F>

    (教科書p.73の例3.2)


Npda m

NPDA Mの例

  • M = <K,Σ,Γ,δ,q0,Z0, F>

    • K = {q0,q1,q2,q3,q4,qf }

    • Σ = { a, b, c }

    • Γ = { A, Z0 }

    • δ:状態遷移関数

    • q0 :初期状態

    • Z0:ボトムマーカ

    • F = { qf }⊂ K


2012 6

状態遷移図


2012 6

今日の設問(1番だけ提出)

  • (q0, aaabbbcc, Z0) |*- ?

  • aaabbbcc は受理されるか?される場合は、その動作の様子を様相表現で示しなさい。

  • aabbbccc は受理されるか?


2012 6

ここまでのまとめ

  • プッシュダウンスタック

  • プッシュダウンオートマトン

    • 決定性

    • 非決定性

  • PDAはFAを含む(PDAはFAよりも文字列認識能力は高い。) <=(Why?)

  • DPDA は NPDA よりも能力は低い。(証明はしませんが、事実です。)


2012 6

次回は、チューリングマシンです。

  • チューリングマシンは、アルゴリズムや計算に関する理論の基礎を与えてくれます。

  • チューリングマシンと、認識可能な言語との対応(チョムスキー階層)の話しもやがて出てきます(第5章)。

  • 線形拘束オートマトン(線形有界オートマトン)も今後導入します。

  • 計算量・計算の複雑さなどの話題にも触れましょう。  お楽しみに!


2012 6

ここまで積み残してきているもの

  • Myhill-Nerodeの定理

  • (DFAにおける)ポンピング補題 など


  • Login