2 research outputs found
Compiling Finite Domain Constraints to SAT with BEE: the Director's Cut
BEE is a compiler which facilitates solving finite domain constraints by
encoding them to CNF and applying an underlying SAT solver. In BEE constraints
are modeled as Boolean functions which propagate information about equalities
between Boolean literals. This information is then applied to simplify the CNF
encoding of the constraints. We term this process equi-propagation. A key
factor is that considering only a small fragment of a constraint model at one
time enables to apply stronger, and even complete reasoning to detect
equivalent literals in that fragment. Once detected, equivalences propagate to
simplify the entire constraint model and facilitate further reasoning on other
fragments. BEE is described in several recent papers. In this paper, after a
quick review of BEE, we elaborate on two undocumented details of the
implementation: the hybrid encoding of cardinality constraints and complete
equi-propagation. We thendescribe on-going work aimed to extend BEE to consider
binary representation of numbers.Comment: Part of WLPE 2013 proceedings (arXiv:1308.2055
CNF Encodings of Cardinality Constraints Based on Comparator Networks
Boolean Satisfiability Problem (SAT) is one of the core problems in computer
science. As one of the fundamental NP-complete problems, it can be used - by
known reductions - to represent instances of variety of hard decision problems.
Additionally, those representations can be passed to a program for finding
satisfying assignments to Boolean formulas, for example, to a program called
MiniSat. Those programs (called SAT-solvers) have been intensively developed
for many years and - despite their worst-case exponential time complexity - are
able to solve a multitude of hard practical instances. A drawback of this
approach is that clauses are neither expressive, nor compact, and using them to
describe decision problems can pose a big challenge on its own.
We can improve this by using high-level constraints as a bridge between a
problem at hand and SAT. Such constraints are then automatically translated to
eqisatisfiable Boolean formulas. The main theme of this thesis revolves around
one type of such constraints, namely Boolean Cardinality Constraints (or simply
cardinality constraints). Cardinality constraints state that at most (at least,
or exactly) k out of n propositional literals can be true. Such cardinality
constraints appear naturally in formulations of different real-world problems
including cumulative scheduling, timetabling or formal hardware verification.
The goal of this thesis is to propose and analyze new and efficient methods
to encode (translate) cardinality constraints into equisatisfiable proposition
formulas in CNF, such that the resulting SAT instances are small and that the
SAT-solver runtime is as short as possible.Comment: Phd thesis. Defended 09.09.201