Learning to Rank the Initial Branching Order of SAT Solvers
This work addresses the problem of efficiently solving SAT problems by improving the initial branching order, which could benefit users of SAT solvers, but the gains are limited to specific types of problems.
This paper explores using graph neural networks (GNNs) to predict an initial branching order for SAT solvers as a preprocessing step. The GNN-initialized ordering significantly speeds up random 3-CNF and pseudo-industrial benchmarks, even generalizing to larger instances, but fails on more difficult industrial instances.
Finding good branching orders is key to solving SAT problems efficiently, but finding such branching orders is a difficult problem. Using a learning based approach to predict a good branching order before solving, therefore, has potential. In this paper, we investigate predicting branching orders using graph neural networks as a preprocessing step to conflict-driven clause learning (CDCL) SAT solvers. We show that there are significant gains to be made in existing CDCL SAT solvers by providing a good initial branching. Further, we provide three labeling methods to find such initial branching orders in a tractable way. Finally, we train a graph neural network to predict these branching orders and show through our evaluations that a GNN-initialized ordering yields significant speedups on random 3-CNF and pseudo-industrial benchmarks, with generalization capabilities to instances much larger than the training set. However, we also find that the predictions fail at speeding up more difficult and industrial instances. We attribute this to the solver's dynamic heuristics, which rapidly overwrite the provided initialization, and to the complexity of these instances, making GNN prediction hard.