2つの数量詞()を使用した式の確認-2QBF


15

SATソルバーは、1つの数量詞でブール式の有効性をチェックする強力な方法を提供します。

たとえば、有効性を確認するには、SATソルバーを使用してが充足可能かどうかを判断できます。有効性を確認するには、SATソルバーを使用してが充足可能かどうかを判断できます。(ここではブール変数のベクトルで、はブール式です。)φ X X φ X ¬ φ X X = X 1··· XのNN φx.φ(x)φ(x)x.φ(x)¬φ(x)x=(x1,,xn)nφ

QBFソルバーは、任意の数の数量詞を持つブール式の妥当性をチェックするように設計されています。

2つの量指定子を持つ数式がある場合はどうなりますか?有効性をチェックするための効率的なアルゴリズムはありますか。QBFに一般的なアルゴリズムを使用するよりも優れたアルゴリズムですか。具体的には、という形式の式があり(または)、およびその有効性を確認したい。これに適したアルゴリズムはありますか? 編集4/8:このクラスの式は2QBFとしても知られていることがわかったので、2QBFに適したアルゴリズムを探しています。X Y ψ x y x.y.ψ(x,y)x.y.ψ(x,y)

さらに専門化する:私の場合、という形式の式があり有効性を確認したい。ここで、はビット出力を生成する関数です。QBFの一般的なアルゴリズムよりも効率的に、この特定の種類の式の有効性をチェックするアルゴリズムはありますか?f g kx.y.f(x)=g(y)f,gk

PS複雑さの理論において、最悪の場合の硬度については質問していません。私は実際に役立つアルゴリズムについて尋ねています(SATはNP完全であるにもかかわらず、現代のSATソルバーが多くの問題で実際に役立つように)。


4
X Y ψ X Y xy ψ(x,y)は、本質的に同等ではありません。xy ψ(x,y
ハックベネット

2
私は、彼らがSATソルバのため困難とのいずれかの解決策は興味深いものになるだろうということの両方だという点で、OPは、非公式にこのことを意味だと思う
スレシュヴェンカト

1
@HuckBennett、この2つは同等の硬度を持っていると思います。(証明:はが有効な場合にのみ有効です。という形式の式の妥当性をテストしまた 、により、式およびの有効性をテストします。 。¬ X Y ¬ ψ X Y X Y ψ X Y X Y ψ X Y ψ 'X Y = ¬ ψ x.y.ψ(x,y)¬x.y.¬ψ(x,yバツyψバツyバツyψバツyψバツy=¬ψバツyバツyψバツy
DW

6
@DWは、必ずしもそうではありません。たとえば、SATとTAUTは同じ複雑さを持つとは考えられていません。
カヴェー

4
@chazisop:OPは、一般的なQBFソルバーではなく、 -SATアルゴリズム/ソルバーを求めていると思います。ただし、QBFソルバーは多数存在します。qbflib.orgの「ソルバー」タブを参照してくださいΠ2/Σ2
ハックベネット

回答:


22

私が、率直に言って、自分自身を宣伝するかもしれない場合、私たちはこの昨年の抽象化ベースの2QBFアルゴリズムについての記事を書きました 。qdimacsの実装があります。必要に応じて提供できますが、私の経験から、特定の問題にアルゴリズムを特化することで大きな恩恵を受けることができます。古い論文「2QBFアルゴリズムの比較研究」もあり、これはかなり簡単に実装可能なアルゴリズムも示しています。


驚くばかり!おかげで、ミコラス、これは私が望んでいたようなものです。
DW

2
こんにちは@DW助けてくれてうれしいです。うまくいけば、この便利な機能のいくつかが見つかるでしょう。QBFはSATとはまったく異なる獣なので、非常に簡単に爆発する可能性があるため、少し注意する必要があります:-)。私たちの仕事についてさらに詳細な質問があれば、私に電子メールを書いてください。
Mikolas

7

これに関連する2つの論文を読みました。1つは2QBFに特に関連しています。論文は次のとおりです。

増分決定、Markus N. RabeおよびSanjit Seshia、「満足度テストの理論と応用(SAT 2016)」。

CADETという名前のツールにアルゴリズムを実装しています。基本的な考え方は、制約が一意のスコーレム関数を記述するまで、または不在が確認されるまで、新しい制約を式に徐々に追加することです。

2つ目は、インクリメンタルQBFソルビング、フロリアンロンシング、ウーヴェエグリーです。

DepQBFという名前のツールで実装されます。数量詞の交替の数に制約を加えません。それは、密接に関連するqbf式があるという前提から始まります。漸進的解決に基づいており、最後の解決中に学習した節をスローしません。現在の式に句とキューブを追加し、句またはキューブが空の場合(unsatまたはsatを表す場合)に停止します。

編集:単に見通しのために、これらのアプローチが2QBFベンチマークでどれだけうまく機能するか。毎年開催されるQBFコンペティションQBFEVALの結果については、QBFEVal-2018の結果をご覧ください。2019年には2QBFトラックはありませんでした。

2QBFトラック QBFEVAL-2018 DepQBFを 受賞したCADETはした第二のレースインチ

したがって、これら2つのアプローチは実際には(少なくともQBFEVALベンチマークでは)実際に非常にうまく機能します。


4

充足表示するには、私たちは、それぞれのSATソルバーへのアクセスを持つ2人のプレーヤーAとBでゲームをプレイすることができます。私たちは、ドメインで作業している場合D、その後A(第一を含む)各反復では、制約は(それが空の開始)、それが持っている設定を満たす要素を選択し、Dは、私たちの候補として式を満たします。その後、Bは満足しようと¬ φ [ / X ]をいくつかとB B。Bがこれを実行できない場合、これはaが機能し、処理が完了したことを意味します。そうでない場合は、Aに戻り、その制約セットに追加しますϕバツyϕDaD¬ϕ[a/バツ]bBa、この種の間違いが二度と起こらないことを保証します。私は、 ϕの形式について考え、この種の手順をより戦略的な方法で実行でき、特定の候補または既知の対称性を削除するのに十分なサブセットに依存して、この検索の一部を早期に削除できると感じています。Aの初期制約セットに独自の制約を追加することもできます。ϕ[b/y]ϕ


2
ϕϕ

あなたが目を細めで、実際、それはあなたが種類のソルバーを持っている任意の可補束のために働く場合、それは非常にうれしいです、敵対機械学習との類似性があります
サミュエル・シュレシンジャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.