Counting problem (complexity)
In computational complexity theory and computability theory, a counting problem is a type of computational problem. If R is a search problem then
is the corresponding counting function and
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 using a binary search.If NX is a complexity class associated with non-deterministic machines then #X = is the set of counting problems associated with each search problem in NX. In particular, #P is the class of counting problems associated with NP search problems.
Just as NP has NP-complete problems via many-one reductions, #P has complete problems via parsimonious reductions, problem transformations that preserve the number of solutions.