私はさまざまなSATソルバーを調べて、それらがどのように機能し、なぜ特定の方法で設計されているのかを理解しようとしています。(しかし、私は今のところ大学にいないので、教授をしている人を知りません。誰かが助けてくれることを願ってここに投稿します。本当に感謝します。)
チャフ、BCP(ブール制約伝播)が異なる原稿から実現されるDPLL:これは、2つの見て、それをしないリテラル時間(最初に提案ものからわずかに異なる技術でSATO:効率的な命題証明者)2001紙によれば、チャフ:エンジニアリング効率的なSATソルバー。ただし、このホワイトペーパーでは、純粋な文字の削除については触れていません。
でピュアリテラル撤廃の複雑さ、ヤンJohannsenが書きました
ChaffやBerkMinのようなDLLタイプのSATソルバーの現在の最良の実装では、ユニットの伝播で効率を上げるためにこのヒューリスティックを犠牲にします。
ここで、「このヒューリスティック」は、純粋な文字消去を指します。純粋な文字消去が何をするかについての私の理解は、
- すべての単極(または純粋)リテラルを検索します
- ブール値を割り当てて、それぞれが
True
- その場合、それらを含むすべての句を削除できます。
これが私の質問です:
犠牲はどのように必要ですか?ChaffのようなDPLLベースのアルゴリズムで純粋なリテラル除去が欠けている正当な理由はありますか?各決定レベルで純粋な文字削除を行うことはできませんか(または少なくとも分岐前の最初に行うことはできません)。