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
一句话总结

本文提出使用简化的NeuroSAT架构NeuroCore,以预测真实世界SAT问题中的不可满足核心,并通过周期性重聚焦变量活跃度分数来引导高性能SAT求解器。在标准和专用基准测试中,经过修改的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并在预测核心可能性的基础上重置EVSIDS变量活跃度分数,将NeuroCore集成到MiniSat、Glucose和Z3中。
  • 采用周期性重聚焦策略:仅在间隔时间点更新活跃度分数,而非每次决策都更新,从而最小化性能开销。
  • 利用分布式计算(Ray)在多台机器上扩展数据生成,实现高效的数据集创建。
  • 针对特定领域的问题分布(如调度问题)进行专门训练,以提升在困难实例上的性能。

实验结果

研究问题

  • RQ1在真实世界问题上,经过训练以预测不可满足核心的神经网络是否能提升高性能SAT求解器的性能?
  • RQ2不完美的核心预测是否仍能为SAT求解器中的变量分支决策提供有用指导?
  • RQ3使用神经预测结果周期性重聚焦变量活跃度分数,是否能优于标准的EVSIDS启发式策略?
  • RQ4当训练数据针对特定问题领域进行专业化时,性能提升如何变化?
  • RQ5核心预测能否有效用于指导子句剪枝或其他求解器优化?

主要发现

  • 在5,000秒超时限制下,经修改的MiniSat求解器比原始版本多解决了10%的问题(SATCOMP-2018基准)。
  • 在SATCOMP-2018基准中,经修改的Glucose 4.1求解器比原始版本多解决了11%的问题。
  • 在SATCOMP-2018基准中,经修改的Z3求解器比原始版本多解决了6%的问题。
  • 在针对困难调度问题的专用基准中,经修改的Glucose求解器在1小时超时内比原始版本多解决了20%的问题。
  • NeuroCore的核心预测在核心极小的问题上实现了显著加速,表明其在子句剪枝方面具有潜力。
  • 在特定领域子问题上进行训练所获得的性能增益远高于通用训练,凸显了针对分布特异性适应的价值。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。