GANAK: A Scalable Probabilistic Exact Model Counter

Given a Boolean formula F , the problem of model counting, also referred to as #SAT, seeks to compute the number of solutions of F . Model counting is a fundamental problem with a wide variety of applications ranging from planning, quantified information flow to probabilistic reasoning and the like. The modern #SAT solvers tend to be either based on static decomposition, dynamic decomposition, or a hybrid of the two. Despite dynamic decomposition based #SAT solvers sharing much of their architecture with SAT solvers, the core design and heuristics of dynamic decomposition-based #SAT solvers has remained constant for over a decade. In this paper, we revisit the architecture of the state-ofthe-art dynamic decomposition-based #SAT tool, sharpSAT, and demonstrate that by introducing a new notion of probabilistic component caching and the usage of universal hashing for exact model counting along with the development of several new heuristics can lead to significant performance improvement over state-of-the-art model-counters. In particular, we develop GANAK, a new scalable probabilistic exact model counter that outperforms state-of-the-art exact and approximate model counters sharpSAT and ApproxMC3 respectively, both in terms of PAR-2 score and the number of instances solved. Furthermore, in our experiments, the model count returned by GANAK was equal to the exact model count for all the benchmarks. Finally, we observe that recently proposed preprocessing techniques for model counting benefit exact model counters while hurting the performance of approximate model counters.

[1]  Toniann Pitassi,et al.  Algorithms and complexity results for #SAT and Bayesian inference , 2003, 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings..

[2]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[3]  Dan Roth,et al.  On the Hardness of Approximate Reasoning , 1993, IJCAI.

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

[5]  Christian J. Muise,et al.  Dsharp: Fast d-DNNF Compilation with sharpSAT , 2012, Canadian Conference on AI.

[6]  Marc Thurley,et al.  sharpSAT - Counting Models with Advanced Component Caching and Implicit BCP , 2006, SAT.

[7]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[8]  Shin-ichi Minato,et al.  Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems , 1993, 30th ACM/IEEE Design Automation Conference.

[9]  Bart Selman,et al.  Near-Uniform Sampling of Combinatorial Spaces Using XOR Constraints , 2006, NIPS.

[10]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[11]  Sharad Malik,et al.  On computing minimal independent support and its applications to sampling and counting , 2015, Constraints.

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

[13]  Seinosuke Toda On the computational power of PP and (+)P , 1989, 30th Annual Symposium on Foundations of Computer Science.

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

[15]  Rahul Gupta,et al.  WAPS: Weighted and Projected Sampling , 2019, TACAS.

[16]  Sharad Malik,et al.  Constrained Sampling and Counting: Universal Hashing Meets SAT Solving , 2015, AAAI Workshop: Beyond NP.

[17]  Marijn J. H. Heule,et al.  Proceedings of SAT Competition 2017: Solver and Benchmark Descriptions , 2017 .

[18]  Mate Soos,et al.  BIRD: Engineering an Efficient CNF-XOR SAT Solver and Its Applications to Approximate Model Counting , 2019, AAAI.

[19]  Supratik Chakraborty,et al.  Balancing scalability and uniformity in SAT witness generator , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[20]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[21]  Supratik Chakraborty,et al.  Algorithmic Improvements in Approximate Counting for Probabilistic Inference: From Linear to Logarithmic SAT Calls , 2016, IJCAI.

[22]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[23]  Moshe Y. Vardi,et al.  Counting-Based Reliability Estimation for Power-Transmission Grids , 2017, AAAI.

[24]  Owen Kaser,et al.  Faster 64-bit universal hashing using carry-less multiplications , 2015, Journal of Cryptographic Engineering.

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

[26]  Jean-Marie Lagniez,et al.  Improving Model Counting by Leveraging Definability , 2016, IJCAI.

[27]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[28]  Henry A. Kautz,et al.  Heuristics for Fast Exact Model Counting , 2005, SAT.