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 (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

If NX is a complexity class associated with non-deterministic machines then #X = {#R | R NX} 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.

gollark: Haskell is obviously no, Python is quite slow and has different ecosystem problems as well as a remarkable amount of weird inconsistency, JS dependencies break after about 5 months and it's an awful language, Rust is somewhat nice but annoying compared to higher level languages, Clojure is maybe good however Lisp and also Java (well, JVM), and... that's about it?
gollark: OCaml suffers from the same sort of ecosystem problem.
gollark: Thus, I am condemned to eternal suffering and minoteaur will never be finished.
gollark: I'm actually investigating F# as a non-bad language, and while it is in fact an excellent language according to the osmarks.tk™ arbitrary language ratings™, the tooling is æææææÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆæææææÆÆÆÆÆÆÆÆææÆÆÆÆæææææÆÆÆÆÆæææ (very heavyweight and annoying) and much of the ecosystem is too "enterprisey".
gollark: Troubling. Well, you could try running another thread to do the thing.

See also

  • "counting problem". PlanetMath.
  • "counting complexity class". PlanetMath.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.