Abstract
Recent work in weighted model counting proposed a unifying framework for dynamic-programming algorithms. The core of this framework is a project-join tree: an execution plan that specifies how Boolean variables are eliminated. We adapt this framework to compute exact literal-weighted projected model counts of propositional formulas in conjunctive normal form. Our key conceptual contribution is to define gradedness on project-join trees, a novel condition requiring irrelevant variables to be eliminated before relevant variables. We prove that building graded project-join trees can be reduced to building standard project-join trees and that graded project-join trees can be used to compute projected model counts. The resulting tool ProCount is competitive with the state-of-the-art tools \(\texttt {D4}_{\texttt {P}}\), projMC, and reSSAT, achieving the shortest solving time on 131 benchmarks of 390 benchmarks solved by at least one tool, from 849 benchmarks in total.
Work supported in part by NSF grants CCF-1704883, DMS-1547433, IIS-1527668, and IIS-1830549, DoD MURI grant N00014-20-1-2787, and an award from the Maryland Procurement Office.
Authors sorted alphabetically by surnames.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abo Khamis, M., Ngo, H.Q., Rudra, A.: FAQ: questions asked frequently. In: PODS, pp. 13–28 (2016)
Abseher, M., Musliu, N., Woltran, S.: htd-a free, open-source framework for (customized) tree decompositions and beyond. In: CPAIOR, pp. 376–386 (2017). https://doi.org/10.1007/978-3-319-59776-8_30
Aguirre, A.S.M., Vardi, M.: Random 3-SAT and BDDs: the plot thickens further. In: CP, pp. 121–136 (2001). https://doi.org/10.1007/3-540-45578-7_9
Aziz, R.A., Chu, G., Muise, C., Stuckey, P.: Projected model counting. In: SAT, pp. 121–137 (2015)
Bacchus, F., Dalmao, S., Pitassi, T.: Solving #SAT and Bayesian inference with backtracking search. JAIR 34, 391–442 (2009). https://doi.org/10.1613/jair.2648
Bahar, R.I., et al.: Algebraic decision diagrams and their applications. Form. Method Syst. Des. 10(2–3), 171–206 (1997). https://doi.org/10.1023/A:1008699807402
Bellman, R.: Dynamic programming. Science 153(3731), 34–37 (1966). https://doi.org/10.1126/science.153.3731.34
Bouquet, F.: Gestion de la dynamicité et énumération d’impliquants premiers: une approche fondée sur les Diagrammes de Décision Binaire. Ph.D. thesis, Aix-Marseille 1 (1999). https://www.theses.fr/1999AIX11011
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE TC 100(8), 677–691 (1986). https://doi.org/10.1109/TC.1986.1676819
Charwat, G., Woltran, S.: BDD-based dynamic programming on tree decompositions. Technical report, Technische Universität Wien, Institut für Informationssysteme (2016). https://dbai.tuwien.ac.at/research/report/dbai-tr-2016-95.pdf
Dalmau, V., Kolaitis, P.G., Vardi, M.Y.: Constraint satisfaction, bounded treewidth, and finite-variable logics. In: CP, pp. 310–326 (2002). https://doi.org/10.1007/3-540-46135-3_21
Darwiche, A.: New advances in compiling CNF to decomposable negation normal form. In: ECAI, pp. 318–322 (2004). https://dl.acm.org/doi/10.5555/3000001.3000069
Dechter, R.: Bucket elimination: a unifying framework for reasoning. AIJ 113(1–2), 41–85 (1999). https://doi.org/10.1016/S0004-3702(99)00059-4
Dechter, R.: Constraint Processing. Morgan Kaufmann (2003). https://doi.org/10.1016/B978-1-55860-890-0.X5000-2
van Dijk, T., van de Pol, J.: Sylvan: multi-core decision diagrams. In: TACAS, pp. 677–691 (2015). https://doi.org/10.1007/978-3-662-46681-0_60
Dudek, J.M., Dueñas-Osorio, L., Vardi, M.Y.: Efficient contraction of large tensor networks for weighted model counting through graph decompositions (2019). arXiv preprint arXiv:1908.04381
Dudek, J.M., Phan, V.H.N., Vardi, M.Y.: DPMC: weighted model counting by dynamic programming on project-join trees. In: CP, pp. 211–230 (2020). arxiv.org/abs/2008.08748
Dudek, J.M., Phan, V.H., Vardi, M.Y.: ADDMC: weighted model counting with algebraic decision diagrams. AAAI 34, 1468–1476 (2020). https://doi.org/10.1609/aaai.v34i02.5505
Dudek, J.M., Vardi, M.Y.: Parallel weighted model counting with tensor networks. In: MCW (2020). https://mccompetition.org/assets/files/2020/MCW_2020_paper_1.pdf
Duenas-Osorio, L., Meel, K.S., Paredes, R., Vardi, M.Y.: Counting-based reliability estimation for power-transmission grids. In: AAAI. pp. 4488–4494 (2017)
Ermon, S., Gomes, C., Sabharwal, A., Selman, B.: Taming the curse of dimensionality: discrete integration by hashing and optimization. In: ICML, pp. 334–342 (2013)
Fichte, J.K., Hecher, M.: Counting with bounded treewidth: meta algorithm and runtime guarantees. In: NMR, pp. 9–18 (2020)
Fichte, J.K., Hecher, M., Hamiti, F.: The Model Counting Competition 2020 (2020). arXiv preprint arXiv:2012.01323
Fichte, J.K., Hecher, M., Morak, M., Woltran, S.: Exploiting treewidth for projected model counting and its limits. In: SAT, pp. 165–184 (2018)
Fichte, J.K., Hecher, M., Thier, P., Woltran, S.: Exploiting database management systems and treewidth for counting. In: PADL, pp. 151–167 (2020). https://doi.org/10.1007/978-3-030-39197-3_10
Fremont, D.J., Rabe, M.N., Seshia, S.A.: Maximum model counting. In: AAAI, pp. 3885–3892 (2017)
Gupta, R., Sharma, S., Roy, S., Meel, K.S.: WAPS: weighted and projected sampling. In: TACAS, pp. 59–76 (2019)
Hamann, M., Strasser, B.: Graph bisection with pareto optimization. JEA 23, 1–34 (2018)
Hecher, M., Thier, P., Woltran, S.: Taming high treewidth with abstraction, nested dynamic programming, and database technology. In: SAT, pp. 343–360 (2020)
Impagliazzo, R., Paturi, R., Zane, F.: Which problems have strongly exponential complexity? JCSS 63(4), 512–530 (2001)
Jégou, P., Kanso, H., Terrioux, C.: Improving exact solution counting for decomposition methods. In: ICTAI, pp. 327–334 (2016). https://doi.org/10.1109/ICTAI.2016.0057
Jerrum, M.R., Valiant, L.G., Vazirani, V.V.: Random generation of combinatorial structures from a uniform distribution. Theor. Comput. Sci. 43, 169–188 (1986)
Kelly, C., Sarkhel, S., Venugopal, D.: Adaptive Rao-Blackwellisation in Gibbs sampling for probabilistic graphical models. In: AISTATS, pp. 2907–2915 (2019)
Klebanov, V., Manthey, N., Muise, C.: SAT-based analysis and quantification of information flow in programs. In: QEST, pp. 177–192 (2013). https://doi.org/10.1007/978-3-642-40196-1_16
Koster, A.M., Bodlaender, H.L., Van Hoesel, S.P.: Treewidth: computational experiments. Electron. Notes Disc. Math. 8, 54–57 (2001). https://doi.org/10.1016/S1571-0653(05)80078-2
Lagniez, J.M., Marquis, P.: An improved decision-DNNF compiler. In: IJCAI, pp. 667–673 (2017). https://doi.org/10.24963/ijcai.2017/93
Lagniez, J.M., Marquis, P.: A recursive algorithm for projected model counting. AAAI 33, 1536–1543 (2019)
Lee, N.Z., Wang, Y.S., Jiang, J.H.R.: Solving stochastic Boolean satisfiability under random-exist quantification. In: IJCAI, pp. 688–694 (2017)
Lloyd, J.W.: Foundations of Logic Programming. Springer, Cham (2012). https://doi.org/10.1007/978-3-642-96826-6
Maua, D.D., de Campos, C.P., Cozman, F.G.: The complexity of MAP inference in Bayesian networks specified through logical languages. In: IJCAI, pp. 889–895 (2015)
McMahan, B.J., Pan, G., Porter, P., Vardi, M.Y.: Projection pushing revisited. In: EDBT, pp. 441–458 (2004). https://doi.org/10.1007/978-3-540-24741-8_26
Möhle, S., Biere, A.: Dualizing projected model counting. In: ICTAI, pp. 702–709 (2018)
Murphy, K.P.: Machine Learning: A Probabilistic Perspective. MIT press, Cambridge (2012)
Oztok, U., Darwiche, A.: A top-down compiler for sentential decision diagrams. In: IJCAI, pp. 3141–3148 (2015). https://dl.acm.org/doi/10.5555/2832581.2832687
Pan, G., Vardi, M.Y.: Symbolic techniques in satisfiability solving. J. Autom. Reas. 35(1–3), 25–50 (2005). https://doi.org/10.1007/s10817-005-9009-7
Park, J.D., Darwiche, A.: Complexity results and approximation strategies for MAP explanations. JAIR 21, 101–133 (2004)
Pearl, J.: Bayesian networks: a model cf self-activated memory for evidential reasoning. In: Proceedings of the 7th Conference of the Cognitive Science Society, University of California, Irvine, CA, USA, pp. 15–17 (1985)
Robertson, N., Seymour, P.D.: Graph minors. X. Obstructions to tree-decomposition. J. Comb. Theory B 52(2), 153–190 (1991). https://doi.org/10.1016/0095-8956(91)90061-N
Samer, M., Szeider, S.: Algorithms for propositional model counting. J. Disc. Algor. 8(1), 50–64 (2010). https://doi.org/10.1007/978-3-540-75560-9_35
Sang, T., Bacchus, F., Beame, P., Kautz, H.A., Pitassi, T.: Combining component caching and clause learning for effective model counting. SAT 4, 20–28 (2004). http://www.satisfiability.org/SAT04/accepted/65.html
Sharma, S., Roy, S., Soos, M., Meel, K.S.: GANAK: a scalable probabilistic exact model counter. In: IJCAI, pp. 1169–1176 (2019)
Soos, M., Meel, K.S.: BIRD: engineering an efficient CNF-XOR SAT solver and its applications to approximate model counting. AAAI 33, 1592–1599 (2019)
Soos, M., Nohl, K., Castelluccia, C.: Extending SAT solvers to cryptographic problems. In: SAT, pp. 244–257 (2009)
Stearns, R.E., Hunt, H.B., III.: Exploiting structure in quantified formulas. J. Algor. 43(2), 220–263 (2002)
Stonebraker, M., Rowe, L.A.: The design of Postgres. ACM Sigmod Rec. 15(2), 340–355 (1986)
Tabajara, L.M., Vardi, M.Y.: Factored Boolean functional synthesis. In: FMCAD, pp. 124–131 (2017). https://dl.acm.org/doi/10.5555/3168451.3168480
Tamaki, H.: Positive-instance-driven dynamic programming for treewidth. J. Comb. Optim. 37(4), 1283–1311 (2019). https://doi.org/10.1007/s10878-018-0353-z
Tarjan, R.E., Yannakakis, M.: Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs. SICOMP 13(3), 566–579 (1984). https://doi.org/10.1137/0213035
Uribe, T.E., Stickel, M.E.: Ordered binary decision diagrams and the Davis-Putnam procedure. In: CCL, pp. 34–49 (1994). https://doi.org/10.1007/BFb0016843
Wetzler, N., Heule, M.J.H., Hunt, W.A.: DRAT-trim: efficient checking and trimming using expressive clausal proofs. In: Sinz, C., Egly, U. (eds.) SAT 2014. LNCS, vol. 8561, pp. 422–429. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09284-3_31
Xu, L., Hutter, F., Hoos, H.H., Leyton-Brown, K.: SATzilla: portfolio-based algorithm selection for SAT. JAIR 32, 565–606 (2008)
Xue, Y., Li, Z., Ermon, S., Gomes, C.P., Selman, B.: Solving marginal MAP problems with NP oracles and parity constraints. In: NIPS, pp. 1127–1135 (2016)
Zawadzki, E.P., Platzer, A., Gordon, G.J.: A generalization of SAT and #SAT for robust policy evaluation. In: IJCAI, pp. 2583–2589 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Dudek, J.M., Phan, V.H.N., Vardi, M.Y. (2021). ProCount: Weighted Projected Model Counting with Graded Project-Join Trees. In: Li, CM., Manyà, F. (eds) Theory and Applications of Satisfiability Testing – SAT 2021. SAT 2021. Lecture Notes in Computer Science(), vol 12831. Springer, Cham. https://doi.org/10.1007/978-3-030-80223-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-80223-3_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-80222-6
Online ISBN: 978-3-030-80223-3
eBook Packages: Computer ScienceComputer Science (R0)