scispace - formally typeset
Proceedings ArticleDOI

Chaff: engineering an efficient SAT solver

TLDR
The development of a new complete solver, Chaff, is described which achieves significant performance gains through careful engineering of all aspects of the search-especially a particularly efficient implementation of Boolean constraint propagation (BCP) and a novel low overhead decision strategy.
Abstract
Boolean satisfiability is probably the most studied of the combinatorial optimization/search problems. Significant effort has been devoted to trying to provide practical solutions to this problem for problem instances encountered in a range of applications in electronic design automation (EDA), as well as in artificial intelligence (AI). This study has culminated in the development of several SAT packages, both proprietary and in the public domain (e.g. GRASP, SATO) which find significant use in both research and industry. Most existing complete solvers are variants of the Davis-Putnam (DP) search algorithm. In this paper we describe the development of a new complete solver, Chaff which achieves significant performance gains through careful engineering of all aspects of the search-especially a particularly efficient implementation of Boolean constraint propagation (BCP) and a novel low overhead decision strategy. Chaff has been able to obtain one to two orders of magnitude performance improvement on difficult SAT benchmarks in comparison with other solvers (DP or otherwise), including GRASP and SATO.

read more

Content maybe subject to copyright    Report

Citations
More filters
Book ChapterDOI

(In)Effectiveness of look-ahead techniques in a modern SAT solver

TL;DR: The effect of adding a failed literal detection method to the traditional unit clause propagation method in the look-ahead component of a modern SAT solver is investigated.
Journal Article

MINCE: A Static Global Variable-Ordering Heuristic for SAT Search and BDD Manipulation

TL;DR: This work proposes a universal variable-ordering algorithm MINCE (MIN Cut Etc.) that pre-processes a given Boolean formula in CNF and argues that MINCE tends to capture structural properties of Boolean functions arising from real-world applications.
Journal ArticleDOI

A pearl on SAT and SMT solving in Prolog

TL;DR: A succinct SAT solver is presented that exploits the control provided by delay declarations to implement watched literals and unit propagation and its elegant use of Prolog constructs is presented as a programming pearl.
Proceedings ArticleDOI

Message-passing and local heuristics as decimation strategies for satisfiability

TL;DR: The results reveal that once the authors resolve convergence issues, BP itself can solve fairly hard random k-SAT formulas through decimation; the gap between BP and SP narrows down quickly as k increases, and the hardness of the decimated formulas is explored.
Proceedings ArticleDOI

SAT-based sequential depth computation

TL;DR: A novel technique is introduced to simplify the complexity of the constructed formulas by applying simple transformations to the circuit netlist and construct an efficient SAT-based algorithm to check their satisfiability.
References
More filters
Book

Computers and Intractability: A Guide to the Theory of NP-Completeness

TL;DR: The second edition of a quarterly column as discussed by the authors provides a continuing update to the list of problems (NP-complete and harder) presented by M. R. Garey and myself in our book "Computers and Intractability: A Guide to the Theory of NP-Completeness,” W. H. Freeman & Co., San Francisco, 1979.
Book

Genetic Algorithms

Journal ArticleDOI

Tabu Search—Part II

TL;DR: The elements of staged search and structured move sets are characterized, which bear on the issue of finiteness, and new dynamic strategies for managing tabu lists are introduced, allowing fuller exploitation of underlying evaluation functions.
Book ChapterDOI

Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey

TL;DR: In this article, the authors survey the state of the art with respect to optimization and approximation algorithms and interpret these in terms of computational complexity theory, and indicate some problems for future research and include a selective bibliography.
Book

A machine program for theorem-proving

TL;DR: The programming of a proof procedure is discussed in connection with trial runs and possible improvements.