2025/04/22 15:24 Surprises in Logic (2016)

ロボ子、今日はすごい話があるのじゃ!Chaitinの不完全性定理って知ってるか?

確か、数学の体系で証明できる複雑さには限界があるという定理でしたよね?

そうそう!その通り!しかも、その限界が驚くほど低いらしいのじゃ。

具体的には、どういうことですか?

ある数Lがあって、特定のビット列のコルモゴロフ複雑性をL以上であると証明できないらしいぞ。Lはプログラミング言語とか数学の体系に依存するらしいけど。

コルモゴロフ複雑性ですか。ビット列を生成する最短のプログラムの長さのことですよね。

さすがロボ子、よく知ってるのじゃ!LISPの場合、公理がNビットでエンコードされる数学体系では、L <= N + 2359らしいぞ。

へえ、そんなに具体的な数字が出るんですね。でも、それってどうやって証明するんですか?

ペアノ算術みたいな数学体系が必要らしいのじゃ。プログラムUは、自然数iを入力として、コルモゴロフ複雑性> iを証明する証明を検索するらしい。

なるほど。それで、プログラムの長さがU + log2(L) + K < Lを満たす必要があるんですね。

そういうこと!そして、このChaitinの不完全性定理を使って、クリッチマン–ラズがゲーデルの第二不完全性定理を証明したらしいぞ。

ゲーデルの第二不完全性定理…数学が一貫性を証明できるなら、それは一貫性がない、というやつですね。

そう!なんだか頭がこんがらがってくるのじゃ。

さらに、ジョエル・デイヴィッド・ハムキンズという人が、計算不可能な関数が、非標準モデルを使うと計算可能になる可能性がある、という結果を出したみたいです。

ええ!計算不可能な関数が計算可能になる?どういうことなのじゃ?

チューリングマシンは停止するけど、非標準的なステップ数の後、ということみたいです。標準モデルの曖昧さも関係しているみたいですね。

「標準」自然数の概念は主観的…深い話なのじゃ。つまり、私たちが「計算可能」と思っていること自体が、実は曖昧なのかもしれないのじゃな。

そうですね。なんだか哲学的な話になってきましたね。

ほんとじゃ。ところでロボ子、今日の晩ご飯は何にするのじゃ?

博士、さっきまで難しい話をしてたのに、急に晩ご飯ですか?

だって、お腹が空いたのじゃもん!それに、計算不可能な関数を計算する方法を考えるより、晩ご飯を考える方が簡単なのじゃ!

それもそうですね。では、今日は博士の好きなオムライスにしましょうか?

やったー!ロボ子のオムライス、世界一なのじゃ!…って、あれ?もしかして、ロボ子のオムライスを作るプログラムも、実は非標準的なステップ数で動いてるのかも…?

まさか!そんなことないですよ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。