最初のSATソルバーを作りたいです。私はSATコンペティションとSATコンファレンスを知っていますが、このテーマに関する論文はたくさんあります。私はスターターであり、圧倒的なスターターです。どこから始めればいいですか?最終的には、最先端をプッシュしたいと思います。開始方法について専門家のアドバイスが欲しいので、あまり重要ではないものに早すぎる時間を費やさないようにします。どうもありがとう。
最初のSATソルバーを作りたいです。私はSATコンペティションとSATコンファレンスを知っていますが、このテーマに関する論文はたくさんあります。私はスターターであり、圧倒的なスターターです。どこから始めればいいですか?最終的には、最先端をプッシュしたいと思います。開始方法について専門家のアドバイスが欲しいので、あまり重要ではないものに早すぎる時間を費やさないようにします。どうもありがとう。
回答:
初心者向けの優れた概要は、2009年の次の記事に記載されています。
技術的な側面に入る方法はいくつかあります。オリジナルのデービス・パトナム論文から始めることもできます。非常に明確で、詳細な例があります。コースでSATの最適化について議論するとき、数人がすでにそこにいると想像するかもしれないことを発見しました。Davis-Logeman-Lovelandの論文は(あまり感じないが)あまり有益ではありませんが、とても短いので読むことができます。
次の50年の発展に追いつく方法があります。講義スライドをお勧めします。「DPLL」を検索するだけで、多くのチュートリアルが表示されます。それらを閲覧すると、ある程度霧が消えるはずです。多くの有用な調査もあります。Zhang-Malikの論文は、始めるのに適した場所です。Handbook of Satisfiabilityには、役に立つと思われる記事がいくつかあります。
私はミコラオスの提案を二番目にします。MiniSATコードはクリーンで管理可能なサイズです。あなたはそれで遊ぶことができます。他にもいくつかのソルバーを試すことができます。CryptoMiniSatも非常にきれいです。また、SATソルバーを作成し、SATソルバーを作成することについて書いているArmin Biereの作業を参照してください。
良い調査用紙から始めてください。主題の断片を攻撃することは簡単であり、同じ技法や異なる技法に使用される同じ名前について、文献の異なる名前に混乱する可能性があります。また、最新技術がわからない場合は、古いアルゴリズムの戦い(たとえば、発生するリスト対頭尾リスト対DPLL実装の2つの監視リテラル)を簡単に再現できます。
ゴメス他による充足可能性ソルバー 等 大まかな土地を提供します。
Mantheyによる最先端の技術を使用してSATソルバーを改善すると、現在に近づくことができます。