コンピュータ支援のNP完全性証明に興味がある


22

トーマス・J・シェーファーによる論文「満足度の問題の複雑さ」で、著者は次のように述べています。

This raises the intriguing possibility of computer-assisted NP-completeness proofs. Once the researcher has established the basic framework for simulating conjunctions of clauses, the relational complexity could be explored with the help of a computer. The computer would be instructed to randomly generate various input configurations and test whether the defined relation was non-affine, non-bijunctive, etc.

もちろん、これは制限です。

The fruitfulness of such an approach remains to be proved: the enumeration of the elements of a relation on lO or 15 variables is Surely not a light computational task.

私は興味があります

  1. 「コンピューター支援NP完全性証明」というこのアイデアを開発するためのフォローアップ研究はありますか?最新技術とは何ですか(または3-Partitionに固有の場合があります)? シェーファーは「コンピューター支援」NP完全性証明(少なくともSATからの削減について)のアイデアを提案しているので、これはこれらの削減の基礎となるいくつかの一般原則/構造があることを意味します(3SATまたは3-Partitionからのもの)?もしそうなら、彼らは何ですか? 3SAT3-Partition
    SAT3SAT3-Partition
  2. 誰もがコンピューターアシスタントでNP完全性を証明した経験がありますか?または、誰でも人工的な例を作ることができますか?

3
「コンピューター支援」の証明とは異なりますが、SATソルバーを使用して、リダクションで使用されるガジェットの正しい動作を確認し、次のゲームのNP完全性を証明しました:バイナリパズル、テント、ローリングキューブフリーセルのないパズル、ネット; 最後の2つは非常に複雑なガジェットです。
マルツィオ・デ・Biasi

1
これは1978年の論文であり、狭く解釈するのではなく広く解釈すると、この点で今では先見の明がある。SATおよびNPの完全な問題の経験的分析が多数あります。移行点の研究は、この考えの大きな現れであると見ることができます。また、SATに関するエルドスの不一致の問題に最近突破口がありました。別の新興分野は、SATでエンコードされた小さなソートネットワークを見つけることです。別の例として、インスタンス化と学習のような難しい問題をSATに変換します。誰もがこれについての大規模な調査を書くのを見たことがない これのいくつかを答えに打ち込もうとするかもしれません。
vzn

1
@MarzioDeBiasiこの点に関してあなたの経験を共有したいですか(SATソルバーを使用してガジェットをチェックすることも高く評価されています)?ありがとう。
hengxin

@vznとても面白くて刺激的ですね。お返事をお待ちしています。前もって感謝します。必要に応じて広く解釈できます。投稿を編集して、適切な回答をより魅力的にするようにしてください。
hengxin

1
トレビザン他の素晴らしい論文があります。LPを使用して最適なガジェットを構築します:theory.stanford.edu/~trevisan/pubs/gadgetfull.ps
ディエゴ

回答:


22

質問2に関しては、コンピューター支援者が関与する完全性証明の例が少なくとも2つあります。NP

エリクソンとラスキーは、Domino Tatami CoveringがNP完全であることのコンピューター支援の証拠を提供しました。彼らは、平面3 SATから畳ドミノまでの多項式時間を短縮しました。SATソルバー(Minisat)を使用して、削減におけるガジェットの検出を自動化しました。他の完全性の証明は知られていない。NP

RueppとHolzerは、鉛筆パズルKakuroが完全であることを証明しました。N P完全性証明の一部は、SATソルバー(再びMinisat)を使用して自動的に生成されました。NPNP


1
少なくとも部分的には、MulzerとRoteによる「最小重量の三角測量はNP困難」です。ガジェットの正確性を確立するためにコンピューターが使用されました(ただし、ガジェットは「手で」発見された可能性があります)。
十宝

15

この論文では、私は、一部の場合に示されたの最大度を有するグラフがあるKよりも厳密に大きく、色彩エッジ強度kが、それは、Θ P 2色エッジ強度が最大であるかどうかを判断する-complete K。このようなグラフはk > 3で知られており、k = 3の適切な12頂点グラフを見つけるためにコンピューター検索を行いました。k3kkΘ2pkk>312k=3

色彩強度と色彩エッジ強度の複雑さ。計算の複雑さ、14(4):308-340、2006


13

上記のコメントから:

制約プログラミングにChoco Javaライブラリを使用しましたバイナリパズル、テント、ローリングキューブパズル無料細胞、ネットなしで次のパズルのNP-完全性を証明するために使用ガジェットの正しい動作を確認すること。まだ公開する時間がありませんでしたが、ドラフトの論文は私のブログで入手できます。

01n×n

(A)PLANAR SATをソースNPC問題として使用する場合、論理ゲート(AND + OR)およびリンク。または

(B)グリッドグラフでハミルトニアンサイクルをソースNPC問題として使用する場合は、正確に1つの入口と1つの出口を同時にアクティブにできる3次のノード「接続パス」を強制する条件)。

どちらの場合も、ガジェットの境界を修正する初期設定を使用して(不要な相互作用を禁止します)、2つの隣接するガジェット間の相互作用を中央要素(または要素のグループ)のみで許可します。このような中心要素の構成は、(A)の場合は論理値を表し、(B)の場合はトラバーサルを表す必要があります。

たとえば、ANDをモデル化するには:

***C***   *=fixed elements (initial config. of the puzzle)
*xxxxx*   x=internal logic (some elements can be fixed,
AxxxxxB     other must be completed/traversed)
*xxxxx*   A,B,C=elements shared with adjacent gadgets
*******

この時点で、SATソルバーを使用してガジェットをチェックします(CPLを使用した方がよい)。パズルのルールを実装し、A、B、Cが値のすべての可能な組み合わせをとるときの充足可能性をチェックします。そして、それらが望ましい動作と一致しているかどうかを確認します。たとえば、ANDの場合、Cがtrue(Cは論理値trueを表す)であるすべてのガジェット有効(充足可能)構成では、AとBの両方がtrueでなければなりません。

ガジェットが非常に複雑な場合(たとえば、ローリングキューブパズルの場合)、ガジェットが正常に動作すること(およびNPC証明が正しいこと)を確認する唯一の方法だと思います。


11

私は独身論文でこれをやった-コンピューター支援NP完全性証明-

悪い部分-それはロシア語であり、英語に翻訳されていません。 http://is.ifmo.ru/diploma-theses/_dvorkin_bachelor.pdf

2D問題で論理ゲートを使用しました。計画は次のとおりです。

  • 問題の「ワイヤ」がどのように見えるかを手動で設計します。
  • 非常にスマートで最適化された検索(実際にはプロファイルのセットに対する動的プログラミング)を使用して、必要なすべての論理ゲートを自動的に設計します。
  • 利益!

ちなみにコードは利用可能です:https : //code.google.com/p/metadynamic-programming/

このように、ワイヤーを設計し、特定の2D問題のルールをコーディングするだけの手動作業で、次のNP完全性を証明することができました。

  • 掃海艇
  • 水平ドミノと垂直トリミノでエリアをカバー
  • kk4k[46]

2
ガジェットの自動生成に関する論文を公開する予定がない場合でも、論文の短い要約を英語で記述し、コードリポジトリにファイルを含める価値はあります。
アンドラスサラモン

-4

質問者は、回答の中でシェーファーの声明のより広範な解釈で大丈夫だと示しました。偶然にも、近くのトピックに関するブログのリンクを収集しており、ここにいくつかの記事を書く予定です。

「二分法thm」2.1を使用して、2つの着色可能な完全一致thm 7.1からNPを完全に削減する例で示されているように、元のステートメント(秒7 p225)は意図が明確です。

Fバツ

シェーファーは、さまざまな入力構成ランダムに生成すること、つまりサンプル調べることも指します。Fバツバツ

これらの一般的なアイデアは、1978年の大規模なブランチや研究プログラムに至る1978年の黙想/「種のアイデア」以来、多くの研究分野で広まり、探求されてきたと見ることができます。シェーファーズ紙の執筆時点。1 番目の一つの一般的な考え方は、インスタンス・ジェネレータ/ソルバー/アナライザを介してNP完全問題特性の実証的分析

  • ここで生み出された最大の研究領域は、ランダムSATインスタンスにあり、それらのSATソルバーのパフォーマンスを調べた結果、1990年代半ばに遷移点が発見されました。 / すべての NP完全問題の特徴。この分野には非常に多くの論文があり、現在は数冊の本があります。例:情報、物理学、計算メザード/モンタナリを参照

  • 充足可能性の問題を分解するか、グラフを使用して充足可能性の問題に関するより良い洞察を得る、Herwig 2006(83pp)。これは、生成されたSATインスタンスの可変節グラフ構造を調べ、その構造/メトリックを分析して硬度との相関を見つける他の公開された研究に対するやや斬新なアプローチです。

  • 推測困難な問題を取り、それらをSATインスタンスとしてエンコードし、その構造を調べるか、SATソルバーを実行して、SATソルバーの動的な動作を観察できます。これが最初に行われた時期を把握するのは容易ではありませんが、初期のケースはおそらく1990年代半ば頃のファクタリングであり、これらのインスタンスはDIMACS SATソルバーコンテストに登場しました。残念ながら、これは必ずしもその時点で個別に公開可能な研究結果とは見なされていませんでした。いくつかのSATの論文に暗示があります。

    例:Satisfy This:An Atempt to Soling Prime Prime Factorization Using Satisfiability Solvers by Stefan Schoenmackers、Anna Cavender、またcs.seの質問で整数因数分解問題をNP完全問題に還元&(他にも関連/散在する(T)CSスタック交換の質問がありますこの)。

2 回目シェーファーズ古い文の中で別の現代の一般的な考え方/シード固有です(ただし、最先端の)SATソルバーSATインスタンスにそれらを変換することによって、一般的にハードなアルゴリズムや数学の問題を攻撃し、既製を使用して(すなわちSAT解法は、SAT式の解が「定理」のようなものであるコンピューター自動定理証明の論理/数学の文字通り最も初期のケースの1つとして広く見なすことができますが、確かに現代のpovは多少シフトしているかもしれません)この面での成功。

  • オルドスの不一致の問題ランダムウォークの境界に関連は非常に難しいと進歩である分析アプローチと限定されていた、とSATを有する新規/前例のない、経験的なアプローチは、最近の関連開い問題のいくつかの重要な結果を達成するために撮影された、Aとして多くの人に祝っ真のブレークスルー。Erdosの矛盾の推測に対するSAT攻撃 Kones、Lisitsa

  • 最適な並べ替えネットワークの研究は数十年前に遡り、特定の数の要素を並べ替えるための最小サイズのネットワークには自然なハードオープンな問題があります。過去数年以内に、これらをSATインスタンスに変換し、それらで標準ソルバーを実行することで、最近大きな進歩がありました。最適な仕分けネットワークの新しい限界 MüllerのEhlersは、他の最近の研究も引用しています。

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