「Postの対応問題」 の決定不能性の証明

Slides:



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

1 決定不能な 旅 人 k.inaba 二 ○ 一 ○ 年一 ○ 月 決定不能の会 Reading: F. Berger & R. Klein, A Traveller’s Problem Symposium on Computational Geometry, 2010
Probabilistic Method 7.7
課題3 |x|=3, |y|=2, |z|=5 であるから |xyz|=|x|+|y|+|z|=12,
第1章 場合の数と確率 第1節 場合の数  2  場合の数 (第1回).
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
5.チューリングマシンと計算.
5.チューリングマシンと計算.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
Natural Semantics 実行過程の、最初と最後の状態(state)の関係を考える。
Semantics with Applications
動的ハフマン符号化の例 入力:ABCDEからなる文字列 出力:動的に作ったハフマン木.
9.NP完全問題とNP困難問題.
データ構造と アルゴリズム 知能情報学部 新田直也.
スタック長の 特徴付けによる 言語の非DCFL性 証明
計算量理論輪講 岩間研究室 照山順一.
7.時間限定チューリングマシンと   クラスP.
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
第2章 「有限オートマトン」.
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
寄せられた質問: 演習問題について この講義の範囲に含まれる適切な演習問題が載っている参考書がありますか? できれば解答や解説が付いているものがあると良いのですが… 第3回の授業の中で、演習問題に取り組む方法を説明します.
k 個のミスマッチを許した点集合マッチング・アルゴリズム
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
正則言語 2011/6/27.
計算の理論 II 等価性と標準形 月曜4校時 大月美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2016 ~第10日目(形式文法2回目)~
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
計算の理論 II Turing機械 月曜4校時 大月美佳.
7.4 Two General Settings D3 杉原堅也.
1. 集合 五島 正裕.
東京工科大学 コンピュータサイエンス学部 亀田弘之
オートマトンとチューリング機械.
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
A Dynamic Edit Distance Table
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ~第10日目(形式文法2回目)~
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
東京工科大学 コンピュータサイエンス学部 亀田弘之
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
チューリングマシン 0n1nを受理するチューリングマシン 入力テープ b b b b 状態遷移機械.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
5.チューリングマシンと計算.
米澤研究室 全体ミーティング 2010/07/07 M2 渡邊裕貴.
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
情報処理Ⅱ 第7回 2004年11月16日(火).
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語プロセッサ ー第9回目ー 構文解析(続き).
オートマトンって? (Turing machine).
非決定性有限オートマトン 状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

「Postの対応問題」 の決定不能性の証明 k.inaba http://www.kmonos.net/ 2009/10/10 第1回決定不能の会

Postの対応問題 (PCP : Post’s Correspondence Problem) 入力 Σ : 文字集合 (有限) {(α1, β1), …, (αn, βn)} : Σ上の有限文字列のペアの有限集合 出力 有限列 i1, …, ik で αi1 … αik = βi1 … βik になるものは存在するか 否か?

例1 入力 出力 (α1, β1 ) = (“e”, “abcde”) (α2, β2 ) = (“ababc”, “ab” ) (α3, β3 ) = (“d”, “cab” ) 出力 Yes! α2 α2 α3 α1 = β2 β2 β3 β1 ababcababcde

例2 入力 出力 (α1, β1 ) = (“ab”, “ca” ) (α2, β2 ) = (“acb”, “a” ) (α3, β3 ) = (“b”, “caab” ) 出力 No! 一つ目のペアとしては α2 , β2 をとるしかないが、 “cb” がβ側にないので作れない

一般にはYesかNoか決定不可能 参考にした資料 4.7 節 An Introduction to the Theory of Computation Eitan Gurari, Ohio State University Computer Science Press, 1989, ISBN 0-7167-8182-4 http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html 4.7 節

証明

方針 主参考文献では 0型文法でやっていたけど面倒なのでこれで。実質ほぼ同じ 「チューリングマシンの停止問題」 から… TMの停止問題は決定不能 「Semi-Thue System のワード問題」 経由で… どんなTM停止問題も、答えがそれと一致するSTSワード問題に変換できる  ∴STSワード問題は決定不能 PCP に帰着 どんなSTSワード問題も、答えがそれと一致するPCPに変換できる  ∴PCPは決定不能

Semi-Thue System (STS) とは G = (Δ, P ) Δ : 文字集合 (有限) P : 以下の形の文法規則の有限集合 α→β (α , β ∈ Δ+) Δ+ 上の二項関係 w ⇒ v を以下で定義 w = x0 y1 x1 … yn xn, v = x0 z1 x1 … zn xn ∀i. yi→zi ∈P

STSのワード問題とは? 入力 出力 G = (Δ, P) : Semi-Thue System ws : Δ上の(有限長の)文字列 wf : Δ上の(有限長の)文字列 出力 ws から ⇒ を有限回繰り返して wf に書き換えられるなら “Yes”、できないなら “No”

STSのワード問題:例 G ws = “aab”, wf = “abbbbbbb” ws = “bab”, wf = “aabaa” P = {aa→ab, bb→bbb} ws = “aab”, wf = “abbbbbbb” Yes! (“aab”⇒”abb”⇒…中略… ⇒”abbbbbbb”) ws = “bab”, wf = “aabaa” No! (Pにbの数が増える規則しかないので絶対無理)

STSのワード問題は決定不能 (1/2) 「チューリングマシンの停止問題」 からの帰着 チューリングマシンの 「状態 q でテープの文字が 0 だったらテープに 1を書いて左に動き状態 p になる」 といった規則を 0q0 → p01 と 1q0 →p11 のようにSemi-Thue Systemの規則にエンコードできる

STSのワード問題は決定不能 (2/2) 「チューリングマシンの停止問題」 からの帰着 チューリングマシンの受理状態を f とし、 0f→f と 1f→f と f0→0 と f1→1 という規則をさらに付け加えて、テープ端に関する規則を幾つか追加すると、「TMが停止する iff “初期状態”⇒*“f”」 となる QED

話を戻してPCPの決定不能性 与えられたSTSワード問題 (G,ws,wf) から になるようなPCPを作れる STSワード問題の解が”Yes” if and only if PCPの解が”Yes” になるようなPCPを作れる

具体的な作り方 (ちょっと間違ってる) STSメンバシップ問題のインスタンス 対応する PCP のインスタンス G = (Δ, P ) ws , wf ∈ Δ+ 対応する PCP のインスタンス Σ = {始, 終, 次} ∪ Δ (始, 始次ws ) (次wf終, 終 ) ( x, x ) for all x ∈ {次}∪Δ ( α, β ) for all α→β ∈ P

作り方の例 (左: STS、右: PCP) Δ= {a, b} P = {aa→ab, bb→bbb} ws = “aab” wf = “abb” Σ={始, 次, 終, a, b} (始, 始次aab ) (次abbb終, 終 ) ( a, a ) ( b, b ) ( 次, 次 ) ( aa, ab ) ( bb, bbb )

作り方の例: PCPの方を解いてみる 始 始次aab 始次 始次aab次 (始,始次aab ) でスタート (次abbb終, 終 ) ( a, a ) ( b, b ) ( 次, 次 ) ( aa, ab ) ( bb, bbb ) (始,始次aab ) でスタート つぎは、上側に次 が来ないといけない 始 始次aab 始次 始次aab次

作り方の例: PCPの方を解いてみる 始次aa 始次aab次ab 始次aab 始次aab次abb (aa, ab) を使ってみる (次abbb終, 終 ) ( a, a ) ( b, b ) ( 次, 次 ) ( aa, ab ) ( bb, bbb ) (aa, ab) を使ってみる つぎは、(b, b) しかない 始次aa 始次aab次ab 始次aab 始次aab次abb

作り方の例: PCPの方を解いてみる 始次aab次abb 始次aab次abb次abbb 始次aab次abb次abbb終 (中略) ( 次, 次 ) ( aa, ab ) ( bb, bbb ) (中略) 最後は 終 ペア 始次aab次abb 始次aab次abb次abbb 始次aab次abb次abbb終

作り方の例: PCPの方を解いてみる 始次aab次abb次abbb終 PCPの解は”Yes” ( 次, 次 ) ( aa, ab ) ( bb, bbb ) PCPの解は”Yes” STSの解は? “Yes” “次”で区切られた部分に着目すると… ws = aab ⇒ abb ⇒ abbb = wf フォーマルに言うと、次ページの補題が成り立つ 始次aab次abb次abbb終

補題 ws =γ0 ⇒γ1 ⇒ … ⇒ γm = wf 始次γ0 次γ1次γ2次 … 次γm 終 という書き換え列がSTSにある if and only if 始次γ0 次γ1次γ2次 … 次γm 終 で一致するようなマッチングがPCPにある

補題の証明 帰納法で m≧0 に関して以下を示す γ0 ⇒ γ1 ⇒ … ⇒ γm = wf ∃i1 … in if and only if ∃i1 … in xi1…x1n =次γ0 次γ1次 … 次γm 終 yi1…yi n = 次γ1次 … 次γm 終 (γ0 = ws の場合を考えれば補題がすぐ従う)

補題の証明 m = 0 の場合 γ0⇒γ1⇒…⇒γm = wf ∃i1 … in (次 wf 終, 終) がPCPのペアにあるので成立 (始, 始次ws ) (次wf終, 終 ) ( x, x ) for all x ∈ {次}∪Δ ( α, β ) for all α→β ∈ P γ0⇒γ1⇒…⇒γm = wf if and only if ∃i1 … in xi1…x1n =次γ0 次γ1次 … 次γm 終 yi1…yi n = 次γ1次 … 次γm 終 m = 0 の場合 (次 wf 終, 終) がPCPのペアにあるので成立

補題の証明 m > 0 の場合 (“only if” part) γ0 ⇒ γ1 ⇒ … ⇒ γm = w ( x, x ) for all x ∈ {次}∪Δ (α , β) for all α→β ∈ P γ0⇒γ1⇒…⇒γm = w ∃i1 … in xi1…x1n =次γ0 次γ1次 … 次γm 終 yi1…yi n = 次γ1次 … 次γm 終 m > 0 の場合 (“only if” part) γ0 ⇒ γ1 ⇒ … ⇒ γm = w implies γ0 ⇒γ1 かつ γ1 ⇒ … ⇒ γm = w by IH 次γ1 次γ2次 … 次γm 終 と 次γ2次 … 次γm 終 がマッチ γ0 ⇒γ1 なので 次γ0 と次γ1もマッチ [要証明] よって、合わせると全体もマッチ

補題の証明 QED m > 0 の場合 (“if” part) (次w終,終) ( x, x ) for all x ∈ {次}∪Δ (α , β) for all α→β ∈ P γ0 ⇒γ1 ⇒… ⇒γm = w ∃i1 … in xi1…x1n =次γ0 次γ1次 … 次γm 終 yi1…yi n = 次γ1次 … 次γm 終 m > 0 の場合 (“if” part) 次γ0 次γ1次γ2次… 次γm 終 と 次γ1次γ2 次… 次γm 終 がマッチ Implies 次γ0と次γ1 がマッチ、かつ 次γ1次γ2次 … 次γm 終 と 次γ2次 … 次γm 終 がマッチ ∵ (次,次) のペアを使うしかないので 以下straightforward QED

If STSが”Yes” then PCPが”Yes” 補題の系 If STSが”Yes” then PCPが”Yes” 問題点 If PCPが”Yes” then STSが”Yes” ではない そもそもこんなペアが… (x, x) for all x∈{次}∪Δ

正しい作り方

G=(Δ, P ), ws , wf に対して… Σ = {始, 終, 次, 次} ∪ Δ ∪ Δ ( 始, 始次ws) Σ = {始, 終, 次, 次} ∪ Δ ∪ Δ ( 始, 始次ws) (次wf終, 終 ) ( x, x ) for all x ∈ {次}∪Δ ( α, β ) for all α→β ∈ P こうすると 「始」で始まり 「終」で終わらざるを得ない

補題二つ (証明はさっきとほぼ同じなので略) 補題二つ (証明はさっきとほぼ同じなので略) ws =γ0 ⇒γ1 ⇒ … ⇒γ2m = wf iff 始 次 γ0 次 γ1 … 次 γ2m-1 次γ2m 終 で一致するようなマッチングがPCPにある ws =γ0 ⇒γ1 ⇒ … ⇒ γ2m+1 = wf iff 始 次 γ0 次γ1 … 次 γ2m 次γ2m+1 終 で一致するようなマッチングがPCPにある

系 If STSが”Yes” then PCPが”Yes” 追加の補題 (easy): 系: If PCPが “Yes” then STSが”Yes” 系: PCPは決定不能 QED

Thank you for listening ! まとめ   チューリングマシンの停止性 → Semi-Thue System (or 0型文法)のワード問題 → Postの対応問題 計算履歴 (文法の導出履歴)が PCPのマッチング結果になるようにエンコード 導出規則をそのままPCPの文字列ペアに 最初と最後を1つずらす Thank you for listening !