DPMC: Weighted Model Counting by Dynamic Programming on Project-Join Trees
Abstract
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.
Keywords
Cite
@article{arxiv.2008.08748,
title = {DPMC: Weighted Model Counting by Dynamic Programming on Project-Join Trees},
author = {Jeffrey M. Dudek and Vu H. N. Phan and Moshe Y. Vardi},
journal= {arXiv preprint arXiv:2008.08748},
year = {2020}
}
Comments
Full version of paper at CP 2020 (26th International Conference on Principles and Practice of Constraint Programming)