SAT 2011: Theory and Applications of Satisfiability Testing - SAT 2011 pp 343-356 | Cite as
Empirical Study of the Anatomy of Modern Sat Solvers
Abstract
Boolean Satisfiability (SAT) solving has dramatically evolved in the past decade and a half. The outcome, today, is manifested in dozens of high performance and relatively scalable SAT solvers. The significant success of SAT solving technology, specially on practical problem instances, is credited to the aggregation of different SAT enhancements. In this paper, we revisit the organization of modern conflict-driven clause learning (CDCL) solvers, focusing on the principal techniques that have contributed to their impressive performance. We also examine the interaction between input instances and SAT algorithms to better understand the factors that contribute to the difficulty of SAT benchmarks. At the end, the paper empirically evaluates different SAT techniques on a comprehensive suite of benchmarks taken from a range of representative applications. The diversity of our benchmarks enables us to make fair conclusions on the relation between SAT algorithms and SAT instances.
Keywords
Implication Graph Clause Learning Extended Static Check Clause Minimization Boolean Constraint PropagationPreview
Unable to display preview. Download preview PDF.
References
- 1.Alistair, M.L., Sinclair, A., Zuckerman, D.: Optimal speedup of las vegas algorithms. Information Processing Letters 47, 173–180 (1993)CrossRefMATHGoogle Scholar
- 2.Aloul, F., Sakallah, K., Markov, I.: Efficient symmetry breaking for boolean satisfiability. IEEE Transactions on Computers 55(5), 549–558 (2006)CrossRefGoogle Scholar
- 3.Ansótegui, C., Bonet, M.L., Levy, J.: On the structure of industrial SAT instances. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 127–141. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 4.Babic, D., Hu, A.J.: Calysto: scalable and precise extended static checking. In: International Conference on Software Engineering, pp. 211–220 (2008)Google Scholar
- 5.Beame, P., Kautz, H.A., Sabharwal, A.: Towards understanding and harnessing the potential of clause learning. Journal of Artificial Intelligence Research 22, 319–351 (2004)MATHGoogle Scholar
- 6.Biere, A.: Adaptive restart strategies for conflict driven SAT solvers. In: Kleine Büning, H., Zhao, X. (eds.) SAT 2008. LNCS, vol. 4996, pp. 28–33. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 7.Biere, A., Cimatti, A., Clarke, E., Strichman, O., Zhu, Y.: Bounded Model Checking. In: Advances in Computers. Academic Press, London (2003)Google Scholar
- 8.Bonet, M.L., John, K.S.: Efficiently calculating evolutionary tree measures using SAT. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 4–17. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 9.Broering, E., Lokam, S.V.: Width-based algorithms for SAT and CIRCUIT-SAT. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 162–171. Springer, Heidelberg (2004)CrossRefGoogle Scholar
- 10.Corblin, F., Bordeaux, L., Fanchon, E., Hamadi, Y., Trilling, L.: Connections and integration with SAT solvers: A survey and a case study in computational biology. In: Hybrid Optimization: the 10 years of CPAIOR. Springer, Heidelberg (2010)Google Scholar
- 11.Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Communications of the ACM 5, 394–397 (1962)CrossRefMATHGoogle Scholar
- 12.Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7, 201–215 (1960)CrossRefMATHGoogle Scholar
- 13.Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
- 14.Eén, N., Sörensson, N.: MiniSAT, version 2.2.0 (2010), http://minisat.se/downloads/minisat-2.2.0.tar.gz
- 15.Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 340–354. Springer, Heidelberg (2007)CrossRefGoogle Scholar
- 16.Gomes, C.P., Selman, B., Crato, N.: Heavy-tailed distributions in combinatorial search. In: Smolka, G. (ed.) CP 1997. LNCS, vol. 1330, pp. 121–135. Springer, Heidelberg (1997)CrossRefGoogle Scholar
- 17.Gomes, C.P., Selman, B., Kautz, H.: Boosting combinatorial search through randomization. In: National Conference on Artificial Intelligence, pp. 431–437 (July 1998)Google Scholar
- 18.Huang, J.: The effect of restarts on the efficiency of clause learning. In: Proceedings of the 20th International Joint Conference on Artifical Intelligence, pp. 2318–2323. Morgan Kaufmann Publishers Inc., San Francisco (2007)Google Scholar
- 19.Larrabee, T.: Test pattern generation using Boolean satisfiability. IEEE Transactions on Computer-Aided Design 11(1), 4–15 (1992)CrossRefGoogle Scholar
- 20.Lynce, I., Marques-Silva, J.: Building state-of-the-art sat solvers. In: Proceedings of the 15th Eureopean Conference on Artificial Intelligence (ECAI 2002), pp. 166–170. IOS Press, Amsterdam (2002)Google Scholar
- 21.Manolios, P., Srinivasan, S.K.: A parameterized benchmark suite of hard pipelined-machine-verification problems. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 363–366. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 22.Marques-Silva, J.: The impact of branching heuristics in propositional satisfiability algorithms. In: Barahona, P., Alferes, J.J. (eds.) EPIA 1999. LNCS (LNAI), vol. 1695, pp. 62–74. Springer, Heidelberg (1999)CrossRefGoogle Scholar
- 23.Marques-Silva, J., Sakallah, K.A.: GRASP: A new search algorithm for satisfiability. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 220–227. Springer, Heidelberg (1996)Google Scholar
- 24.Marques-Silva, J., Sakallah, K.A.: GRASP-A search algorithm for propositional satisfiability. IEEE Transactions on Computers 48(5), 506–521 (1999)CrossRefGoogle Scholar
- 25.Mironov, I., Zhang, L.: Applications of SAT solvers to cryptanalysis of hash functions. In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 102–115. Springer, Heidelberg (2006)CrossRefGoogle Scholar
- 26.Mitchell, D., Selman, B., Levesque, H.: Hard and easy distributions of sat problems. In: National Conference on Artificial Intelligence, pp. 459–465 (1992)Google Scholar
- 27.Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Engineering an efficient SAT solver. In: Design Automation Conference, pp. 530–535 (June 2001)Google Scholar
- 28.Nam, G.-J., Sakallah, K.A., Rutenbar, R.A.: Satisfiability-based layout revisited: Detailed routing of complex FPGA s via search-based boolean SAT. In: International Symposium on Field-Programmable Gate Arrays (February 1999)Google Scholar
- 29.Narain, S.: Network configuration management via model finding. In: Conference on Systems Administration, pp. 155–168 (2005)Google Scholar
- 30.Pipatsrisawat, K., Darwiche, A.: Rsat 1.03: Sat solver description. Technical Report D–152, Automated Reasoning Group, Computer Science Department, UCLA (2006)Google Scholar
- 31.Pipatsrisawat, K., Darwiche, A.: A lightweight component caching scheme for satisfiability solvers. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 294–299. Springer, Heidelberg (2007)CrossRefGoogle Scholar
- 32.Rice, J.A.: Mathematical Statistics and Data Analysis. Duxbury Press, Boston (2006)Google Scholar
- 33.Selman, B., Kautz, H.: Planning as satisfiability. In: European Conference on Artificial Intelligence, pp. 359–363 (1992)Google Scholar
- 34.Sinz, C., Iser, M.: Problem-sensitive restart heuristics for the DPLL procedure. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 356–362. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 35.Sinz, C., Kaiser, A., Küchlin, W.: Formal methods for the validation of automotive product configuration data. AI EDAM 17(1), 75–97 (2003)Google Scholar
- 36.Sörensson, N., Biere, A.: Minimizing learned clauses. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 237–243. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 37.Velev, M.N., Bryant, R.E.: Effective use of boolean satisfiability procedures in the formal verification of superscalar and vliw microprocessors. J. Symb. Comput. 35(2), 73–106 (2003)CrossRefMATHGoogle Scholar