決して停止せず、終了しない証拠がないプログラムはありますか?


23

コンピューターサイエンスのブラックホールのように。私たちはそれらが存在することしか知ることができませんが、それらの1つを持っているとき、それがそれらの1つであることを決して知ることはありません。


1
停止問題を決定することは、少なくとも定理を証明するのと同じくらい困難です(定理があれば、のようなプログラムを簡単に書くことができ、プログラムは定理が真である場合にのみ終了します)。そのようなプログラムがなければ、すべての定理を証明できることを意味しますが、これは間違っていることがよく知られています。Tif T is true then halt else loop forever
バクリウ14

@Bakuriu:どう書くif T is true
ruakh

@ruakh:従来の方法はFor each string S in the (countable) universe of possible strings: If S is a syntactically valid proof of T, halt.
Quuxplusone 14

@Quuxplusone:ええ、はい、しかしそれはBakuriuの構成には収まらないようです。。。
ルアック14

これは興味深いですが、私の知識を超えています。詳しく説明してもらえますか?
エヴォラー14

回答:


23

確かにこのようなプログラムがあります。これを証明するために、停止しないすべてのマシンについて、停止しない証拠があると仮定しましょう。

これらの証拠は、有限の長さの文字列であるので、我々は以下の長さのすべての証拠を列挙することができますいくつかの整数のためss

次に、これを使用して、次のように停止問題を解決できます。チューリングマシンと入力xが与えられた場合、次のアルゴリズムを使用します。Mx

s := 0
while (True)
    test if machine M halts on input x in s steps
    look at all proofs of length s and see if they prove M doesn't halt on input x
    set s := s + 1

場合は入力の停止のx、それはステップのいくつかの有限数で停止sの私たちのアルゴリズムが終了するので、。Mxs

MxsM

したがって、常に終了する停止問題を決定するアルゴリズムがあります。しかし、私たちはこれが存在できないことを知っているので、非停止の証拠が常にあるという私たちの仮定は誤りでなければなりません。


2
これからも、ゴデルの不完全性定理のより弱い形式が続くと思います。基本的に、真実であるが証明できないものが存在すること。これは、私の新しいお気に入りの思考実験の1つです。
ジェイク14

P = NPを証明しようとしているか、奇数の完全な数を見つけようとしているかは、これらのプログラムの1つであると思いますか?
オタカールモルナーロペス14

1
終了しないプログラムは証明でも数字でもないので、それはあまり意味がありませんが、あなたが得ているアイデアは持ち上がっています。PvsNPがunprovableであることをいくつかの発言
ジェイク

1
@ジェイクチューリング機械の動機の一部は、ゲーデルの定理の背後にある考えをより明確に表現したものだと思います。
cpast 14

6

もう少し具体的な例として、証明に使用している理論に次の(非常に合理的な、IMO)機能があると仮定します。

  1. それは一貫しています。つまり、矛盾を証明することはできません。
  2. その公理のセットは再帰的に列挙可能です。
  3. その証明は、有限のビット列として書き留めることができます。
  4. 与えられた文字列がその中の整形式で正しい証明をエンコードするかどうかという問題は、有限時間でアルゴリズム的に決定できます。
  5. ゲーデルの2番目の不完全性定理の証拠を認めるのに十分な表現力があり、それはそれ自体の一貫性を証明できないと言っています。

これらの仮定では、次のプログラムは停止することはありませんが、停止しないことを証明することはできません(使用している理論の範囲内で)。

let k := 0;
repeat:
    let k := k + 1;
    let s := binary expansion of k, excluding leading 1 bit;
while s does not encode a proof of a contradiction;
halt.

ここでの重要な詳細は、上記の最初の仮定です。つまり、証明に使用している理論は一貫しているということです。明らかに、私たちの証明に価値があるためにはこれを仮定する必要がありますが、ゲーデルの2番目の不完全性定理は、合理的に表現的で効果的に公理化された理論では、実際にこれを証明することはできません(おそらく他の理論では、などを想定する必要があります)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.