Sharp-p

#P, pronounced "sharp P", is a complexity class in computational complexity theory. It is the set of counting problems associated with the decision problems in the set NP. Unlike most well-known complexity classes, it is not a class of decision problems but a class of function problems. An NP problem is often of the form, "Are there any solutions that satisfy certain constraints?" For example: The corresponding #P problems ask "how many" rather than "are there any". For example:
  • How many subsets of a list of integers add up to zero?
  • How many Hamiltonian cycles in a given graph have cost less than 100?
  • How many variable assignments satisfy a given CNF formula?
More formally, a problem is in #P if there is a non-deterministic, polynomial-time Turing machine that, for each instance I of the problem, has a number of accepting computations that is exactly equal to the number of distinct solutions for instance I. Clearly, a #P problem must be at least as hard as the corresponding NP problem. If it's easy to count answers, then it must be easy to tell whether there are any answers. Just count them, and see if the count is greater than zero. Therefore, the #P problem corresponding to any NP-Complete problem, must be NP-Hard. Surprisingly, some #P problems that are believed to be difficult correspond to easy P problems. For more information on this, see sharp-P-complete.

 

<< PreviousWord BrowserNext >>
skithblathnir
sleipnir
walter scott
savoy
suffolk
scylla
september 22
solitaire
solitaire terminology
syrinx
sambo
savate
sextus julius africanus
saint agnes
szechuan cuisine
shanghai cuisine
soul food
spam
sforza
septuagint
codex sinaiticus
saint john fisher college
scouting
sociobiology
saint adrian
statutory rape
sharp p complete
saint piran
scrabble
sedevacantism
sailor moon
seul
sabrina
september 27
september 11
spider man
history of stockholm
culture of stockholm
tourism in stockholm
stephen r. lawhead
september 14
september 6
september 7
servius tullius