SearcharxivSearch

arXiv · 1911.00586

CNF Encodings of Cardinality Constraints Based on Comparator Networks

Abstract

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.

Explore related subjects

Keep this discovery

BibTeXRIS

Michał Karpiński. 2019-11-01. CNF Encodings of Cardinality Constraints Based on Comparator Networks. https://arxiv.org/abs/1911.00586

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Quasi-Monte Carlo Beyond Hardy-Krause II: $(1 + \varepsilon)n$ Samples Suffice

Numerical integration studies how well one can estimate the integral of a function $f$ over $[0,1)^d$ using $n$ sample points. The two classical methods, Monte Carlo (MC) and quasi-Monte Carlo (QMC), have complementary strengths and weaknesses, and a fundamental question is to design an approach that combines the benefits of both. Recently, building on the transference principle in discrepancy theory, Bansal and Jiang~\cite{BJ25a} gave a randomized QMC method that bridges MC and QMC guarantees using only i.i.d.\ samples. Their method also goes beyond the classical Koksma--Hlawka inequality: it achieves integration error $\widetilde{O}_d(\sigma_{\mathsf{SO}}(f)/n)$, where the smoothed-out variation $\sigma_{\mathsf{SO}}(f)$ can be substantially smaller than the Hardy--Krause variation that governs the classical bound. However, their algorithm requires $n^2$ i.i.d.\ samples as input, and this quadratic blowup is inherent to any method based on the transference principle. In this work, we bypass the quadratic blowup: for any constant $\varepsilon > 0$, we show that $(1+\varepsilon)n$ i.i.d.\ samples suffice to both obtain the beyond-Hardy--Krause guarantee of~\cite{BJ25a}, resolving an open problem posed there, and to produce low-discrepancy point sequences. Our algorithms are variants of the online Haar-thinning method of Dwivedi, Feldheim, Gurel-Gurevich, and Ramdas~\cite{DFG+19}.

cs.DS

Single-Exponential Algorithms and a Polynomial Kernel for Strong Connectivity Augmentation

Strong Connectivity Augmentation (SCA) asks whether a directed acyclic graph can be made strongly connected by adding at most $k$ prescribed links whose total weight is within a given budget. Klinkby, Misra, and Saurabh (SODA 2021) gave an $O^*(2^{O(k\log k)})$-time algorithm and asked whether the problem admits a single-exponential parameterized algorithm and a polynomial kernel. We answer both questions affirmatively: SCA can be solved in $O^*(9^k)$ time and admits a polynomial kernel with $O(k^4)$ vertices and $O(k^{16})$ bits. For unweighted SCA, we obtain $O^*(4^k)$ time and a kernel with $O(k^3)$ vertices. Our algorithms are based on a particularly simple reduction to Strongly Connected Spanning Subgraph with two edge costs.

cs.DS