Counting problem (complexity) explained

In computational complexity theory and computability theory, a counting problem is a type of computational problem. If R is a search problem then

cR(x)=\vert\{y\midR(x,y)\}\vert

is the corresponding counting function and

\#R=\{(x,y)\midy\leqcR(x)\}

denotes the corresponding decision problem.

Note that cR is a search problem while #R is a decision problem, however cR can be C Cook-reduced to #R (for appropriate C) using a binary search (the reason #R is defined the way it is, rather than being the graph of cR, is to make this binary search possible).

Counting complexity class

See also: #P and #P-complete.

Just as NP has NP-complete problems via many-one reductions, #P has #P-complete problems via parsimonious reductions, problem transformations that preserve the number of solutions.[1]

See also

Notes and References

  1. Web site: Barak . Boaz . Complexity of counting . Princeton University . Spring 2006.