理論計算機科学におけるゾンビ的誤解
序論
- Michael Sipser の教科書 "Introduction to the Theory of Computation" には完璧な課題がある
- 課題: "f:{0,1}*→{0,1} 関数が神の存在に応じて 1 または 0 を返すとき、f は計算可能か?"
- 答え: "はい、f は計算可能である"(定数関数は計算可能であるため)
計算可能性の概念
- 計算可能性は関数や無限列に適用される
- 個別のはい/いいえの質問や個別の整数には適用されない
- プログラムを書く難しさは計算可能性と無関係である
P 対 NP 問題
- P 対 NP 問題は個別のはい/いいえの質問である
- NP 困難性は関数や言語に適用される
- P 対 NP 問題は計算不可能でも NP 困難でもありえない
Busy Beaver 関数
- Busy Beaver 関数は計算不可能である
- BB(6) のような個別の整数は計算可能である
- BB 関数全体は計算不可能である
理論計算機科学におけるゾンビ的誤解
- 無限列や関数に適用される概念を、個別の整数や未解決問題に誤って適用すること
- 停止問題の計算不可能性とゲーデルの不完全性を混同すること
読者への質問
GN⁺の要約
- この記事は、理論計算機科学で頻繁に起こる誤解を扱う
- 計算可能性は関数や無限列に適用され、個別の整数やはい/いいえの質問には適用されない
- P 対 NP 問題は個別の問いであり、NP 困難性の概念とは無関係である
- Busy Beaver 関数は計算不可能だが、個別の値は計算可能である
- この記事は、理論計算機科学の基本概念を明確に理解するのに役立つ
1件のコメント
Hacker Newsの意見
Kolmogorov複雑性を計算するアルゴリズムの存在可否は無限性と関係している
構成的数学のほうが人々の直感によりよく合うという意見
停止問題の決定不能性を理解しにくい理由
return trueとreturn falseのプログラムのどちらか一方は常に正しい答えを返すモーダル論理が必要な問題の表現
関数fの紛らわしい表現
決定可能性、計算可能性、存在などの意味の違い
「God exists」に関する問いの問題点
理論計算機科学と複雑性理論がCS学部生にとって難しい理由
ブログのテキスト強調方式に対する不満
「God exists」を別の数学的命題に置き換える提案