DPMC: Weighted Model Counting by Dynamic Programming on Project-Join Trees

We propose a unifying dynamic-programming framework to compute exact literal-weighted model counts of formulas in conjunctive normal form. At the center of our framework are project-join trees, which specify efficient project-join orders to apply additive projections (variable eliminations) and joins (clause multiplications). In this framework, model counting is performed in two phases. First, the planning phase constructs a project-join tree from a formula. Second, the execution phase computes the model count of the formula, employing dynamic programming as guided by the project-join tree. We empirically evaluate various methods for the planning phase and compare constraint-satisfaction heuristics with tree-decomposition tools. We also investigate the performance of different data structures for the execution phase and compare algebraic decision diagrams with tensors. We show that our dynamic-programming model-counting framework DPMC is competitive with the state-of-the-art exact weighted model counters Cachet, c2d, d4, and miniC2D.

[1]  Moshe Y. Vardi,et al.  Factored boolean functional synthesis , 2017, 2017 Formal Methods in Computer Aided Design (FMCAD).

[2]  Bernd Becker,et al.  Laissez-Faire Caching for Parallel #SAT Solving , 2015, SAT.

[3]  Zeph Landau,et al.  Quantum Computation and the Evaluation of Tensor Networks , 2008, SIAM J. Comput..

[4]  Enrico Macii,et al.  Algebric Decision Diagrams and Their Applications , 1997, ICCAD '93.

[5]  Umut Oztok,et al.  A Top-Down Compiler for Sentential Decision Diagrams , 2015, IJCAI.

[6]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[7]  Rasmus Bro,et al.  Multi-way Analysis with Applications in the Chemical Sciences , 2004 .

[8]  Bart Selman,et al.  Model Counting , 2021, Handbook of Satisfiability.

[9]  Phokion G. Kolaitis,et al.  Conjunctive-query containment and constraint satisfaction , 1998, PODS.

[10]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[11]  David E. Bernholdt,et al.  Synthesis of High-Performance Parallel Programs for a Class of ab Initio Quantum Chemistry Models , 2005, Proceedings of the IEEE.

[12]  Toniann Pitassi,et al.  Combining Component Caching and Clause Learning for Effective Model Counting , 2004, SAT.

[13]  Fabrice Bouquet Gestion de la dynamicité et énumération d'impliquants premiers : une approche fondée sur les Diagrammes de Décision Binaire , 1999 .

[14]  Jean-Marie Lagniez,et al.  Preprocessing for Propositional Model Counting , 2014, AAAI.

[15]  Carmel Domshlak,et al.  Probabilistic Planning via Heuristic Forward Search and Weighted Model Counting , 2007, J. Artif. Intell. Res..

[16]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[17]  Peter J. F. Lucas,et al.  Parallel Probabilistic Inference by Weighted Model Counting , 2018, PGM.

[18]  Sean R Eddy,et al.  What is dynamic programming? , 2004, Nature Biotechnology.

[19]  Johannes Klaus Fichte,et al.  An Improved GPU-Based SAT Model Counter , 2019, CP.

[20]  Glen Evenbly,et al.  Improving the efficiency of variational tensor network algorithms , 2014 .

[21]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[22]  Roman Barták,et al.  Constraint Processing , 2009, Encyclopedia of Artificial Intelligence.

[23]  Hector Geffner,et al.  Compiling Uncertainty Away in Conformant Planning Problems with Bounded Width , 2009, J. Artif. Intell. Res..

[24]  Stefan Woltran,et al.  Exploiting Database Management Systems and Treewidth for Counting , 2020, PADL.

[25]  Adnan Darwiche,et al.  Dynamic Jointrees , 1998, UAI.

[26]  Klaus Schneider,et al.  From LTL to Symbolically Represented Deterministic Automata , 2008, VMCAI.

[27]  Stefan Woltran,et al.  htd - A Free, Open-Source Framework for (Customized) Tree Decompositions and Beyond , 2017, CPAIOR.

[28]  Jörg Hoffmann,et al.  Short XORs for Model Counting: From Theory to Practice , 2007, SAT.

[29]  Andrzej Cichocki,et al.  Tensor Decompositions for Signal Processing Applications: From two-way to multiway component analysis , 2014, IEEE Signal Processing Magazine.

[30]  Moshe Y. Vardi,et al.  Symbolic Techniques in Satisfiability Solving , 2005, Journal of Automated Reasoning.

[31]  Jesse Hoey,et al.  SPUDD: Stochastic Planning using Decision Diagrams , 1999, UAI.

[32]  David E. Booth,et al.  Multi-Way Analysis: Applications in the Chemical Sciences , 2005, Technometrics.

[33]  Wolfgang Küchlin,et al.  Formal methods for the validation of automotive product configuration data , 2003, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[34]  Moshe Y. Vardi,et al.  Random 3-SAT and BDDs: The Plot Thickens Further , 2001, CP.

[35]  Jean-Marie Lagniez,et al.  An Improved Decision-DNNF Compiler , 2017, IJCAI.

[36]  Benjamin J. McMahan,et al.  Projection Pushing Revisited , 2004, EDBT.

[37]  Pat Hanrahan,et al.  Understanding the efficiency of GPU algorithms for matrix-matrix multiplication , 2004, Graphics Hardware.

[38]  Pedro M. Domingos,et al.  Approximation by Quantization , 2011, UAI.

[39]  Rina Dechter,et al.  Bucket Elimination: A Unifying Framework for Reasoning , 1999, Artif. Intell..

[40]  Enrico Macii,et al.  Algebraic decision diagrams and their applications , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[41]  Shoaib Kamil,et al.  The tensor algebra compiler , 2017, Proc. ACM Program. Lang..

[42]  Pierre Marquis,et al.  A Knowledge Compilation Map for Ordered Real-Valued Decision Diagrams , 2014, AAAI.

[43]  Rina Dechter,et al.  Tree Clustering for Constraint Networks , 1989, Artif. Intell..

[44]  Arie M. C. A. Koster,et al.  Treewidth: Computational Experiments , 2001, Electron. Notes Discret. Math..

[45]  Philippe Jégou,et al.  Improving Exact Solution Counting for Decomposition Methods , 2016, 2016 IEEE 28th International Conference on Tools with Artificial Intelligence (ICTAI).

[46]  Andrzej Cichocki,et al.  Era of Big Data Processing: A New Approach via Tensor Networks and Tensor Decompositions , 2014, ArXiv.

[47]  Phokion G. Kolaitis,et al.  Constraint Satisfaction, Bounded Treewidth, and Finite-Variable Logics , 2002, CP.

[48]  Leslie G. Valiant,et al.  The Complexity of Enumeration and Reliability Problems , 1979, SIAM J. Comput..

[49]  Paul D. Seymour,et al.  Graph minors. X. Obstructions to tree-decomposition , 1991, J. Comb. Theory, Ser. B.

[50]  Ross D. Shachter,et al.  Global Conditioning for Probabilistic Inference in Belief Networks , 1994, UAI.

[51]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[52]  Marko Samer,et al.  Constraint satisfaction with bounded treewidth revisited , 2006, J. Comput. Syst. Sci..

[53]  Tomás E. Uribe,et al.  Ordered Binary Decision Diagrams and the Davis-Putnam Procedure , 1994, CCL.

[54]  Adnan Darwiche,et al.  New Advances in Compiling CNF into Decomposable Negation Normal Form , 2004, ECAI.

[55]  Adnan Darwiche,et al.  Compiling Bayesian Networks Using Variable Elimination , 2007, IJCAI.

[56]  Jean-Marie Lagniez,et al.  Knowledge Compilation for Model Counting: Affine Decision Trees , 2013, IJCAI.

[57]  Yehuda Naveh,et al.  Constraint-Based Random Stimuli Generation for Hardware Verification , 2006, AI Mag..

[58]  Toniann Pitassi,et al.  Solving #SAT and Bayesian Inference with Backtracking Search , 2014, J. Artif. Intell. Res..

[59]  Henry A. Kautz,et al.  Performing Bayesian Inference by Weighted Model Counting , 2005, AAAI.

[60]  Moshe Y. Vardi,et al.  ADDMC: Weighted Model Counting with Algebraic Decision Diagrams , 2020, AAAI.

[61]  Moshe Y. Vardi,et al.  Efficient Contraction of Large Tensor Networks for Weighted Model Counting through Graph Decompositions , 2019, ArXiv.

[62]  Claudio Chamon,et al.  Fast counting with tensor networks , 2018, SciPost Physics.

[63]  Tom van Dijk,et al.  Sylvan: multi-core decision diagrams , 2015, TACAS.

[64]  Vladimir Klebanov,et al.  SAT-Based Analysis and Quantification of Information Flow in Programs , 2013, QEST.

[65]  Marko Samer,et al.  Algorithms for propositional model counting , 2007, J. Discrete Algorithms.

[66]  Robert E. Tarjan,et al.  Simple Linear-Time Algorithms to Test Chordality of Graphs, Test Acyclicity of Hypergraphs, and Selectively Reduce Acyclic Hypergraphs , 1984, SIAM J. Comput..

[67]  Moshe Y. Vardi,et al.  Parallel Weighted Model Counting with Tensor Networks , 2020, ArXiv.

[68]  Hisao Tamaki,et al.  Positive-instance driven dynamic programming for treewidth , 2017, Journal of Combinatorial Optimization.

[69]  Ben Strasser,et al.  Computing Tree Decompositions with FlowCutter: PACE 2017 Submission , 2017, ArXiv.

[70]  Travis E. Oliphant,et al.  Guide to NumPy , 2015 .

[71]  Javier Larrosa,et al.  Unifying tree decompositions for reasoning in graphical models , 2005, Artif. Intell..