We give a trichotomy theorem for the complexity of approximately counting the number of satisfying assignments of a Boolean CSP instance. Such problems are parameterised by a constraint language specifying the relations that may be used in constraints. If every relation in the constraint language is affine then the number of satisfying assignments can be exactly counted in polynomial time. Otherwise, if every relation in the constraint language is in the co-clone IM2 from Post's lattice, then the problem of counting satisfying assignments is complete with respect to approximation-preserving reductions for the complexity class # RH Π1. This means that the problem of approximately counting satisfying assignments of such a CSP instance is equivalent in complexity to several other known counting problems, including the problem of approximately counting the number of independent sets in a bipartite graph. For every other fixed constraint language, the problem is complete for #P with respect to approximation-preserving reductions, meaning that there is no fully polynomial randomised approximation scheme for counting satisfying assignments unless NP = RP. © 2009 Elsevier Inc. All rights reserved.
Dyer, M., Goldberg, L. A., & Jerrum, M. (2010). An approximation trichotomy for Boolean #CSP. Journal of Computer and System Sciences, 76(3–4), 267–277. https://doi.org/10.1016/j.jcss.2009.08.003