統合とSATソルバー


10

統一は満足度の問題を解決するプロセスであるとウィキペディアで読みました。

同時に、そのようなソルバーが「SATソルバー」または「SMTソルバー」と呼ばれていることも知っています。それで、同じものに対して異なる名前ですか?

それらが異なると言うなら、私の扱いの欠陥を指摘してください。


コンピュータサイエンスはしばしば「充足可能性の問題」を参照しますが、これは実際には一般的な問題の特殊なケースであり[統合に関するWikipediaの記事で言及されています]、「存在する」や単なるブール変数。CSでは、「充足可能性の問題」への言及は、命題またはブール充足可能性の問題(SATと省略)の省略形である場合があります。SATでの統合プロセスは解決
— vzn

回答:


12

SATソルバーはブール充足可能性問題を解決します。これは、「特定のブール式の変数を、式をTRUEと評価するように割り当てることができるかどうかを決定する問題」です。

例では、変数への真理値の割り当てを見つけるあり、Bは、cのように (∨ B ∨ C )∧ (¬ ∨ ¬ B ∨ C )∧ (∨ ¬ B ∨ ¬ C )∧ (¬ ∨ B ∨ ¬ C )真です。SATソルバーは、a = t r u e、a、b、c(a∨b∨c)∧(¬a∨¬b∨c)∧(a∨¬b∨¬c)∧(¬a∨b∨¬c)a=trあなたe、 c = t r u e。b=trあなたec=trあなたe

SMTソルバーは、より一般的な問題、つまり充足可能性モジュロ理論を解決します。これは、「古典的な一次論理で表現された背景理論の同等性に関する論理式の決定問題」です。これらの理論には、「実数の理論、整数の理論、およびリスト、配列、ビットベクトルなどのさまざまなデータ構造の理論」が含まれます。

例えば、所定の型の変数は及びY :I N TとF :I N T → I N T、以下であるか否かを尋ねる F (X + 2 )≠ F (Y - 1 )∧ X = (y − 4 )満足できる。SMTソルバーは、解x = − 2、yで、yesと答えます。 バツ:私んty:私んtf:私んt→私んtf(バツ+2)≠f(y−1)∧バツ=(y−4)バツ=−2、 f (0 )= 1 および f (1 )= 3。y=2f(0)=1f(1)=3

book(バツ、"釣り"、2010)book(D.〜スミス、y、2010){バツ↦D.スミス、y↦"釣り"}


「統一はおそらくSMTソルバーのどこかで(そしておそらくSATソルバーでも)使われている」という文では、すべての単語はよく知られていますが、私はそれを理解していません。また、SATがその特殊なケースであるかどうかを理解することが難しいSMTの定義もわかります。
— Val

SATは命題論理を扱います。SMTの基礎となる1次ロジックはより一般的です。
— デイブクラーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.