私が提示しようとしているアイデアを楽しませるのは私が最初ではないことは確かです。ただし、アイデアに関連する文献を見つけられると助かります。
アイデアは、P = NPの場合、Mが多項式時間で3-SATを解くという特性を持つチューリングマシンMを構築することです。(3-SATの選択は任意です。NPで実際に問題になる可能性があります)。
明確にするために、これはP = NPであるという主張ではありません。実際、私はその反対を信じています。P = NPの場合、Mは多項式時間の解を提供する、とだけ述べています。効率的なソリューションを探している場合、これは効率的ではないことを警告する必要があります。
Mは次のように構成されます。最初に、すべてのチューリングマシンの標準的なエンコーディングを想定し、これらのマシンに番号を適用します。したがって、チューリングマシン番号1、番号2などがあります。提供されたマシンの形式を読み取って、そのマシンが別の入力で実行されることをシミュレートできるユニバーサルチューリングマシンのアイデアはよく知られています。Mは、ユニバーサルチューリングマシンを使用して、各チューリングマシンを順番に構築およびシミュレーションします。
最初に、単一ステップのチューリングマシン1の実行をシミュレートします。
次に、Turing Machine 1の出力を確認します。TuringMachine 1
の実行を2ステップでシミュレートし、出力を確認してから、Turing Machine 2を2ステップでシミュレートします。続けてこの方法でループし、順番にkステップでチューリングマシン1を実行し、次にkステップで2を実行し、最終的にkステップでkを処理します。
各シミュレーションの実行後、実行の出力を調べます。出力が3-SAT問題インスタンスを満たす変数の割り当てである場合、Mは受け入れ状態で停止します。一方、出力が、検証可能な証明言語の証明文字列であり、問題のインスタンスが満足できないという証明された結果である場合、Mは拒否状態で停止します。(証明言語の場合、たとえば、2次論理を備えたペアノ公理と基本的なヒルベルトスタイルの論理公理を使用できます。P= NPの場合、有効な証明言語が存在し、多項式時間検証可能です)。
ここで、P = NPの場合にのみ、Mは多項式時間で3-SATを解くと主張します。最終的に、アルゴリズムは番号Kの魔法のチューリングマシンを見つけます。これは偶然、3-SAT問題の効率的なソルバーであり、成功または失敗のいずれかの結果の証明を提供できます。Kは最終的に、ある多項式に対してpoly(strlen(input))ステップを実行してシミュレートされます。Mの多項式は、最大係数のkの多項式の約2乗ですが、多項式にいくつかのひどい定数があります。
ここで私の質問を繰り返します。この考えを採用している文献資料があるかどうか知りたいです。私はアイデア自体について議論することにあまり興味がありません。