Table of Contents
Fetching ...

Learning to Rank the Initial Branching Order of SAT Solvers

Arvid Eriksson, Gabriel Poesia, Roman Bresson, Karl Henrik Johansson, David Broman

TL;DR

This paper investigates predicting branching orders using graph neural networks as a preprocessing step to conflict-driven clause learning (CDCL) SAT solvers, and shows that there are significant gains to be made in existing CDCL SAT solvers by providing a good initial branching.

Abstract

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.

Learning to Rank the Initial Branching Order of SAT Solvers

TL;DR

This paper investigates predicting branching orders using graph neural networks as a preprocessing step to conflict-driven clause learning (CDCL) SAT solvers, and shows that there are significant gains to be made in existing CDCL SAT solvers by providing a good initial branching.

Abstract

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.
Paper Structure (20 sections, 1 equation, 9 figures, 2 tables, 2 algorithms)

This paper contains 20 sections, 1 equation, 9 figures, 2 tables, 2 algorithms.

Figures (9)

  • Figure 1: Pipeline for training (top) and inference (bottom) for a branch order-predicting GNN preprocessing step. The orange boxes (dotted outline) signify steps that use a modified SAT solver, while purple boxes (dashed outline) signify steps using a graph neural network.
  • Figure 2: Mean solving time for setting one of 50 randomly sampled variables first, with the remaining order randomized. The shaded areas indicate a 95% confidence interval over 1000 iterations for each variable.
  • Figure 3: Graph of $(x_1 \vee \neg x_2)\wedge(x_2 \vee x_3)$
  • Figure 4: Mean reduction in the number of propagations relative to the default variable order on SATLIB uniform random 3-CNF benchmarks. Top: CaDiCaL on SAT and UNSAT instances, respectively. Bottom: MiniSat on SAT and UNSAT instances, respectively. Shaded regions denote a 95% confidence interval across the dataset.
  • Figure 5: Number of propagations on the hard G4SATBench instances. Speedups of 10%-20% until roughly $10^5$ propagations.
  • ...and 4 more figures