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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alistair, M.L., Sinclair, A., Zuckerman, D.: Optimal speedup of las vegas algorithms. Information Processing Letters 47, 173–180 (1993)
Aloul, F., Sakallah, K., Markov, I.: Efficient symmetry breaking for boolean satisfiability. IEEE Transactions on Computers 55(5), 549–558 (2006)
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)
Babic, D., Hu, A.J.: Calysto: scalable and precise extended static checking. In: International Conference on Software Engineering, pp. 211–220 (2008)
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)
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)
Biere, A., Cimatti, A., Clarke, E., Strichman, O., Zhu, Y.: Bounded Model Checking. In: Advances in Computers. Academic Press, London (2003)
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)
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)
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)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Communications of the ACM 5, 394–397 (1962)
Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7, 201–215 (1960)
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)
Eén, N., Sörensson, N.: MiniSAT, version 2.2.0 (2010), http://minisat.se/downloads/minisat-2.2.0.tar.gz
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)
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)
Gomes, C.P., Selman, B., Kautz, H.: Boosting combinatorial search through randomization. In: National Conference on Artificial Intelligence, pp. 431–437 (July 1998)
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)
Larrabee, T.: Test pattern generation using Boolean satisfiability. IEEE Transactions on Computer-Aided Design 11(1), 4–15 (1992)
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)
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)
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)
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)
Marques-Silva, J., Sakallah, K.A.: GRASP-A search algorithm for propositional satisfiability. IEEE Transactions on Computers 48(5), 506–521 (1999)
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)
Mitchell, D., Selman, B., Levesque, H.: Hard and easy distributions of sat problems. In: National Conference on Artificial Intelligence, pp. 459–465 (1992)
Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Engineering an efficient SAT solver. In: Design Automation Conference, pp. 530–535 (June 2001)
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)
Narain, S.: Network configuration management via model finding. In: Conference on Systems Administration, pp. 155–168 (2005)
Pipatsrisawat, K., Darwiche, A.: Rsat 1.03: Sat solver description. Technical Report D–152, Automated Reasoning Group, Computer Science Department, UCLA (2006)
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)
Rice, J.A.: Mathematical Statistics and Data Analysis. Duxbury Press, Boston (2006)
Selman, B., Kautz, H.: Planning as satisfiability. In: European Conference on Artificial Intelligence, pp. 359–363 (1992)
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)
Sinz, C., Kaiser, A., Küchlin, W.: Formal methods for the validation of automotive product configuration data. AI EDAM 17(1), 75–97 (2003)
Sörensson, N., Biere, A.: Minimizing learned clauses. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 237–243. Springer, Heidelberg (2009)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Katebi, H., Sakallah, K.A., Marques-Silva, J.P. (2011). Empirical Study of the Anatomy of Modern Sat Solvers. In: Sakallah, K.A., Simon, L. (eds) Theory and Applications of Satisfiability Testing - SAT 2011. SAT 2011. Lecture Notes in Computer Science, vol 6695. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21581-0_27
Download citation
DOI: https://doi.org/10.1007/978-3-642-21581-0_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21580-3
Online ISBN: 978-3-642-21581-0
eBook Packages: Computer ScienceComputer Science (R0)