非決定性チューリングマシンと NPクラス
【 非決定性チューリングマシンとNPクラス 】
このセッションから新しいPart 「チューリングマシンの拡大と複雑性クラス」が始まります。
「計算可能性理論」のエッセンスは、「計算可能な計算はすべて、ある帰納的チューリングマシンによって実行されるものである」という「チャーチ=チューリングのテーゼ」です。
このテーゼによれば、「計算可能な計算」という数学的な性質は、「あるチューリングマシンによって実行されるもの」として、ある機械(チューリングマシン)の振る舞いと対応づけられることで定義されています。
興味深いことは、「計算可能な計算」という数学的な性質と機械の振る舞いを結びつけるこの「テーゼ」自身は、数学的な命題では無いことです。それは、人間の数学的認識の特徴について語っているのですが、数学的に証明されるような性質のものではありません。
「チャーチ=チューリングのテーゼ」自体を拡大することも可能です。実は、「量子コンピュータ」の登場は、そうした「テーゼ」の見直しと深い関係があります。それについては、このあとのセッションで見ていきたいと思います。
【 チューリングマシンの振る舞いを変える 】
このセッションでは、「テーゼ」の枠組みを大きく変えるのではなく、チューリングマシンの概念を拡大してその振る舞いを変えることを考えてみましょう。新しい数学的性質を定義するのが目的です。
「ある数学的性質 Lの計算とは、ある拡大された
チューリングマシンMで実行されるものである」
こんな感じなのですが、一つ問題があります。それは、「チューリングマシンの拡大」は、口で言うほど簡単ではないからです。
そもそもチューリングマシンは数学的には万能で、「帰納的チューリングマシン」ならは、計算結果が返る計算可能なものは、すでにすべてカバーしています。(「帰納的」という条件を外した、一般のチューリングマシンには、「停止」する保証はありません。)
このセッションで行う、チューリングマシンの拡大は次のようなものです。
「普通のチューリングマシンは、一つの入力に対して一つの出力を返す」
「それがどうした」
「我々は、チューリングマシンを、一つの入力に対して複数の出力を返すように拡大する」
「そんなのチューリングマシンと言わない」
「だから、「拡大」だと言っているだろ」
「どうすんの?」
「普通のチューリングマシンは、いつも同じ命令セットを実行する」
「当たり前だろ」
「我々は、実行のステップごとに、別の命令セットを実行する」
「無茶苦茶だ。何を計算してるの?」
「我々のマシンは、非決定論的に振る舞う。だから何を計算しているかは問題では無い。それでもそれが計算だと言えることが重要なのだ」
「意味ない。意味ない。」
ところが、こうした形で「計算」を定義できることには、意味があるのです。
計算複雑性クラスのNPは、こうした「拡大されたチューリングマシン」で定義されるのです。
−−−−−−−−−−−−−−−−−
セミナー申し込みページ
https://computer-math2.peatix.com/view
ショート・ムービー 「 非決定性チューリングマシンとNPクラス 」を公開しました。
https://youtu.be/bnM5t6Zb6po?list=PLQIrJ0f9gMcMT7vxO1dVD00bhzEVLFsBB
スライド 「 非決定性チューリングマシンとNPクラス 」のpdf
https://drive.google.com/file/d/1wDigBZ0p8qiFtTH0YTBK4WMq3SdDmY9T/view?usp=sharing
「計算複雑性理論入門」まとめページ
https://www.marulabo.net/docs/computer-math2/
「計算複雑性理論入門」に向けたショート・ムービー再生リスト
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcMT7vxO1dVD00bhzEVLFsBB
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcMT7vxO1dVD00bhzEVLFsBB
コメント
コメントを投稿