スタック長の 特徴付けによる 言語の非DCFL性 証明

Slides:



Advertisements
Similar presentations
プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
Advertisements

システムソフトウェア 第3回:2007年10月17日(水)   . 2 本日学ぶこと 文法  文字と文字列  無限集合  文法とそのクラス  オートマトン.
計算の理論 I -言語とオートマトン- 月曜3校時 大月 美佳.
「Postの対応問題」 の決定不能性の証明
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
5.チューリングマシンと計算.
5.チューリングマシンと計算.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
Semantics with Applications
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
第2章 「有限オートマトン」.
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン2008 ー有限オートマトンー
プログラミング言語論 第3回 BNF記法について(演習付き)
東京工科大学 コンピュータサイエンス学部 亀田弘之
人工知能特論II 第2回 二宮 崇.
正則言語 2011/6/27.
形式言語の理論 5. 文脈依存言語.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
形式言語とオートマトン Formal Languages and Automata 第4日目
計算の理論 II Turing機械 月曜4校時 大月美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
Additive Combinatrics 7
言語プロセッサ ー第9回目ー 構文解析(続き).
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ~第10日目(形式文法2回目)~
東京工科大学 コンピュータサイエンス学部 亀田弘之
プログラミング言語論 第9回 情報工学科 木村昌臣 篠埜 功.
東京工科大学 コンピュータサイエンス学部 亀田弘之
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
Lecture 8 Applications: Direct Product Theorems
文法と言語 ー文脈自由文法とLR構文解析ー
計算の理論 I 反復補題 月曜3校時 大月 美佳 平成15年7月14日 佐賀大学知能情報システム学科.
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
5.チューリングマシンと計算.
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
プログラミング言語論 第10回 情報工学科 篠埜 功.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
形式言語とオートマトン 第14回 プッシュダウンオートマトンと全体のまとめ
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2016 ー有限オートマトンー 第4日目
非決定性有限オートマトン 状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合.
形式言語とオートマトン Formal Languages and Automata 第5日目
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
Presentation transcript:

スタック長の 特徴付けによる 言語の非DCFL性 証明 上里 友弥  南出 靖彦 筑波大学 IPSJ PRO 98

または 決定性プッシュダウンオートマトン はいかにして スタックを用い マッチングを行うか

Σ 入力記号の集合 δ 遷移関数 F Γスタック記号の集合 δ q0 q0 * qa qb qok Q 状態集合 F 最終状態の集合 ε ∈ 決定性プッシュダウンオートマトン Q 状態集合 F 最終状態の集合 初期計算状況 Σ 入力記号の集合 Γスタック記号の集合 δ 遷移関数 ⊥ q0 aabb を入力とする計算 ⊥ q0 * qa qb qok ε ∈ F a δ b

A B q δ : Q × Γ (Σ Q × Γ*) ∪ (ε Q × {ε}) 決定性プッシュダウンオートマトン ⊥ 計算状況 で ・ ・ ・ B q で 入力を読んで遷移するか 入力を読まずに遷移するか を決定する

p1 A q p2 A B A B p3 A B C δ : Q × Γ (Σ Q × Γ*) ∪ (ε Q × {ε}) 決定性プッシュダウンオートマトン δ : Q × Γ (Σ Q × Γ*) ∪ (ε Q × {ε}) 入力σを消費する遷移 pop p1 ⊥ A ・ ・ ・ local q p2 ⊥ A B ⊥ A B ・ ・ ・ ・ ・ ・ push p3 ⊥ A B C ・ ・ ・

ε A B q p δ : Q × Γ (Σ Q × Γ*) ∪ (ε Q × {ε}) ⊥ 決定性プッシュダウンオートマトン ・ ・ ・ (入力を消費しない)遷移 A B pop q p ε ※ DPDAを知っている人向けの注意書き   遷移関数をこの形に制限しても良いというのは   フォークロア的に知られてはいましたが   今回はこれも明示的に示しました

* * * q0 qa qa qb qok∈F a a b ⊥ ⊥ ⊥ ⊥ ⊥ 定義 語wを受理する( M(w) = true ). wを全て読んだのちに F を訪れる. 定義 言語Lを受理する. w ∈ L iff wを受理する. 例 {an bn | n ≧ 1}はDPDAで受理できる. ★ a a b b * * * ⊥ ⊥ ⊥ ⊥ ⊥ q0 qa qa qb qok∈F

{ an bn }∪{ an b2n }はDCFLではない スタックの 高さ ✗ an bn bn スタックが殆ど 空になってしまう 読んだ文字数 (経過時間)

an bn b bn-1 マッチング Match[x,y] 任意のn について xn, xn y, xn y2, ... は受理されないが ここまでは 受理しない ここで 初めて受理 マッチング Match[x,y] 任意のn について  xn, xn y, xn y2, ... は受理されないが  xn yn は受理される ならば,マッチングをしているという. ただし,x, yは 空でない文字列

✔ 発表の流れ 定義 決定性プッシュダウンオートマトンと そのクラスDCFLとは何かを復習 マッチングを形式的に定義 { an bn } ∪ { an b2n } がDCFLでないことを示す マッチングをすると  スタックが殆ど空になる直感がある 入力の周期性とスタック中の周期性 マッチングにはスタックの全体が必要 殆ど空になることが形式化し証明 ✔ ✓

q A B ⊥ 周期的な入力と周期的なスタック cn cm β cn cm cn cn cn ε遷移のないDPDAで γ β β β α ・ ・ ・ A ⊥ B q cn cm β ε遷移のないDPDAで 文字 cが無限に長くやってくる計算を考えると, 計算に周期性があらわれる! γ β β β α cn cm cn cn cn

α,β, γは w にだけ依存する wm wn 補題 : 周期的な入力と周期的なスタック と考えて良い γ β α 任意のDPDAで 計算に周期性があらわれる! α,β, γは w にだけ依存する と考えて良い α β γ wm wn

an 👀👀 γ β α ⊥ マッチングするには何が必要か? bnとマッチングするには anを復元するには この辺りまでは みなくてはならない スタックをどこまでポップしなければ ならないだろうか? anを復元するには 少なくともどこまでみなければ ならない? α ・ ・ ・ γ β ⊥ an この辺りまでは みなくてはならない 👀👀

αまでみない場合に 何が起こるか? γ β ・ ・ ・ an bn を受理! β β α β ⊥ α ⊥ ⊥ an bn

bn an am α γ β α β γ β β β α ⊥ ⊥ ⊥ ⊥ an+m bn を誤認 αまでみない場合に 何が起こるか? ・ ・ ・ γ β ⊥ bn α β ⊥ γ β an+m bn を誤認 ・ ・ ・ β β α ⊥ ⊥ an am

an 👀👀 γ β α ⊥ 定理 : マッチングはそこそこ大変 bn を読んでいる間に,スタックの 高さが定数 Ha,b 以下になる. マッチング Match[a,b] を行っ ているならば, bn を読んでいる間に,スタックの 高さが定数 Ha,b 以下になる. α ・ ・ ・ γ β ⊥ an 👀👀

an bn いつ Ha,b とするのか? Ha,b ??? 定理により,Ha,b 以下にはなることが分かったが, 受理するまでどれぐらいの位置で そのようにするかを考えたい. an bn Ha,b ??? 受理!

an bn 定理 : マッチング成功直前で Ha,b とする Ha,b Ra,b aとbにだけ依存する 定数 Ra,bが存在し, 受理!

定理 : マッチング成功時で高々 Ha,b + Ra,b aとbにだけ依存する 定数 Ha,b , Ra,bが存在し, Ha,bとなるのは 入力の残りがRa,bになってからである,ので… an bn Ha,b Ra,b 受理! Ra,b

{ an bn }∪{ an b2n }はDCFLではない ✗ ≤ Ha,b+ Ra,b bs を読んでからはじめて受理 bt を読んでからはじめて受理 とする計算状況 及び s < tが存在 これは明らかに矛盾.

関連研究 { an bn , an b2n | n ≧ 1 }の非DCFL性を 周期的な入力は周期的なスタックを生成する Ginsburg & Greibach : Deterministic context free languages, 1966. { an bn , an b2n | n ≧ 1 }の非DCFL性を   類似した方法で証明している マッチングでは本質的にスタックを空にする Li & Vitányi : A New Approach to Formal Language Theory by Kolmogorov Complexity, 1995. Glier : Kolmogorov Complexity and Deterministic Context-Free Languages, 2003. DCFL版のポンピング補題 Harrison : Introduction to Formal Language Theory, 1978. Yu : A Pumping Lemma for Deterministic Context-free Languages, 1989.

{ w wR | w ∈ {a,b}* , wRはwの反転} [5.2] 帰納的可算言語 {ap | pは素数} {an bn cn | n ≧ 1} [5.4] {an bn2 | n ≧ 1} 文脈自由言語 {an bn,an b2n | n ≧ 1} [5.1] { w wR | w ∈ {a,b}* , wRはwの反転} [5.2] { x # y xR z | x,y,z ∈ {a,b}* } [5.6] 決定性文脈自由言語

まとめ 直感 証明したこと 周期的な入力は周期的なスタックを生成 一度はスタック全体を読むことになる 受理直前にスタックが殆ど空にする 入力の中で個数の  比較をしているよう  な場合には, 受理段階での  スタックの高さは  殆ど空になる. マッチングをしていると, 受理段階でのスタックの  高さは, 一様に定数H + R以下になる 周期的な入力は周期的なスタックを生成 一度はスタック全体を読むことになる 受理直前にスタックが殆ど空にする

今後の課題 {an bn cn | n ≧ 1} 非決定性プッシュダウンオートマトンに対しても同様の議論 ができないか?   は同じような原因でダメであるように思えるが…? 決定性2階プッシュダウンオートマトンに対しても同様の議論 は可能か? Parsing Expression Grammar などの 本質的にスタックを用い ていそうな体系に対しても同様の議論は可能か?

フォーマルなステートメント群

DCFL版ポンピング補題 (iteration theorem)

{ an bn cn | n ≧ 1} はDCFLではない ? スタックの 高さ スタックが殆ど 空になってしまう an bn cn 読んだ文字数 (経過時間)

an bn Fしない b bn-1 改訂マッチング Match[x, y, E] 任意のn について ここまでは Fしない ここで 初めてF 改訂マッチング Match[x, y, E] 任意のn について  xn, xn y, xn y2, ... では E を訪ねないが  xn yn では E を訪ねる ならば,マッチングをしているという. ただし,x, yは 空でない文字列

an bn を読んだことが分かるか? { an bn cn | n ≧ 1} を受理するDPDA M (が存在したとすると) 到達可能性解析 !! an bn を読んだときに 特殊な状態を訪れるDPDA M’を 構成することができる!

(後ろ向き)到達可能性解析 w2 wi ∈ L c2 w1 c1 F w3 c3 wn cn Pre(F,L) がregular set

Pre( F , c* ) を監視する an bn を読んだことが分かるか? { an bn cn | n ≧ 1} を受理するDPDA M (が存在したとすると) Pre( F , c* ) を監視する an bn を読んだときに 特殊な状態を訪れるDPDA M’を 構成することができる!