Skip to main content
QUICK REVIEW

[論文レビュー] Guiding High-Performance SAT Solvers with Unsat-Core Predictions

Daniel Selsam, Nikolaj Bjørner|arXiv (Cornell University)|Mar 12, 2019
Software Engineering Research参考文献 41被引用数 5
ひとこと要約

本論文では、実世界のSAT問題における不充足コアを予測し、変数活動スコアの定期的再焦点化によって高性能SATソルバをガイドする、簡素化されたNeuroSATアーキテクチャであるNeuroCoreの使用を提案する。変更されたMiniSat、Glucose、Z3ソルバは、標準的および専用のベンチマークで、オリジナルバージョンよりも10–20%多く問題を解けることを示し、神経コア予測が実際の産業問題におけるソルバ性能を顕著に向上させることを示している。

ABSTRACT

The NeuroSAT neural network architecture was recently introduced for predicting properties of propositional formulae. When trained to predict the satisfiability of toy problems, it was shown to find solutions and unsatisfiable cores on its own. However, the authors saw "no obvious path" to using the architecture to improve the state-of-the-art. In this work, we train a simplified NeuroSAT architecture to directly predict the unsatisfiable cores of real problems. We modify several high-performance SAT solvers to periodically replace their variable activity scores with NeuroSAT's prediction of how likely the variables are to appear in an unsatisfiable core. The modified MiniSat solves 10% more problems on SAT-COMP 2018 within the standard 5,000 second timeout than the original does. The modified Glucose solves 11% more problems than the original, while the modified Z3 solves 6% more. The gains are even greater when the training is specialized for a specific distribution of problems; on a benchmark of hard problems from a scheduling domain, the modified Glucose solves 20% more problems than the original does within a one-hour timeout. Our results demonstrate that NeuroSAT can provide effective guidance to high-performance SAT solvers on real problems.

研究の動機と目的

  • 簡素化されたNeuroSATアーキテクチャからの不充足コアの神経予測を活用して、高性能SATソルバの性能を向上させること。
  • 既存のSATソルバのコアヒューリスティクスを置き換えることなく、神経ガイドを統合する挑戦に応えること。
  • 訓練用にラベル付きコア変数を備えた大規模で教師ありの不充足問題データセットを生成すること。
  • 不完全なコア予測でも、変数分岐意思決定における有効なガイドとして機能するかを評価すること。
  • 神経コア予測が実世界のSAT問題において測定可能な性能向上をもたらすかを実証すること。

提案手法

  • 命題論理式の不充足コアに現れる可能性の高い変数を予測できるように、簡素化されたNeuroSATモデル、NeuroCoreを訓練する。
  • 既存の不充足問題を減数化し、DRAT証明を用いてコア変数を抽出することで、訓練データを生成する。
  • NeuroCoreをMiniSat、Glucose、Z3に統合し、全問題に対して定期的に問い合わせを行い、予測されたコア出現確率に応じてEVSIDS変数活動スコアをリセットする。
  • 周期的再焦点化戦略を採用:決定毎にではなく、一定間隔でスコアを更新することで、パフォーマンスオーバーヘッドを最小限に抑える。
  • データ生成を効率的に行うために、分散コンピューティング(Ray)を活用し、複数マシンに跨ってデータ生成をスケーリングする。
  • 特にスケジューリングなどのドメイン固有の問題分布に特化した訓練により、難解なインスタンスへの性能向上を図る。

実験結果

リサーチクエスチョン

  • RQ1不充足コアを予測するためのニューラルネットワークが、実世界の問題における高性能SATソルバの性能を向上させられるか?
  • RQ2不完全なコア予測でも、SATソルバの変数分岐意思決定における有用なガイドとして機能するか?
  • RQ3神経予測を用いた変数活動スコアの周期的再焦点化が、標準的なEVSIDSヒューリスティクスを上回る性能を発揮できるか?
  • RQ4訓練データを特定の問題ドメインに特化させた場合、性能向上はどの程度スケーリングされるか?
  • RQ5コア予測は、節のプルーニングやその他のソルバ最適化を効果的にガイドするために使用できるか?

主な発見

  • 変更されたMiniSatソルバは、5,000秒のタイムアウト内でSATCOMP-2018でオリジナルバージョンよりも10%多く問題を解けた。
  • 変更されたGlucose 4.1ソルバは、SATCOMP-2018でオリジナルバージョンよりも11%多く問題を解けた。
  • 変更されたZ3ソルバは、SATCOMP-2018でオリジナルバージョンよりも6%多く問題を解けた。
  • ハードなスケジューリング問題の専用ベンチマークでは、1時間のタイムアウト内で変更されたGlucoseはオリジナルバージョンよりも20%多く問題を解けた。
  • NeuroCoreのコア予測により、極めて小さなコアを持つ問題で顕著な高速化が達成されたことから、節のプルーニングへの応用が有望であると考えられる。
  • ドメイン固有のサブ問題に特化した訓練は、一般訓練よりも顕著な向上をもたらした。これは、ドメイン固有の適合の価値を示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。