停止の問題は計算できないことがよく知られています。ただし、停止している問題に関する情報を指数関数的に「圧縮」することが可能であるため、それを解凍することは計算可能です。
より正確には、チューリングマシンの記述とnビットのアドバイスステートから、アドバイスステートが信頼できると仮定して、2 n − 1 個のチューリングマシンすべての停止問題に対する答えを計算することができます。アドバイザーにビットを選択させて、チューリングマシンの数をバイナリで停止させ、その数が停止するまで待ち、残りが停止しないことを出力させます。
この引数は、Chaitinの定数を使用して停止問題を解決できるという証拠の単純な変形です。私が驚いたのは、シャープだということです。チューリングマシンの記述から計算可能なマップはありません。nビットのアドバイスは、チューリングマシンの各タプルに対して、ビットのタプルに対して正しい答えを得る2 nビットの停止出力を示します。もしあれば、2 n個のチューリングマシンのそれぞれが、nビットの2 n個の可能な配置の1つでプログラムが何をするかをシミュレートし、予測に違反する独自の停止状態を選択することにより、対角化によって反例を生成できます。
オラクルが停止しているチューリングマシンの停止問題に関する情報をまったく圧縮することはできません(何らかのオラクルにアクセスすることなく)。マシンは、すべての可能な入力で予測したものをシミュレートし、停止しない入力を無視し、停止時間を選択して、入力で予測しなかった辞書式の最初の回答を与えます。
これは私に他の神託のために何が起こるかについて考えるように動機づけました:
オラクルを使用したチューリングマシンの停止問題を線形と指数の間の中間の成長率で圧縮できるオラクルの例はありますか?
より正式には、オラクルが与えられた場合、最大mとし、次の計算可能な部分関数が存在するようにします。機械とチューリングオラクルのnビットを m個のそれぞれについてように、ビットは、 m個のオラクルチューリングマシンのタプル、あります N個のその入力に基づいて評価関数の値に等しいビットのタプル、 m個のタプル 1停止し、その各Oracleチューリングマシンのを 0各Oracle用の永久実行するマシンをチューリング。
オラクルはありますか?ω (n )= f (n )= o (2 n)のオラクルはありますか?