English

An Approximation Algorithm for #k-SAT

Data Structures and Algorithms 2011-07-12 v1 Computational Complexity

Abstract

We present a simple randomized algorithm that approximates the number of satisfying assignments of Boolean formulas in conjunctive normal form. To the best of our knowledge this is the first algorithm which approximates #k-SAT for any k >= 3 within a running time that is not only non-trivial, but also significantly better than that of the currently fastest exact algorithms for the problem. More precisely, our algorithm is a randomized approximation scheme whose running time depends polynomially on the error tolerance and is mildly exponential in the number n of variables of the input formula. For example, even stipulating sub-exponentially small error tolerance, the number of solutions to 3-CNF input formulas can be approximated in time O(1.5366^n). For 4-CNF input the bound increases to O(1.6155^n). We further show how to obtain upper and lower bounds on the number of solutions to a CNF formula in a controllable way. Relaxing the requirements on the quality of the approximation, on k-CNF input we obtain significantly reduced running times in comparison to the above bounds.

Keywords

Cite

@article{arxiv.1107.2001,
  title  = {An Approximation Algorithm for #k-SAT},
  author = {Marc Thurley},
  journal= {arXiv preprint arXiv:1107.2001},
  year   = {2011}
}
R2 v1 2026-06-21T18:34:55.327Z