SymChaff: exploiting symmetry in a structure-aware satisfiability solver
This article presents a new low-overhead framework for representing and utilizing problem symmetry in propositional satisfiability algorithms. While many previous approaches have focused on symmetry extraction as a key component, the novelty in the proposed strategy lies in using high level problem description to pass on symmetry information to the SAT solver in a simple and concise form, in addition to the usual conjunctive normal form formula. This information, comprising of the so-called symmetry sets and variable classes, captures variable semantics relevant to "complete multi-class symmetry" and is utilized dynamically to prune the search space. This allows us to address many limitations of alternative approaches like symmetry breaking predicates, implicit pseudo-Boolean representations, general group-theoretic methods, and zero-suppressed binary decision diagrams. We demonstrate the efficacy of our technique through a solver called SymChaff, which achieves exponential speedup over one of the best systematic SAT solvers on problems from both theory and practice, often by simply using natural tags or annotation in the problem specification.
symchaff sat complete multi-class symmetry boolean satisfiability global symmetry high-level representation planning