Enhancing SAT solvers with glue variable predictions
  Modern SAT solvers routinely operate at scales that make it impractical to
query a neural network for every branching decision. NeuroCore, proposed by
Selsam and Bjorner, offered a proof-of-concept that neural networks can still
accelerate SAT solvers by only periodically refocusing a score-based branching
heuristic. However, that work suffered from several limitations: their modified
solvers require GPU acceleration, further ablations showed that they were no
better than a random baseline on the SATCOMP 2018 benchmark, and their training
target of unsat cores required an expensive data pipeline which only labels
relatively easy unsatisfiable problems. We address all these limitations, using
a simpler network architecture allowing CPU inference for even large industrial
problems with millions of clauses, and training instead to predict {\em glue
variables}---a target for which it is easier to generate labelled data, and
which can also be formulated as a reinforcement learning task. We demonstrate
the effectiveness of our approach by modifying the state-of-the-art SAT solver
CaDiCaL, improving its performance on SATCOMP 2018 and SATRACE 2019 with
supervised learning and its performance on a dataset of SHA-1 preimage attacks
with reinforcement learning.
