Talk:♯P

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Definition[edit]

The definition is unclear. In particular, what is x in the following

   "compute ƒ(x)," where ƒ is the number of accepting paths of an NP machine

is that the Turing machine? If it is, it should also be explained that for an NP problem there exists many accepting Turing machines with different numbers of accepting paths. Mikolasj (talk) 10:37, 11 July 2010 (UTC)[reply]

I changed the text to make it clearer. Is that better? --Robin (talk) 18:59, 11 July 2010 (UTC)[reply]

Change[edit]

The following was changed:

"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.

This is incorrect. A regular NP machine for, say SAT may have many accepting paths, "exactly equal to the number of distinct solutions". A #P Turing machine is a FUNCTIONAL machine. Its a machine that outputs the value of a function f:{0,1}* -> Z such that f(x) = # of solutions.

No. You seem to be confusing #P with the class of counting problems in FP. Dricherby (talk) 16:12, 26 June 2008 (UTC)[reply]

NP-hardness of problems in #P[edit]

The sentence "Therefore, the #P problem corresponding to any NP-Complete problem must be NP-Hard" is incorrect. We cannot compare apples and oranges: a problem in #P is a counting problem, whereas any NP-hard problem is a decision problem. The only way to relate them is by oracles, what is done in Toda's theorem.--Miki Hermann 16:02, 24 October 2007 (UTC)[reply]

Likewise, "It is not known whether, conversely, #P is in the polynomial hierarchy", since PH is a hierarchy of decision problems. So I deleted that sentence, too. Dricherby (talk) 16:06, 26 June 2008 (UTC)[reply]
A problem does not have to be in NP to be NP-hard. For example, SAT may be reduced to #SAT, trivially. We can in fact compare function and decision problems. Kufat (talk) 23:50, 26 June 2009 (UTC)[reply]
Yes, Kufat is right here, the statement in question is completely accurate. The statement that Dricherby removed was incorrect, however. Dcoetzee 21:49, 27 June 2009 (UTC)[reply]

#PSpace = #P[edit]

The problem of counting all valid quantifications of a boolean formula is the canonical member of #PSpace. It turns out that the answer is equal to the number of satisfying assignments of the boolean formula, so #P=#PSpace. Probably, the equivalence is unsurprising, but is uncommon knowledge. The equivalence has been titled #P=#Q in a 2002 paper. 24.33.70.144 (talk) 21:59, 1 March 2014 (UTC)Daniel Pehoushek[reply]

Title substitution[edit]

The recently-removed message about the page title being incorrect was confusing, but there is in fact a substitution being made: ♯ (non-ASCII sharp) for # (ASCII sharp/hash/etc). ♯P is used in the title for technical reasons, and #P is used everywhere in the body. Then again, it's not obvious that ♯P is any less "correct" than #P. Possibly the message should be brought back and clarified? (Doesn't seem important -- just leaving this here in case future editors are confused.) Patallurgist (talk) 01:08, 4 August 2022 (UTC)[reply]