SATソルバーは、代数攻撃、たとえばwalksatやminisatで非常に重要です。
ただし、ここで利用可能なベンチマークの問題を解決するとき、2つの間に大きなパフォーマンスの違いがあります。これらの問題では、Walksatはminisatよりもはるかに高速です。どうしてこれなの?
この walksatの実装には、いくつかのパフォーマンスの改善があるようです- 国際SATコンテストに含まれなかった理由はありますか?
SATソルバーは、代数攻撃、たとえばwalksatやminisatで非常に重要です。
ただし、ここで利用可能なベンチマークの問題を解決するとき、2つの間に大きなパフォーマンスの違いがあります。これらの問題では、Walksatはminisatよりもはるかに高速です。どうしてこれなの?
この walksatの実装には、いくつかのパフォーマンスの改善があるようです- 国際SATコンテストに含まれなかった理由はありますか?
回答:
はい、MiniSATとWalkSATには大きな違いがあります。まず、はっきりさせましょう-MiniSATは、バックトラッキングと句学習を使用するDPLL / CDCLアルゴリズムの汎用クラスの特定の実装であり、WalkSATは欲張りなステップとランダムなステップを交互に行うアルゴリズムの一般名です。
一般に、DSAT / CDCLは構造化されたSATインスタンスではるかに高速で、WalkSATはランダム k-SATで高速です。工業用および応用のSATインスタンスは多くの構造を持つ傾向があるため、最新のSATソルバーではDPLL / CDCLが支配的です。ただし、インスタンスからインスタンスへの1つの手法が勝つ可能性があり、これがポートフォリオソルバーが一般的になった理由の1つです。
そのページのインスタンスでは、WalkSATはMiniSATよりもはるかに高速であるという主張に多くの問題を抱えています。一つには、ギガバイトのSATインスタンスがあります-それらを何個比較しましたか?WalkSATは、ほとんどの構造化されたインスタンスではまったく競争力がないため、競争ではあまり見られません。
サイドノートで-ViSATはMiniSATがまだ適切であることは正しいです。実際、オープンソースであり、よく書かれているため、MiniSATは、与えられた最適化が有望であることを示すために打ち負かすソルバーです。多くの人が、MiniSAT自体を調整して最適化を紹介しています。最近のSATコンテストの「MiniSATハック」カテゴリをご覧ください。
sat インスタンスには大きな違いがあります。SATソルバーは、インスタンスのクラスで良好に動作しますが、インスタンスのクラスでは不十分です。一方、ソルバーは、クラス良好に動作し、クラス不十分です。
このトピックで読むのに良い紙があり、この1 Nudelmanによるら。この論文の要点は、SATインスタンスの計算しやすい機能を判断することです。この機能により、どのアルゴリズムが適切に実行される可能性が高く、どのアルゴリズムがそうでないかがわかります。この手法を使用すると、問題のあるインスタンスを迅速に分析し、最も適切なアルゴリズムでインスタンスを解決するポートフォリオベースのアルゴリズムを構築できます。それに続く論文の進展があります。SATzillaをグーグルで検索すると、たくさんの読み物が見つかります。
ソルバーSATなぜあなたは迷っている場合はソルバーよりも良いかもしれません上のすべての例では、よく、私はの進捗状況:)ことを推測します。ソルバーが特に優れている理由を知りたい場合は、おそらくいくつかの博士論文に変換できます。Nudelman らの論文から始めることをお勧めします。