Skip to main content
QUICK REVIEW

[论文解读] G2SAT: Learning to Generate SAT Formulas

Jiaxuan You, Haoze Wu|PubMed|Oct 29, 2019
Formal Methods in Verification参考文献 2被引用 21
一句话总结

G2SAT 是一种深度生成模型,通过将文字-子句图建模为二分图,并使用图卷积网络(GCN)以序列方式迭代合并节点,从而学习生成逼真的 SAT 公式。其生成的公式在结构度量和求解器行为方面均与真实世界 SAT 实例高度一致,显著提升了基准测试中的 SAT 求解器性能。

ABSTRACT

The Boolean Satisfiability (SAT) problem is the canonical NP-complete problem and is fundamental to computer science, with a wide array of applications in planning, verification, and theorem proving. Developing and evaluating practical SAT solvers relies on extensive empirical testing on a set of real-world benchmark formulas. However, the availability of such real-world SAT formulas is limited. While these benchmark formulas can be augmented with synthetically generated ones, existing approaches for doing so are heavily hand-crafted and fail to simultaneously capture a wide range of characteristics exhibited by real-world SAT instances. In this work, we present G2SAT, the first deep generative framework that learns to generate SAT formulas from a given set of input formulas. Our key insight is that SAT formulas can be transformed into latent bipartite graph representations which we model using a specialized deep generative neural network. We show that G2SAT can generate SAT formulas that closely resemble given real-world SAT instances, as measured by both graph metrics and SAT solver behavior. Further, we show that our synthetic SAT formulas could be used to improve SAT solver performance on real-world benchmarks, which opens up new opportunities for the continued development of SAT solvers and a deeper understanding of their performance.

研究动机与目标

  • 为评估和改进 SAT 求解器,解决多样且逼真的 SAT 基准公式可用性有限的问题。
  • 开发一种数据驱动、可学习的替代方案,以取代无法捕捉真实世界实例全部复杂性的手工设计 SAT 公式生成器。
  • 将 SAT 公式生成建模为一种二分图生成任务,通过一系列节点合并操作实现。
  • 实现合成 SAT 公式,使其保留真实世界实例的关键结构特性和求解器行为属性。
  • 证明生成的公式可提升 SAT 求解器在真实基准上的性能。

提出的方法

  • 将 SAT 公式表示为文字-子句图(LCG),即以变量和子句为节点的二分图。
  • 将生成过程建模为从一组不相交的树开始,并在某一集合上依次执行节点合并操作。
  • 使用共享的图卷积网络(GCN)以自回归方式预测每一步应合并的节点对。
  • 通过从真实 LCG 中提取的节点分裂操作序列来训练 GCN,以学习有效合并路径的分布。
  • 通过从树开始并逐步应用学习到的合并策略来生成新公式。
  • 通过强制保持二分图结构并从真实世界图统计中学习,确保生成图保持关键结构属性。

实验结果

研究问题

  • RQ1深度生成模型能否学习生成在图结构和求解器行为方面均与真实世界实例匹配的 SAT 公式?
  • RQ2该模型能否在不依赖手工规则的情况下生成多样化且非平凡的 SAT 公式?
  • RQ3所学习的生成模型在在多大程度上保留了关键图度量(如模块度、度分布和聚类系数)?
  • RQ4由 G2SAT 生成的合成公式能否提升 SAT 求解器在真实世界基准上的性能?
  • RQ5该模型的性能如何随 GCN 深度等架构选择而变化?

主要发现

  • G2SAT 生成的 SAT 公式在结构属性(如模块度、度分布和聚类)方面与真实世界 SAT 实例高度一致。
  • 该模型生成的公式在 SAT 求解器行为(如运行时间、冲突模式)方面与真实世界公式在统计上无法区分。
  • 增加 GCN 层次数可提高与训练数据模块度的匹配度,表明更深的模型能捕捉更复杂的结构。
  • 在真实世界基准上,使用 G2SAT 生成的公式进行训练或调优,可显著提升 SAT 求解器性能。
  • G2SAT 在生成非平凡且可满足的实例方面优于手工设计的基线方法(如社区连接法 CA 和流行度-相似度法 PS),尤其在生成复杂实例方面表现更优。
  • 对 PS 生成的公式进行后处理以移除不可满足核心中的子句,可显著提高其难度,但 G2SAT 仍能生成更具真实感和挑战性的实例。

更好的研究,从现在开始

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

无需绑定信用卡

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