CNF Encodings of Cardinality Constraints Based on Comparator Networks

11/01/2019
by   Michał Karpiński, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset