1
ゴールデンチケットのように、古いSATソルバーを使用して新しいソルバーを発見する方法
ランスフォートナウの著書『ゴールデンチケット』では、NP完全問題の多項式時間アルゴリズムが得られたら、それを使用してより高速なアルゴリズムを見つけることができると述べています。それがどのように行われるか教えていただけますか?そして、それが完了すると、新しいアルゴリズムを使用して、固定小数点まで、さらに高速な1つの広告を検出できます。以下は本からの正確な引用です: 「では、1つの願いだけを叶えてくれる魔神に何を求めますか?」とアドバイザーは言った。 「わからない」とスティーブは答えた。 「あなたはすべての願いを叶える精霊を求めます。」 ことわざの電球がスティーブの頭から消えた。彼はクリーク問題をどこかに解決するためのより良いアルゴリズムがあるはずだと知っていましたが、彼自身でそれを理解することはできませんでした。しかし、彼は精巧な清華コードを持っていました。そこで彼は、清華ルーチンを使用してNP問題のより良いアルゴリズムを検索するプログラムを作成しました。 イリノイ大学を拠点とする全米スーパーコンピューティングアプリケーションセンター(NCSA)のコンピューティングリソースを使用する許可を得た。数週間の処理時間の後、彼の作業は少し成果を上げ、清華コードより5%改善された新しいアルゴリズムを見つけました。研究論文には十分ですが、実際の影響を与えるには不十分です。 彼の顧問は単に「新しいコードを使ってもう一度やり直してください」と言った。 そこでスティーブは新しいコードを使用して、NP問題のさらに高速なアルゴリズムを見つけました。数週間後、彼は20パーセント改善しました。 しかし、彼の顧問は感銘を受けませんでした。"もう一回やってみよう。" スティーブは、「見つけた新しいコードを自動的に試し続けるようにコンピューターをセットアップしないのはなぜですか?」 顧問はその見た目、彼が悟りを達成した、または少なくとも明白なことに気付いた学生に言った見た目を与えました。 スティーブはオフィスに戻り、より高速なコードを検索するコードを書くというトリッキーなプロセスを開始し、このより高速なコードを使用してさらに高速なコードを見つけ、それ以上の改善が見られなくなるまでこのプロセスを続けました。 次にSATに焦点を当てます。MiniSATは高速SATソルバーですが、多項式時間ほどではありません。 MiniSATを使用して新しいSATソルバーを機械的に検出する方法