188 research outputs found

    CNF Encodings of Parity

    Get PDF
    The minimum number of clauses in a CNF representation of the parity function x1⊕x2⊕⋯⊕xnx_1 \oplus x_2 \oplus \dotsb \oplus x_n is 2n−12^{n-1}. One can obtain a more compact CNF encoding by using non-deterministic variables (also known as guess or auxiliary variables). In this paper, we prove the following lower bounds, that almost match known upper bounds, on the number mm of clauses and the maximum width kk of clauses: 1) if there are at most ss auxiliary variables, then m≄Ω(2n/(s+1)/n)m \ge \Omega\left(2^{n/(s+1)}/n\right) and k≄n/(s+1)k \ge n/(s+1); 2) the minimum number of clauses is at least 3n3n. We derive the first two bounds from the Satisfiability Coding Lemma due to Paturi, Pudlak, and Zane

    A lower bound on CNF encodings of the at-most-one constraint

    Full text link
    Constraint "at most one" is a basic cardinality constraint which requires that at most one of its nn boolean inputs is set to 11. This constraint is widely used when translating a problem into a conjunctive normal form (CNF) and we investigate its CNF encodings suitable for this purpose. An encoding differs from a CNF representation of a function in that it can use auxiliary variables. We are especially interested in propagation complete encodings which have the property that unit propagation is strong enough to enforce consistency on input variables. We show a lower bound on the number of clauses in any propagation complete encoding of the "at most one" constraint. The lower bound almost matches the size of the best known encodings. We also study an important case of 2-CNF encodings where we show a slightly better lower bound. The lower bound holds also for a related "exactly one" constraint.Comment: 38 pages, version 3 is significantly reorganized in order to improve readabilit

    Native Cardinality Constraints: More Expressive, More Efficient Constraints

    Get PDF
    Boolean cardinality constraints are commonly translated (encoded) into Boolean CNF, a standard form for Boolean satisïŹability problems, which can be solved using a standard SAT solving program. However, cardinality constraints are a simple generalization of clauses, and the complexity entailed by encoding them into CNF can be avoided by reasoning about cardinality constraints natively within a SAT solver. In this work, we compare the performance of two forms of native cardinality constraints against some of the best performing encodings from the literature. We designed a number of experiments, modeling the general use of cardinality constraints including crafted, random and application problems, to be run in parallel on a cluster of computers. Results show that native implementations substantially outperform CNF encodings on instances composed entirely of cardinality constraints, and instances that are mostly clauses with few cardinality constraints exhibit mixed results warranting further study

    Recognition and Exploitation of Gate Structure in SAT Solving

    Get PDF
    In der theoretischen Informatik ist das SAT-Problem der archetypische Vertreter der Klasse der NP-vollstĂ€ndigen Probleme, weshalb effizientes SAT-Solving im Allgemeinen als unmöglich angesehen wird. Dennoch erzielt man in der Praxis oft erstaunliche Resultate, wo einige Anwendungen Probleme mit Millionen von Variablen erzeugen, die von neueren SAT-Solvern in angemessener Zeit gelöst werden können. Der Erfolg von SAT-Solving in der Praxis ist auf aktuelle Implementierungen des Conflict Driven Clause-Learning (CDCL) Algorithmus zurĂŒckzufĂŒhren, dessen LeistungsfĂ€higkeit weitgehend von den verwendeten Heuristiken abhĂ€ngt, welche implizit die Struktur der in der industriellen Praxis erzeugten Instanzen ausnutzen. In dieser Arbeit stellen wir einen neuen generischen Algorithmus zur effizienten Erkennung der Gate-Struktur in CNF-Encodings von SAT Instanzen vor, und außerdem drei AnsĂ€tze, in denen wir diese Struktur explizit ausnutzen. Unsere BeitrĂ€ge umfassen auch die Implementierung dieser AnsĂ€tze in unserem SAT-Solver Candy und die Entwicklung eines Werkzeugs fĂŒr die verteilte Verwaltung von Benchmark-Instanzen und deren Attribute, der Global Benchmark Database (GBD)
    • 

    corecore