SATにソリューションを組み込むことは可能ですか?


10

NP完全問題の「ハード」な個別インスタンスに興味があります。

Ryan Williams はRichard LiptonのブログでSAT0の問題について議論しました。SAT0は、SATインスタンスがすべて0で構成される特定のソリューションを持っているかどうかを尋ねます。これにより、「難しい」と思われるSATインスタンスの構築について考えました。

句と変数を持つSATインスタンスを考えます。は、ほとんどすべてのインスタンスが満たされない相転移を超えた領域に分類されるという意味で、「十分に大きい」です。ましょうの値にランダムに割り当て可能。ϕmnα=m/nxϕ

それは、変更することは可能です新しいインスタンスを取得するには、そのため「主に似て」であるとが、そうすることをために満たすassigmentです?ϕϕ|xϕ|xϕxϕ|x

たとえば、各句に、ソリューションからランダムに選択されたリテラルを追加しようとすることができます。これは、が解であることを保証します。x

または、これは絶望的であり、次の最近の論文に沿って「隠された」ソリューションを見つけるための高速アルゴリズムにつながりますか?

私はクックとミッチェルによる議論を知っていて、彼らが参照する仕事をしています。しかし、満足のいく代入式を明示的に埋め込もうとしたときに、式の構造がどうなるかについては何もわかりませんでした。これが民間伝承なら、ポインタは大歓迎です!

  • スティーブンA.クックとデビッドG.ミッチェル、充足可能性問題のハードインスタンスの発見:調査、離散数学および理論コンピューターサイエンスのDIMACSシリーズ35 1–17、AMS、ISBN 0-8218-0479-0、1997。(PS

回答:


13

任意の式を取り、それを式に変更できます。ここで、は、のみが解である "ハード" SATインスタンスです。このような式を作成する1つの方法は、暗号を使用することです。もしが一方向の順列であり、ランダムにを選択し、を設定する場合、をSAT式に変換して、が唯一の解となるようにして、検出が反転に対応するようにすることができます。(このはランダムである必要がありますが、とにかく、φ ψ X ψ X X F { 0 1 } のn{ 0 1 } のn xは、Yが= F X Y 、X 、X F X Xφφψxψxxf:{0,1}n{0,1}nxy=f(x)yxxfxxは難しいはずです。)


ああ、はと多項式サイズを持っています。ありがとう! φ ψ Xϕψxϕψx
アンドラス・サラモン

6

私があなたの質問の核心を正しく理解しているなら、(場所にいるので)比較的簡単なインスタンスを取り、それを埋め込むことによって難しいインスタンスに変換したいでしょう解決。これがうまくいくとは思えません。mn>4.3

実験データは、事前定義されたソリューション「周囲」でランダムなインスタンスを構築する場合、そのようなインスタンスは通常よりも簡単であることを示唆しています(同じとを持つ類似のインスタンスと比べて)。それは、隠されたソリューションがSATソルバーを助け、検索スペースをガイドするようなものです。通常、このようなインスタンスを構築するために、通常のようにランダムな句を生成します(たとえば、ランダムにリテラルを選択し、確率でそれらをそれぞれ否定します)が、これらの句を破棄します。隠された解。とハードインスタンスを作成するアプローチに関するものn m k p = 1xnmk xϕ| xϕϕ| xxllϕϕ| xϕϕ| バツp=12バツφ|バツφ:私は一度も試したことはありませんが、が簡単ではないにしても簡単になると"感じ" ます。これを行うと、のリテラルのヒットカウントが増加し(リテラルヒットカウントは特定の数式でのの出現回数です)、これによりSATソルバーがターゲットに駆動されると思います。との解空間は、ライアンウィリアムズのSAT0の例(ほとんど同じ解空間ですが、完全に異なる硬度)のように、似ています(ほとんど同じではない場合)。実際にアプローチを試しましたか?同じSATソルバーがとどのように動作するかを見るのは興味深いでしょう。φ|バツバツllφφ|バツφφ|バツ

編集1(2010年9月23日):もう少し考えた結果、実際には解空間はのものとは非常に異なると思います。各句にリテラルを追加するので、そのような句により多くの自由度を与えます(つまり、各句が満たされる可能性が高くなります)。おそらく結果のソリューションスペースは大幅に変換されます。ϕφ|バツφ

編集2(2010年10月1日):次の非常にシンプルで独創的なアイデアについては考えました。初期インスタンスと割り当て与えられた場合:xφバツ

  1. から、満たさないすべての句を削除します。これにより解のスペースが拡大し、埋め込まれます。x xφバツバツ

  2. 句を削除したとします。ここで新しい句をランダムに追加します。それらがによって満たされないことがないように注意してください(これにより、解のスペースが再び狭くなりますが、を押し出さなくなります)。m x x xメートルバツメートルバツバツバツ

これがうまくいくかどうかわかりません。まだ試していません。ステップ1は常に埋め込むように管理すればより正確には、私はわからない(多分解空間で、それらのそれぞれがによって不満はない場合でも、節のいくつかの組み合わせによって除外された?)。x xバツバツバツ


コメントをありがとう、ソリューションスペースが変更されることに同意します。質問で示しように、式を変更してソリューションを非表示にする方法があるかどうかを知りたいです。各句にリテラルを追加することは、ソリューションを式に追加できることの存在証明です。これが唯一の、最良の、あるいは良い方法であると示唆するつもりはありませんでした。
アンドラスサラモン

どういたしまして、アンドラス。はい、ソリューションは確かにメソッドを使用して追加できます。必要に応じていることの解空間が正確に等しい解空間に加えて、ちょうどその解、私はこれを得るのが困難だと思います。一方、他の多くのソリューションが追加されることを受け入れる場合は、戦略は問題ありません。ϕ | x ϕ xバツφ|バツφバツ
Giorgio Camerani 2010

理想的には1が...「あまり」解空間を変更しないpolytime-計算方法を望んでいる
アンドラス・サラモン

植えられたクリークに対してFeigeによって言及されたアルゴリズムがこれらの植え付けられたソリューションのいずれでも引き続き機能するかどうかを確認することは興味深いでしょう。n3log 
アンドラス・サラモン

@Walter:単純な "find a -clique"アルゴリズムを調査するのが興味深いと思う理由は、SATをCLIQUEに最も簡単に削減するには、個の頂点を持つグラフで -clique が必要なためです。このと間のギャップを埋めるか、ブリッジできないことを示すことが興味深いでしょう。n 2 n n 3 log nログ2ログ
アンドラス・サラモン

4

私が知っているNP完全問題のハードインスタンスを生成する最良の方法は、クックマッピングを使用して、他の特定のハードNP問題(離散対数問題や整数因数分解など)の注意深く選択されたインスタンスをSATに削減することです。これらは、RSAやDiffie-Hellmanなどのプロトコルで暗号セキュリティを確保するために数学者が使用するのと同じ「難しい問題」です。


参考にしてください。
gphilip 2010

なぜこの回答への反対票かはわかりません。それをした人は誰でも説明すべきです。
Suresh Venkat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.