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 PehoushekReply

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

"P♯" listed at Redirects for discussion

edit

  The redirect P♯ has been listed at redirects for discussion to determine whether its use and function meets the redirect guidelines. Readers of this page are welcome to comment on this redirect at Wikipedia:Redirects for discussion/Log/2024 May 31 § P♯ until a consensus is reached. Nickps (talk) 13:37, 31 May 2024 (UTC)Reply