計算の理論 I -プッシュダウンオートマトン-

Slides:



Advertisements
Similar presentations
システムソフトウェア 第3回:2007年10月17日(水)   . 2 本日学ぶこと 文法  文字と文字列  無限集合  文法とそのクラス  オートマトン.
Advertisements

和田俊和 資料保存場所 /2/26 文法と言語 ー正規表現とオートマトンー 和田俊和 資料保存場所
計算の理論 I -言語とオートマトン- 月曜3校時 大月 美佳.
計算の理論 I 文脈自由文法 月曜3校時 大月 美佳 平成15年6月30日 佐賀大学知能情報システム学科.
コンパイラ 2011年10月17日
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 II NP完全 月曜4校時 大月美佳.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
スタック長の 特徴付けによる 言語の非DCFL性 証明
コンパイラ 2012年10月15日
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
第2章 「有限オートマトン」.
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
正則言語 2011/6/27.
形式言語の理論 5. 文脈依存言語.
計算の理論 II 等価性と標準形 月曜4校時 大月美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 II 帰納的関数 月曜4校時 大月美佳.
計算の理論 II 帰納的関数2 月曜4校時 大月美佳.
計算の理論 I 正則表現 火曜3校時 大月 美佳 平成16年6月8日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I 正則表現 月曜3校時 大月 美佳 平成15年6月9日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
計算の理論 II Turing機械 月曜4校時 大月美佳.
Macro Tree Transducer の 型検査アルゴリズム
計算の理論 I -言語とオートマトン- 月曜3校時 大月 美佳.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
計算の理論 II 計算量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 文脈自由文法の標準形 月曜3校時 大月美佳.
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー閉包性ー 月曜3校時 大月 美佳.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー正則表現とFAの等価性 その1ー
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
文法と言語 ー文脈自由文法とLR構文解析ー
計算の理論 I 反復補題 月曜3校時 大月 美佳 平成15年7月14日 佐賀大学知能情報システム学科.
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
ミニテスト12解答 月曜3校時 大月 美佳.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I 文脈自由文法 月曜3校時 大月美佳.
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
非決定性有限オートマトン 状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合.
計算の理論 I -講義について+αー 火曜3校時 大月美佳 平成31年8月23日 佐賀大学理工学部知能情報システム学科.
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
計算の理論 II 時間量と領域量 月曜4校時 大月美佳 2019/9/13 佐賀大学理工学部知能情報システム学科.
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

計算の理論 I -プッシュダウンオートマトン- 月曜3校時 大月美佳

連絡事項 今日はレポートの回収日 提出期限:平成14年7月8日(月)今日 提出場所:AV講義室 授業終了時に回収 欠席等で提出できなかった者は理由を明記の上 レポートボックス9番へ(7月15日まで)

今日の講義内容 前回の補充 ε生成規則の消去の意味

ε生成規則の消去法 G´= (N´, T, P´, S´)の構成法 N´=N∪{S´} (S´∈N) P´は次の生成規則より成る ε∈L(G)ならばS´→εは生成規則である。 S´→Sは生成規則である。 A→α1A1α2…αkAkαk+1 ∈P, Ai∈N∪T (1≦i≦k), αi∈Nn*ならば A→A1…Akは生成規則である(k≧1)。

ε生成規則の消去法つづき ここで、Niは次のように定義される。 n=|N|, i=1, …, n N1={A|A→ε∈P} Ni+1=Ni∪{A|A→α∈P, α∈ Ni *}

ε生成規則の消去対象 G=(N, T, P, S)を以下のようであるとする。 2つのε生成規則( B→εとC→ε)を持ち N={S, A, B, C}, T={a, b, c}, P={S→AB, A→ABAC|B|a, B→C|b|ε, C→B|c|ε} 2つのε生成規則( B→εとC→ε)を持ち ε∈ L(G)である。 S⇒AB⇒BB⇒εB⇒εε⇒εなど

ε生成規則の消去の意味 (i)で ε∈L(G)の時に (ii)で他の生成規則への道のりをつける その生成規則をS´→εだけにする (ii)で他の生成規則への道のりをつける S´→S (iii)で他の生成規則をε生成規則がなくても良いように増やす

Niの意味 εが現れえる規則をしらみつぶし n=|N|:非終端記号の数だけ N1={A|A→ε∈P} εになる非終端記号1個を探す B→ε、C→εの2つ ∴N1={B, C} Ni+1=Ni∪{A|A→α∈P, α∈ Ni *} 前の集合に含まれる非終端記号の閉包を生成する規則 A→B、∴N2={A, B, C} S→AB、∴N3={S, A, B, C}= N4

ε生成規則の消去の影響 例えばA→ABACについて 単にε生成規則を削ってしまうと A⇒ABAC⇒BBAC⇒εBAC⇒εεAC のような語が生成されなくなる。 これを補うために 生成規則を増やす必要がある。

ε生成規則の消去を補う ABACのうち、どれもがεに変わりうる。 ABAC (A)BAC, A(B)AC, AB(A)C, ABA(C)

プッシュダウンオートマトン (pushdown automaton) B ヘッド PDA=FA+プッシュダウンストア プッシュダウンストア(スタック) 記号列を記憶している プッシュダウンヘッドが一番上の記号を指す 一番上の記号(トップ記号)のみ読める 2つの操作 プッシュ(push): 新たな記号列を積む ポップ(pop): トップ記号を取り除く

PDAの定義 プッシュダウンオートマトン (pushdown automaton (pda)) M=(Q, Σ, Γ, δ, q0, Z0, F) Q: 状態の有限集合。 Σ:入力アルファベット。 Γ: プッシュダウンストアのアルファベット δ: 遷移関係=遷移の集合 Q×(Σ∪{ε})×Γ×Q×Γ*の有限部分集合。 (q, a, Z, p, α) ∈δのとき、(p, α) ∈δ(q, a, Z)と書く。 q0: 初期状態、q0∈Q Z0: 初期記号、 Z0∈Γ F: 最終状態の集合、 F⊆Q

PDAの模式図 入力 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 有限 制御部 アルファベット アルファベット 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 有限 制御部 アルファベット アルファベット A, BΓ 0, 1Σ 遷移関数δ A B 有限状態系 最終状態の集合 qx F q0, qx, qf Q Z0 qf q0 状態の集合 初期記号 初期状態

計算状態 (configuration) 計算状態とは、 PDA M=(Q, Σ, Γ, δ, q0, Z0, F)に対して、 状態q∈Q, 入力w∈Σ*, 記号列α∈Γ* から成る組 (q, w, α) 読み残し w=10110011010 q 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 有限 制御部 A B プッシュダウン ストアの内容 α=ABAAA

├M ├M の定義 Q×Σ*×Γ*からQ×Σ*×Γ*への関係 (q, ax, Zα) ├M (p, x, βα) ⇔ (p, β)∈δ(q, a, Z) p, q∈Q, a∈Σ∪{ε}, Z∈Γ, α,β∈Γ* 読み方: 遷移(p, β)∈δ(q, a, Z)によって、 計算状態(q, ax, Zα) から(p, x, βα)に動作する。

ε動作 (ε-move) 遷移(p, β)∈δ(q, a, Z)において、a=εのとき、入力記号を読み込まずに動作すること。 (q, x, Zα) ├M (p, x, βα) Zがポップされ、βがプッシュされる。 プッシュダウンストアが空のときは動作は起こらない。

PDAの例 PDA M=(Q, Σ, Γ, δ, q0, Z0, F) Q={q0, q1, q2}, Σ={0, 1}, Γ={Z0, 0, 1}, F={q2} δを右表とする。 q a Z δ(q, a, Z) q0 Z0 {(q0, 0Z0), (q1, 0Z0)} 1 {(q0, 1Z0), (q1, 1Z0)} {(q0, 00), (q1, 00)} {(q0, 01), (q1, 01)} {(q0, 10), (q1, 10)} {(q0, 11), (q1, 11)} q1 {(q1, ε)} ε {(q2, ε)}

例の動作 (q0, 0100101, Z0) ├M (q0, 100101, 0Z0) ├M (q0, 00101, 10Z0) a Z δ(q, a, Z) q0 Z0 {(q0, 0Z0), (q1, 0Z0)} 1 {(q0, 1Z0), (q1, 1Z0)} {(q0, 00), (q1, 00)} {(q0, 01), (q1, 01)} {(q0, 10), (q1, 10)} {(q0, 11), (q1, 11)} q1 {(q1, ε)} ε {(q2, ε)}

├M、 ├M ├M 省略形 t * =├M の反射的かつ推移的閉包 =(p0, w0, α0 )├M (p1, w1, α1 )├M …├M (pt, wt, αt ) t: 計算のステップ数 省略形 ├、 ├ * t t *

2種類の受理 最終状態によって受理 最終状態と空ストアによって受理 入力wに対して、q∈Qとγ∈Γ*が存在して (q0, w, Z0)├M (q, ε, γ) L(M): 最終状態によって受理される記号列の集合 最終状態と空ストアによって受理 入力wに対して、q∈Qが存在して (q0, w, Z0)├M (q, ε, ε) N(M): 最終状態と空ストアによって受理される記号列の集合

受理の例 (q0, 0110, Z0) ├M (q0, 110, 0Z0) ├M (q1, 10, 10Z0) a Z δ(q, a, Z) q0 Z0 {(q0, 0Z0), (q1, 0Z0)} 1 {(q0, 1Z0), (q1, 1Z0)} {(q0, 00), (q1, 00)} {(q0, 01), (q1, 01)} {(q0, 10), (q1, 10)} {(q0, 11), (q1, 11)} q1 {(q1, ε)} ε {(q2, ε)} 0110∈L(M)かつ0110∈N(M) L(M)=N(M)={wwR|w∈{0,1}*} wRはwの反転

2つの受理は同値 言語L⊆Σ*に対して、次の(1)(2)は同値 あるPDA Mに対してL=L(M)となる。 あるPDA Mに対してL=N(M)となる。

証明ステップ a L(M)なMから変換 L=L(M)なM=(Q, Σ, Γ, δ, q0, Z0, F) から、M´=(Q∪{f}, Σ, Γ, δ´, q0, Z0, {f}) を作る。 δ´はδに次の遷移を加えたもの。 (q, α)∈δ(p, a, Z)かつq∈Fのとき、 (f, α)∈δ´(p, a, Z) (ii) すべてのZ∈Γに対して(f, ε)∈δ´(f, ε, Z)

変換の意味 a 新最終状態 f f ε α q0 p q … α Z … 最終状態 の集合F

証明ステップ b N(M´)なM´から変換 L=N(M´)なM=(Q´, Σ´, Γ´, δ´, q0´, Z0´, F´) から、M=(Q, Σ, Γ, δ, q0, S, F) を作る。 Q=Q´∪{q0, f} (ただしq0, f∈Q) Γ=Γ´∪{S}  (ただしS∈Γ´) F={f} δはδ´に次の遷移を加えたもの。 δ(q0, ε, S)={(q0´, Z0´S)} δ(p, ε, S)={(f, ε)}  ただしp∈F´

変換の意味 b 最終状態 の集合F´ 新最終状態F f ε w ε q0 q0´ p Z0´ S S S γ γ γ γ … … … …

今日のミニテスト は無し レポート提出で替える レポートを提出できない人は前へ レポート提出したら帰って良し