SATソルバーを特殊なアルゴリズムと競合させる


11

SATソルバーを特殊なグラフアルゴリズムと競合させるための障害は何ですか?言い換えれば、アルゴリズム設計者の役割を置き換えることができるSATソルバーを期待することは可能ですか?つまり、問題の構造を自動的に認識し、専門のアルゴリズムと同じくらい迅速に解決することができますか?

ここで、今日のSATソルバーにとってやりがいがあると思ういくつかの例を示します。

  • サイズ独立したセットをカウントします。「xはサイズkの独立したセット」をエンコードすると、解決が難しい大きな式が得られます。理想的なSATソルバーは、この問題が境界付きツリー幅グラフで簡単であり、バッグに追加の「カウント」変数が追加されていることを認識します。k

  • 最小のシュタイナーツリーを見つけます。繰り返しになりますが、「Steiner tree」にはグローバルな制約がありますが、特別なアルゴリズム(ここのような)により、追加の変数を追加することでタスクが簡単になります

  • 平面的な完全一致に帰着する問題。


これはすでに起こっているのではないでしょうか?問題をSATに減らしてからソルバーを実行するのが一般的なトリックです。
スレシュヴェンカト

はい、しかし彼らは競争力がありますか?平面グラフのオイラー部分グラフを記述する単純な制約のセットを取り、多項式時間で#SATを実行できるSATソルバーがあるかどうか疑問に思っています
ヤロスラフ

回答:


7

SATインスタンスの内部構造を視覚化するのに役立つ素晴らしい論文があります。Carsten SienzによるSATインスタンスとDPLLアルゴリズムの実行の視覚化(SAT 2004に登場)を参照してください。基本的に、満たされた句間の関係を視覚化するために、著者が「変数相互作用グラフ」と呼ぶグラフを描画します(いくつかの規則に従って)。著者は、DPLLのいくつかの部分的な実行によってこれを示しています。

主な主張は、これらの視覚化技術を使用して構造を検出し、そのための適切なアルゴリズムを設計できることです。しかし、論文で提示されているような構造をどのように効率的に検出できるかはまだ明らかではありません。ある特定の問題に対するSATアルゴリズムは、他の問題ではうまく動作しないことがよく知られています。私の知る限り、この主張は正式に述べることはできませんが、「無料昼食」はありません。


関連する「no-free-lunch」定理は「no-free-lunch.org」の「検索用の無料ランチなし」だと思います。基本的に、考えられるすべての問題構造を検索する余裕はなく、特定の構造に向かって検索をバイアスする必要があります。人間アルゴリズムの設計者が既にあることを行うので、私はのOKだと思います
ヤロスラフBulatov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.