The last 20 years have seen dramatic improvements in the performance
of algorithms for Boolean satisfiability---so-called SAT solvers---and
today conflict-driven clause learning (CDCL) solvers are routinely
used in a wide range of application areas. One serious short-coming
of CDCL, however, is that the underlying method of reasoning is quite
weak. A tantalizing solution is to instead use stronger
pseudo-Boolean (PB) reasoning, but so far the promise of exponential
gains in performance has failed to materialize---the increased
theoretical strength seems hard to harness algorithmically, and in
many applications CDCL-based methods are still superior. We propose a
modified approach to pseudo-Boolean solving based on division instead
of the saturation rule used in [Chai and Kuehlmann '05] and other PB
solvers. In addition to resulting in a stronger conflict analysis,
this also improves performance by keeping integer coefficient sizes
down, and yields a very competitive solver as shown by the results in
the Pseudo-Boolean Competitions 2015 and 2016.
Constraint programming solvers support rich global constraints and propagators, which make them both powerful and hard to debug. In the Boolean satisfiability community, proof-logging is the standard solution for generating trustworthy outputs, and this has become key to the social acceptability of computer-generated proofs. However, reusing this technology for constraint programming requires either much weaker propagation, or an impractical blowup in proof length. This paper demonstrates that simple, clean, and efficient proof logging is still possible for the all-different constraint, through pseudo-Boolean reasoning. We explain how such proofs can be expressed and verified mechanistically, describe an implementation, and discuss the broader implications for proof logging in constraint programming.
Over the last decades Boolean satisfiability (SAT) solvers based on
conflict-driven clause learning (CDCL) have developed to the point
where they can handle formulas with millions of variables. Yet a
deeper understanding of how these solvers can be so successful has
remained elusive. In this work we shed light on CDCL performance by
using theoretical benchmarks, which have the attractive features of
being a) scalable, b) extremal with respect to different proof search
parameters, and c) theoretically easy in the sense of having short
proofs in the resolution proof system underlying CDCL. This allows for
a systematic study of solver heuristics and how efficiently they
search for proofs. We report results from extensive experiments on a
wide range of benchmarks. Our findings include several examples where
theory predicts and explains CDCL behaviour, but also raise a number
of intriguing questions for further study.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.