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

On Solving Presburger and Linear Arithmetic with SAT

TL;DR: In this paper, a reduction to propositional logic from quantifier-free Presburger arithmetic, and disjunctive linear arithmetic, based on Fourier-Motzkin elimination, is presented.
Book ChapterDOI

Using SAT in QBF

TL;DR: This paper presents a technique for alleviating some of the complexity in QBF by utilizing an order unconstrained SAT solver during QBF solving by developing methods that allow information obtained from each solver to be used to improve the performance of the other.
Proceedings ArticleDOI

Enhanced Gaussian Elimination in DPLL-based SAT Solvers

Mate Soos
TL;DR: Various enhancements to this scheme are described which increase the performance and mostly eliminate the need for manual tuning of parameters and were able to achieve speedups of up to 29% on the Bivium and up to 45% onThe Trivium ciphers, contrary to the 1-5% speedup achieved by the original scheme.
Book ChapterDOI

A SAT-based decision procedure for the boolean combination of difference constraints

TL;DR: TSAT++, a system implementing a SAT-based decision procedure for Boolean combinations of difference constraints, and the techniques implemented in it; in particular, TSAT++ takes full advantage of recent SAT techniques.
Book ChapterDOI

Type Inference Against Races

TL;DR: A type inference algorithm for rccjava that reduces the complexity of the type inference problem via reduction to propositional satisfiability and its performance on programs of up to 30,000 lines of code.
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.