ABSTRACT
Boolean Satisfiability is probably the most studied of 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.
- 1.Baptista, L., and Marques-Silva, J.P., "Using Randomization and Learning to Solve Hard Real-World Instances of Satisfiability," Proceedings of the 6th International Conference on Principles and Practice of Constraint Programming (CP), September 2000.]] Google ScholarDigital Library
- 2.Bayardo, R. and Schrag, R.: Using CSP look-back techniques to solve real-world SAT instances, in Proc. of the 14th Nat. (US) Conf. on Artificial Intelligence (AAAI-97), AAAI Press/The MIT Press, 1997, pp. 203-208.]]Google ScholarDigital Library
- 3.Biere, A., Cimatti, A., Clarke, E.M., and Zhu, Y., "Symbolic Model Checking without BDDs," Tools and Algorithms for the Analysis and Construction of Systems (TACAS'99), number 1579 in LNCS. Springer-Verlag, 1999. (http://www.cs.cmu.edu/modelcheck/bmc/bmc-benchmarks. html)]] Google ScholarDigital Library
- 4.DIMACS benchmarks available at ftp://dimacs.rutgers.edu/pub/challenge/sat/benchmarks]]Google Scholar
- 5.Freeman, J.W., "Improvements to Propositional Satisfiability Search Algorithms," Ph.D. Dissertation, Department of Computer and Information Science, University of Pennsylvania, May 1995.]] Google ScholarDigital Library
- 6.Kunz, W, and Sotoffel, D., Reasoning in Boolean Networks, Kluwer Academic Publishers, 1997.]] Google ScholarDigital Library
- 7.Marques-Silva, J.P., "The Impact of Branching Heuristics in Propositional Satisfiability Algorithms," Proceedings of the 9th Portuguese Conference on Artificial Intelligence (EPIA), September 1999.]] Google ScholarDigital Library
- 8.Marques-Silva, J. P., and Sakallah, K. A., "GRASP: A Search Algorithm for Propositional Satisfiability," IEEE Transactions on Computers, vol. 48, 506-521, 1999.]] Google ScholarDigital Library
- 9.McAllester, D., Selman, B. and Kautz, H.: Evidence for invariants in local search, in Proceedings of AAAI'97, MIT Press, 1997, pp. 321-326.]]Google ScholarDigital Library
- 10.Stephan, P., Brayton, R., and Sangiovanni-Vencentelli, A., "Combinational Test Generation Using Satisfiability," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, 1167-1176, 1996.]]Google ScholarDigital Library
- 11.Velev, M., FVP-UNSAT.1.0, FVP-UNSAT.2.0, VLIW- SAT. 1.0, SSS-SAT.1.0, Superscalar Suite 1.0, Superscalar Suite 1.0a, Available from: http://www.ece.cmu.edu/mvelev]]Google Scholar
- 12.Velev, M. and Bryant, R., "Effective Use of Boolean Satisfiability Procedures in the Formal Verification of Superscalar and VLIW Microprocessors," In Proceedings of the Design Automation Conference, 2001.]] Google ScholarDigital Library
- 13.Zhang, H., "SATO: An efficient propositional prover, Proceedings of the International Conference on Automated Deduction, pages 272-275, July 1997.]] Google ScholarDigital Library
Index Terms
- Chaff: engineering an efficient SAT solver
Recommendations
Efficient SAT solving for non-clausal formulas using DPLL, graphs, and watched cuts
DAC '09: Proceedings of the 46th Annual Design Automation ConferenceBoolean satisfiability (SAT) solvers are used heavily in hardware and software verification tools for checking satisfiability of Boolean formulas. Most state-of-the-art SAT solvers are based on the Davis-Putnam-Logemann-Loveland (DPLL) algorithm and ...
On the power of clause-learning SAT solvers as resolution engines
In this work, we improve on existing results on the relationship between proof systems obtained from conflict-driven clause-learning SAT solvers and general resolution. Previous contributions such as those by Beame et al. (2004), Hertel et al. (2008), ...
Solving the minimum-cost satisfiability problem using SAT based branch-and-bound search
ICCAD '06: Proceedings of the 2006 IEEE/ACM international conference on Computer-aided designBoolean Satisfiability (SAT) has seen many successful applications in various fields, such as Electronic Design Automation (EDA) and Artificial Intelligence (AI). However, in some cases it may be required/preferable to use variations of the general SAT ...
Comments