Abstract
An important extension of satisfiability testing is model-counting, a task that corresponds to problems such as probabilistic reasoning and computing the permanent of a Boolean matrix. We recently introduced Cachet, an exact model-counting algorithm that combines formula caching, clause learning, and component analysis. This paper reports on experiments with various techniques for improving the performance of Cachet, including component-selection strategies, variable-selection branching heuristics, randomization, backtracking schemes, and cross-component implications. The result of this work is a highly-tuned version of Cachet, the first (and currently, only) system able to exactly determine the marginal probabilities of variables in random 3-SAT formulas with 150+ variables. We use this to discover an interesting property of random formulas that does not seem to have been previously observed.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Lalas, G., Kaporis, A., Kirousis, L.: The probabilistics analysis of a greedy satisfiability algorithm. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 574–585. Springer, Heidelberg (2002)
Bacchus, F., Dalmao, S., Pitassi, T.: Algorithms and Complexity Results for #SAT and Bayesian inference. In: Proceedings 44th Annual Symposium on Foundations of Computer Science, Boston, MA, October 2003. IEEE, Los Alamitos (2003)
Bacchus, F., Dalmao, S., Pitassi, T.: Value elimination: Bayesian inference via backtracking search. In: Uncertainty in Artificial Intelligence (UAI 2003), pp. 20–28 (2003)
Bayardo Jr., R.J., Pehoushek, J.D.: Counting models using connected components. In: Proceedings, AAAI 2000: 17th National Conference on Artificial Intelligence, pp. 157–162 (2000)
Beame, P., Impagliazzo, R., Pitassi, T., Segerlind, N.: Memoization and DPLL: Formula Caching proof systems. In: Proceedings Eighteenth Annual IEEE Conference on Computational Complexity, Aarhus, Denmark, July 2003, pp. 225–236 (2003)
Goldberg, E., Novikov, Y.: Berkmin: a fast and robust sat-solver. In: Proceedings of the Design and Test in Europe Conference, March 2002, pp. 142–149 (2002)
Majercik, S.M., Littman, M.L.: Using caching to solve larger probabilistic planning problems. In: Proceedings of the 14th AAAI, pp. 954–959 (1998)
Marques Silva, J.P., Sakallah, K.A.: GRASP – a new search algorithm for satisfiability. In: Proceedings of the International Conference on Computer Aided Design, San Jose, CA, November 1996, pp. 220–227. ACM/IEEE (1996)
Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference, Las Vegas, NV, June 2001, pp. 530–535. ACM/IEEE (2001)
Sang, T., Bacchus, F., Beame, P., Kautz, H., Pitassi, T.: Combining component caching and clause learning for effective model counting. In: Hoos, H.H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542. Springer, Heidelberg (2005)
Sang, T., Beame, P., Kautz, H.: Solving bayeian networks by weighted model counting (2005) (submitted)
Marques Silva, J.P.: The impact of branching heuristics in propositional satisfiability algorithms. In: Proceedings of the 9th Portuguese Conference on Artificial Intelligence: Progress in Artificial Intelligence, pp. 62–74 (1999)
Zhang, H.: SATO: An efficient propositional prover. In: McCune, W. (ed.) CADE 1997. LNCS (LNAI), vol. 1249, pp. 272–275. Springer, Heidelberg (1997)
Zhang, L., Madigan, C.F., Moskewicz, M.H., Malik, S.: Efficient conflict driven learning in a boolean satisfiability solver. In: Proceedings of the International Conference on Computer Aided Design, San Jose, CA, November 2001, pp. 279–285. ACM/IEEE (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sang, T., Beame, P., Kautz, H. (2005). Heuristics for Fast Exact Model Counting. In: Bacchus, F., Walsh, T. (eds) Theory and Applications of Satisfiability Testing. SAT 2005. Lecture Notes in Computer Science, vol 3569. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11499107_17
Download citation
DOI: https://doi.org/10.1007/11499107_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26276-3
Online ISBN: 978-3-540-31679-4
eBook Packages: Computer ScienceComputer Science (R0)