SAT (Boolean satisfiability) has become the primary Boolean reasoning engine for many EDA applications, so the efficiency of SAT solving is of great practical importance. Recently, Goldberg et al. introduced supercubing, a different approach to search-space pruning, based on a theory that unifies many existing methods. Their implementation reduced the number of decisions, but no speedup was obtained. In this paper, we generalize beyond supercubes, creating a theory we call B-cubing, and show how to implement Bcubing in a practical solver. On extensive benchmark runs, using both real problems and synthetic benchmarks, the new technique is competitive on average with the newest version of ZChaff, is much faster in some cases, and is more robust. Categories and Subject Descriptors J.6 [Computer-Aided Engineering]: Computer-Aided Design; I.2.8 [Artificial Intelligence]: Problem Solving, Control Methods, and Search--backtracking, graph and tree search strategies General Terms Algorithms, V...
Domagoj Babic, Jesse D. Bingham, Alan J. Hu