DPLLに基づいていないSATアルゴリズム


回答:


21

解決策検索(いくつかの優れたヒューリスティックで解決規則を適用するだけ)は、SATソルバーの別の可能な戦略です。理論的には、DPLL(指数を短く証明する問題が存在する)よりも強力です(つまり、ツリー解像度を実行しますが、パワーを向上させるための良い学習なしに増強できます-それが一般的な解像度と同じくらい強力になるかどうか)私が知っている限りは開いています)が、より良いパフォーマンスを実現する実際の実装は知りません

完全な検索に制限しない場合、WalkSatはローカル検索ソルバーであり、満足のいくソリューションを見つけるために使用でき、多くの場合DPLLベースの検索よりも優れています。ただし、失敗したすべての割り当てをキャッシュしない限り、これは指数関数的なメモリ要件を意味しますが、これを使用して不満を証明することはできません。

編集:追加を忘れた- 切断面も使用できます(SATを整数プログラムに減らすことにより)。特に、整数プログラムを最適に解くには、Gomoryカットで十分です。最悪の場合でも、指数関数が必要になる場合があります。Arora&BarakのComputational Complexity本には、SAT解法のようなものに理論上使用できる証明システムの例がいくつかあると思います。繰り返しになりますが、DPLLベースまたはローカル検索ベースのメソッド以外の高速実装は実際には見たことがありません。


9
節学習(または、あなたがそれを呼ぶように、良い学習ではない)と再起動を伴うDPLLは、一般的な解決と同等であることが示されています。
ヤンヨハンセン

1
@JanJohannsen、これはあなたが参照する論文ですか?arxiv.org/abs/1107.0044
ラドゥグリゴール

5
はい、次の論文にも改善があります:Knot PipatsrisawatおよびAdnan Darwiche。解決エンジンとしての節学習SATソルバーの力について。人工知能175(2)、2011、pp。512-525。dx.doi.org/10.1016/j.artint.2010.10.002
Jan Johannsen

3
Beame等による論文。Radu Grigoreによるリンクは、一般的な解像度が特定の人工学習戦略を備えたDPLLアルゴリズムによってpシミュレートされることを示しています。上記の論文は、実際に使用される自然学習戦略について示しています。
ヤンヨハンセン

12

調査の伝播は、ある種のSAT問題、特にランダムSATインスタンスで成功して使用されている別のアルゴリズムです。WalkSATと同様に、不満を証明するために使用することはできませんが、WalkSATとは非常に異なるアイデア(メッセージパッシングアルゴリズム)に基づいています。



7

また、すべてのCSPソルバーはSATソルバーでもあると言えます。そして、私が知る限り、CSPで使用される2つの方法があります。

  • 可能な限り早く一貫性を維持するためにシェービングを使用する可能性のある、検索スペースの整理とアークの一貫性のチェックを伴う包括的なDFS。
  • ローカルメソッド(タブー検索、シミュレーテッドアニーリング)

4

モンテカルロツリー検索(MCTS)は最近、Goなどのゲームでいくつかの印象的な結果を達成しました。大まかな基本的な考え方は、ランダムシミュレーションとツリー検索のインターリーブです。軽量で実装が簡単で、リンクした研究ハブページには、多くの例、論文、コードも含まれています。

Previti et al。[1] SATに適用されるMCTSの予備調査を行いました。MCTSベースの検索アルゴリズムUCTSAT(「ツリーSATに適用される信頼限界の上限」、必要に応じて)を呼び出します。彼らは、UCTSATがDPLLよりも大幅に小さな検索ツリーを生成するかどうかを確認する目的で、SATLIBリポジトリのインスタンスでのDPLLとUCTSATのパフォーマンスを比較しました。

異なるサイズの均一ランダム3-SATおよびフラットグラフカラーリングインスタンスの場合、大きな違いはありませんでした。ただし、UCTSATは実世界のインスタンスでより優れたパフォーマンスを発揮しました。4つの異なるSSA回路障害分析インスタンスの平均ノードサイズ(ノード数)は、DPLLでは数千でしたが、UCTSATでは常に200未満でした。


[1] Previti、Alessandro、Raghuram Ramanujan、Marco Schaerf、およびBart Selman。「ブール充足可能性のためのモンテカルロスタイルUCT検索」AI * IA 2011:人とその周辺の人工知能、pp。177-188。スプリンガーベルリンハイデルベルク、2011年。


-4

DPLLは変数訪問順序を厳密に指定しておらず、最適な変数順序攻撃戦略を検討している多くの興味深い研究があります。この一部は、SATアルゴリズムの変数選択ロジックに組み込まれています。ある意味で、この研究のいくつかは予備的であり、さまざまな可変攻撃の順序付けがさまざまな連続制約(インスタンスの硬さと非常に相関している)につながることを示しており、この明らかに重要な洞察を活用するための最も効果的なヒューリスティックまたは戦略を考案しているようです研究の初期段階で。


4
DPLLに基づいていないアルゴリズムを要求したことを理解していますか?
匿名

2
「ベース」の意味を理解していますか?教えてください:コメントしたいものにコメントするために私の質問を使用しないでください!
匿名

7
あなた自身がDPLLベースであると言っています。私には、これはあなたがシンプレックス法ではないアルゴリズムシンプレックスギブため、異なるピボットルールを言うようなものであるようだ
Sashoニコロフ

7
私はサショーに同意します。また、変数順序付けヒューリスティックに関する研究は、間違いなく初期段階ではありませ。その重要性はかなり前に認識され(完全な神託の結果を想像してください)、それらの分析に多くの時間が費やされました。CSPソルバーでは、値の順序付けのヒューリスティックがより興味深いものになります。何らかの理由で、変数の順序付けのようにそれらの研究が急成長しているとは思いません。
たJuho

4
具体的には、変数順序付けヒューリスティックに関する最初の研究は70年代に遡ります。興味があれば、関連する参考文献を掘り下げてください。
たJuho
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.