2 research outputs found

    Compiling Finite Domain Constraints to SAT with BEE: the Director's Cut

    Full text link
    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

    Full text link
    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
    corecore