SATエンコーディングのレシピ本?


16

SATソルバーは、大きなインスタンスをより効率的に解決し、さまざまなコンテキストでバックエンドとして使用されています。特定のドメインの問題を解決するためにそれらを使用するたびに、適切なソリューションのセットを持っているだけでなく、フォームに制約(冗長であっても)を置くアドホックエンコーディングを考え出す必要があります。これにより、ソルバーのヒューリスティックが解決策を迅速に見つけることができます。

そのようなエンコードの多くは、私には非常に一般的だと思われます。たとえば、ノードの有限セットがツリー、DAG、またはリストとしてソートされていると断言する...

最適化されたソリューションの一般的な問題に関する一般的なエンコーディングのリポジトリ/レシピ本はありますか?


1.この質問は非常に便利に見えますが、広範に渡ることもあります。単一のドメインに焦点を当てると、より良い質問になると思います(はい、これにはドメインごとに1つの複数の質問が含まれる場合がありますが、あなたが何をしたかを尋ねて示す前に必ず調査を行ってください)。
DW

2.また、あなたはどんな研究をしましたか?STP、Alloy、MinionなどのSATフロントエンドを見たことがありますか?cs.stackexchange.com/q/12087/755、cs.stackexchange.com / q / 13188/ 755cs.stackexchange.com / a / 6522 / 755cs.stackexchange.com / a / 12153 /を見ましたか755sat-solversまたはsatisfiabilityとタグ付けされた質問で?
DW

はい、質問は少し広いかもしれません。@DWは、それらのいくつかが直接関連しているリンクをありがとう。特定の問題を解決することにも、より効率的なエンコードのための一般的な方法に関心があることもありません。私が使用した「ベストプラクティス」という表現は、おそらく誤解を招く可能性があるため、編集します。レシピ本に興味があります=)
ボルダイゴル14年

...私は(ハイパー)グラフ理論だと思いますが、これは非常に広いおそらくまだあるドメインについて
Bordaigorl

関連する質問もご覧くださいcs.stackexchange.com/q/12087
アンドラスサラモン

回答:


9

数年前に関連性があると思われる調査論文を読んだ。MagnusBjörkによる「Successed SAT Encoding Techniques」。

概要:

この記事では、多くの有名なSAT専門家とのインタビューを分析することにより、SATエンコードの優れた実践例を特定します。目的は、専門家の間でコンセンサスがあるかどうかを分析することにより、異なるエンコード戦略の信頼性を決定することと、SATユーザーに隠された知識を引き出すことです。

エンコード手法は通常、SATソルバーの効率に劇的な影響を与え、適切なエンコードを見つけるには多くの作業が必要であり、エンコードのサイズは解を見つけることの難しさに非常に大まかにしか関係しないというコンセンサスがあります。インタビュー対象者が同意しないトピックには、SAT問題に算術を含めることの実現可能性、および問題を節または回路として定式化するかどうかが含まれます。

この記事では、数値のさまざまな表現方法や増分の使用方法など、さまざまな状況で有効ないくつかの戦略について説明します。


4

最初に満足度ハンドブック[1]を最初に確認することをお勧めします(無料で入手できないと思いますが、申し訳ありません)。ここで、第2章のタイトルは「CNFエンコーディング」です。少なくとも、この本は執筆時点での最新技術に関する文献参照を提供しており、それらを検索する範囲を広げることができます。

さらに、ここここに、SAT前処理に関する最近の2つのスライドがあります。スライドは、前処理技術の簡潔な概要と、さらに参考資料を提供します。アイデアは、効率的な方法で問題を「手動で」モデル化するのではなく、最も簡単な方法でモデル化し、goを押すだけで、ソフトウェアが効率的なエンコーディングを提供するというものです。


[1] Biere、Armin、Marijn Heule、およびHans van Maaren編。充足可能性のハンドブック。巻 185. IOS Press、2009。


3

正確な直接的な答えではなく、次第に密接に関連する別の角度:このいくつかは、SMT、Satisfiability Modulo Theoriesとして知られる比較的新しい研究分野によってカバーされています。基本的な考え方は、問題のエンコーディング(たとえば、整数演算、グラフなど)をSATソルバーに結合することですが、このカップリングから得られる追加の知識を使用/活用して、より高度なソリューションアルゴリズムを構築することです。アンケートをご覧ください。指摘したように、アドホックエンコーディングメカニズムを標準のSATソルバーと組み合わせるよりもはるかに効率的です。

  • Satisfiability Modulo Theories:An Appetizer / Leonardo de Moura and NikolajBjørner

    充足可能性モジュロ理論(SMT)は、1つ以上の理論上の論理式の充足可能性をチェックすることに関するものです。この問題は、コンピューターサイエンスの最も基本的な分野のいくつかの組み合わせに基づいています。これは、ブール充足可能性の問題を、コンベックス最適化や記号システムを操作する項で研究されたドメインなどのドメインと組み合わせます。また、シンボリックロジックの過去1世紀で最も多産な問題、つまり、決定問題、論理理論の完全性と不完全性、そして最後に複雑性理論を利用します。各ドメインの特別な目的のアルゴリズムをモジュール的に組み合わせる問題は、組み合わせのコンテキストで特にうまく機能する新しいアルゴリズムを見つけるのと同じくらい深く、興味深いものです。SMTは、ソフトウェアエンジニアリングでも非常に有用な役割を果たしています。最新のソフトウェア、ハードウェア分析およびモデルベースのツールは、ますます複雑で多面的なソフトウェアシステムです。ただし、その核となるのは常に、状態とそれらの間の変換を記述するためのシンボリックロジックを使用するコンポーネントです。最先端のブレークスルーを考慮に入れた適切に調整されたSMTソルバーは、通常、カスタムアドホックソルバーをはるかに超えてスケ​​ーリングします。


これは非常に良い点です。あなたはSMTソルバーを使用する場合でもしかし、成功した「レシピ」の恩恵を受けることができる検索の純粋にSATベースの部分が...そこにある
Bordaigorl

(述べたように/私の理解では)生成されたインスタンスの特別な既知の/構築された構造を「バニラ」ソルバーが使用しないヒューリスティックで使用するため、「純粋にSATベースの検索部分」と言うのは完全に正確ではありません「認識」。言い換えれば、それ(つまり組み合わせ)は、構成部分(つまり、エンコーダーとソルバー)または単に別の標準化されたエンコードシステムに「縮小/分離」できません。
vzn 14年

そうですか。感謝します!
ボルダイゴール14年

承知しました。また、回答セットのプログラミングも多少似ていることに注意してください。
vzn 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.