Counting problem (complexity)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In computational complexity theory and computability theory, a counting problem is a type of computational problem. If R is a search problem (formalised as a binary relation) then

cR(x)=|{yR(x,y)}|

is the corresponding counting function and

#R={(x,y)ycR(x)}

denotes the corresponding decision problem.

Note that cR is a function 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

[edit | edit source]

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

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).