SATインスタンスの難易度を測定する


28

SATのインスタンスが与えられた場合、そのインスタンスを解決するのがどれほど難しいかを推定したいと思います。

1つの方法は既存のソルバーを実行することですが、そのようなことは難易度を推定する目的に反します。2番目の方法は、ランダムSATのフェーズ遷移で行われるように、変数に対する句の比率を調べることですが、より良い方法が存在するはずです。

SATのインスタンスを考えると、難易度を測定するための高速なヒューリスティックがありますか?唯一の条件は、これらのヒューリスティックがインスタンスで既存のSATソルバーを実際に実行するよりも高速であることです。


関連する質問

どのSATの問題は簡単ですか?cstheory.SEで。この質問では、扱いやすいインスタンスのセットについて尋ねられます。これは似たような質問ですが、まったく同じではありません。単一のインスタンスが与えられ、そのインスタンスが解決するのが難しいものであるかどうかのある種の半インテリジェントな推測を行うヒューリスティックに本当に興味があります。


「密度」に対する相転移が必要なものではない理由を詳しく説明できますか?
ラファエル

@Raphaelはかなり良い方法です。質問でそれについて言及します。しかし、より良いヒューリスティックが存在するという印象を受けました。相転移は私を悩ますので、私を悩ます(それはあなたが偽装しようとしているものに簡単に満足できる節またはインスタンスを追加するだけです)
アルテムKaznatcheev

ごめんなさい、あなたの質問のその部分を見逃しました。確かに、コメンターが指摘しているように、相転移は非ランダムな式の影響を受けやすいようです。
ラファエル

2
SAT(CNF)式を2部グラフとして表すことができ、すべての式と節の頂点と出現を表すエッジがあります。このグラフが分割しやすい場合、問題は分割されたサブグラフに分解できます。たぶん、これは有用な尺度として役立つでしょうか?わからない(これがコメントであり、回答ではない理由です)。
アレックス10ブリンク

:あなたはこの便利かもしれませんece.uwaterloo.ca/~vganesh/QPaper/paper.pdf
ユーザー

回答:


22

一般に、これは非常に関連性のある興味深い研究質問です。「1つの方法は既存のソルバーを実行することです...」そしてこれは正確に何を教えてくれるでしょうか?インスタンスは特定のソルバーや特定のアルゴリズム/ヒューリスティックにとって難しいように見えることが経験的にわかりますが、インスタンスの硬さについて実際には何がわかりますか?

追求されてきた1つの方法は、効率的なアルゴリズムにつながるインスタンスのさまざまな構造的特性の識別です。実際、これらのプロパティは「簡単に」識別できることが望まれます。例は、さまざまなグラフ幅パラメーターを使用して測定される、基礎となる制約グラフのトポロジーです。たとえば、基になる制約グラフのツリー幅が定数によって制限されている場合、インスタンスは多項式時間で解けることが知られています。

別のアプローチは、インスタンスの隠された構造の役割に焦点を合わせています。一例として、バックドアセットがあります。これは、インスタンス化されたときに残りの問題が扱いやすいクラスに単純化されるような変数のセットを意味します。たとえば、Williams et al。、2003 [1]は、バックドア変数の検索コストを考慮しても、セットが十分に小さければ、バックドアセットに焦点を当てることで全体的な計算上の利点を得ることができることを示しています。さらに、Dilkina et al。、2007 [2]は、Satz-Randと呼ばれるソルバーが、さまざまな実験領域で小さな強力なバックドアを見つけるのに非常に優れていることに注目しています。

最近では、Ansotegui et al。、2008 [3]は、DPLLベースのソルバーの尺度として、ツリーのような空間の複雑さを使用することを提案しています。彼らはまた、一定の制限された空間が、空間が多項式の次数である多項式時間決定アルゴリズムの存在を暗示していることを証明している(論文の定理6)。さらに、スペースがサイクルカットセットのサイズより小さいことを示しています。実際、特定の仮定の下では、スペースはバックドアのサイズよりも小さくなります。

彼らはまた、私があなたが望んでいることを形式化しています。

ψΓOnψΓ


[1]ウィリアムズ、ライアン、カーラP.ゴメス、およびバートセルマン。「典型的なケースの複雑さの裏口。」人工知能に関する国際共同会議。巻 2003年18月。

[2] Dilkina、Bistra、Carla Gomes、およびAshish Sabharwal。「バックドア検出の複雑さのトレードオフ。」制約プログラミングの原理と実践(CP 2007)、pp。256-270、2007。

[3]アンソテギ、カルロス、マリア・ルイサ・ボネ、ジョルディ・レヴィ、フェリィ・マニャ。「SATインスタンスの硬度の測定」。人工知能に関する第23回全国会議(AAAI'08)の議事録、pp。222-228、2008年。


ψΓ

@ArtemKaznatcheev実際に使用されているのはおそらくバックドアセットだけだと思います。ソルバーを実行するとき、式の硬さはあまり気にしません。それにもかかわらず、インスタンスを解決する必要があります。測定は計算上の利点を提供する必要があります。または、適切なヒューリスティックを選択するために使用できます。それ以外は、硬さの尺度はまだかなり実験的だと思います。
たJuho

1

相転移について知っているので、私が知っている他のいくつかの簡単なチェックについて言及させてください(おそらく制約グラフ分析によって包含されます):

  • 一部の初期のランダムSATジェネレーターは、「一定の密度」、つまりすべての節の長さのほぼ等しい割合を使用していたため、ほとんど簡単な式を誤って作成しました。予想どおり、2節と単位が問題を大幅に単純化し、実際に長い節では分岐が追加されないか、ハイパー解像度がさらに向上するため、これらはほとんど簡単でした。そのため、固定長の句に固執し、他のパラメーターを変更する方が良いようです。
  • |バツ||¬バツ|バツ
  • v1v2v3{v1v2}{v2v3}{v1v3}

[1] https://arxiv.org/pdf/1903.03592.pdf


0

Juhoの優れた答えに加えて、別のアプローチがあります:

Ercsey-Ravasz&Toroczkai、制約満足度へのアナログアプローチにおける一時的なカオスとしての最適化の硬さ、Nature Physics volume 7、966〜970(2011)。

このアプローチは、SAT問題を動的システムに書き直すことです。システムの任意のアトラクタは、SAT問題の解決策です。システムの引き込み領域は、問題が難しくなるにつれてフラクタルになります。そのため、SATインスタンスの「難易度」は、システムが収束する前に過渡現象のカオスを調べることで測定できます。

実際には、これは異なる初期位置からソルバーの束を開始し、アトラクターに到達する前にソルバーが混oticとした過渡現象から逃れる速度を調べることを意味します。

「解決策」が特定のSAT問題の解決策である動的システムを思い付くのは難しくありませんが、解決策がすべてリペラではなくアトラクターであることを確認するのは少し難しくなります。彼らの解決策は、エネルギー変数(ラグランジュ乗数に類似)を導入して、制約がどれほどひどく違反されているかを表し、システムがシステムのエネルギーを最小化するようにすることです。

興味深いことに、それらの動的システムを使用すると、アナログコンピューターで多項式時間でSAT問題を解くことができます。キャッチがあります。エネルギー変数を表すために指数関数的に大きな電圧が必要になる場合があるため、残念ながら物理ハードウェアではこれを実現できません。


1
「それらの動的システムを使用すると、アナログコンピューターで多項式時間でSAT問題を解くことができます。それ自体は驚くべき結果です。」これは驚くべきことだとは思いません。ご指摘のとおり、指数精度が必要です。これは実際には、NPの定義に直接リンクする標準的なトリックです。指数関数的に正確に測定できる場合は、受け入れパスの数を推定して(またはランダムウォークdyn sysとして表示)、それが正確にゼロか数個かを確認してみてください(もちろん、指数関数的に正確な測定が必要になりますが、動的システムと同じ)。
Artem Kaznatcheev

ありがとう。アナログコンピューティングに関する理論的な結果はあまり知りません。
仮名
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.