Rounding Meets Approximate Model Counting

Jiong Yang, Kuldeep S. Meel
5/16/2023
cs.AI

No official code found. Best implementation: meelgroup/approxmc (89 stars, last commit 2026-04-30).

Abstract

The problem of model counting, also known as #SAT, is to compute the number of models or satisfying assignments of a given Boolean formula $F$. Model counting is a fundamental problem in computer science with a wide range of applications. In recent years, there has been a growing interest in using hashing-based techniques for approximate model counting that provide $(\varepsilon, δ)$-guarantees: i.e., the count returned is within a $(1+\varepsilon)$-factor of the exact count with confidence at least $1-δ$. While hashing-based techniques attain reasonable scalability for large enough values of $δ$, their scalability is severely impacted for smaller values of $δ$, thereby preventing their adoption in application domains that require estimates with high confidence. The primary contribution of this paper is to address the Achilles heel of hashing-based techniques: we propose a novel approach based on rounding that allows us to achieve a significant reduction in runtime for smaller values of $δ$. The resulting counter, called RoundMC, achieves a substantial runtime performance improvement over the current state-of-the-art counter, ApproxMC. In particular, our extensive evaluation over a benchmark suite consisting of 1890 instances shows that RoundMC solves 204 more instances than ApproxMC, and achieves a $4\times$ speedup over ApproxMC.

View on arXivView PDF

Code Implementations(1)

meelgroup/approxmcCommunity75%

Approximate Model Counter

8929C++, Nix5 months agoNOASSERTION
cnf-clausescountingdimacs-cnfmodel-coutingsat+1 more

Similar Papers

Cite this paper

@article{yang2023rounding,
  title  = {Rounding Meets Approximate Model Counting},
  author = {Jiong Yang and Kuldeep S. Meel},
  year   = {2023},
  eprint = {2305.09247},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.09247v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.09247.svg)](https://codeofpaper.com/paper/2305.09247)

Discussion