GraSS: Combining Graph Neural Networks with Expert Knowledge for SAT Solver Selection
Zhanguang Zhang, Didier Chetelat, Joseph Cotnareanu, Amur Ghose, Wenyi Xiao, Hui-Ling Zhen, Yingxue Zhang, Jianye Hao, Mark Coates, Mingxuan Yuan
TL;DR
GraSS presents a novel graph neural network framework for SAT solver selection by representing CNF instances as literal-clause graphs, enriching nodes with domain-specific features, and adding clause positional encodings to capture input-order effects. The heterogeneous GNN operates on multiple edge types and optimizes a runtime-aware loss to directly minimize solve times, outperforming seven competitive solvers on industrial and competition benchmarks. Ablation studies confirm the value of the tripartite representation, clause encodings, and feature design, while highlighting GraSS's robustness to mis-predictions and its potential to set a new standard for SAT solver selection. This approach enables more efficient solver portfolios in real-world circuit design and large-scale SAT tasks.
Abstract
Boolean satisfiability (SAT) problems are routinely solved by SAT solvers in real-life applications, yet solving time can vary drastically between solvers for the same instance. This has motivated research into machine learning models that can predict, for a given SAT instance, which solver to select among several options. Existing SAT solver selection methods all rely on some hand-picked instance features, which are costly to compute and ignore the structural information in SAT graphs. In this paper we present GraSS, a novel approach for automatic SAT solver selection based on tripartite graph representations of instances and a heterogeneous graph neural network (GNN) model. While GNNs have been previously adopted in other SAT-related tasks, they do not incorporate any domain-specific knowledge and ignore the runtime variation introduced by different clause orders. We enrich the graph representation with domain-specific decisions, such as novel node feature design, positional encodings for clauses in the graph, a GNN architecture tailored to our tripartite graphs and a runtime-sensitive loss function. Through extensive experiments, we demonstrate that this combination of raw representations and domain-specific choices leads to improvements in runtime for a pool of seven state-of-the-art solvers on both an industrial circuit design benchmark, and on instances from the 20-year Anniversary Track of the 2022 SAT Competition.
