3

The $\text{NP-Complete}$ class of problems is defined w.r.t Karp Reductions, which are polytime many-one reductions. However, they need not necessarily preserve the number of solutions. A more restrictive type: polytime one-one reductions do indeed preserve the number of solutions.

Suppose $f:\Sigma^{\ast}\to \mathbb{N}$ is a counting function in $\text{#P}$ and the decision problem $f_{ > 0}$ defined as: Is $f(x) > 0$ ? is in $NP$.

Now if $f_{> 0}$ is in $\text{NP-Complete}$, can we immediately tell that $f$ is in $\text{#P-Complete}$ or, do we could only say so, if the reduction map (showing $\text{NP-Completeness}$) was one-one.

Dave Clarke
  • 20,205
  • 4
  • 68
  • 113
Pavithran Iyer
  • 365
  • 2
  • 7
  • 2
    Up to my (poor :-) knowledge it is an open problem, i.e. an example of a polytime many-one reduction that cannot be made parsimonious (polytime one-one) has not been found yet. I think that further details can be found in J. Simon. On the difference between one and many – Vor Aug 23 '12 at 09:54
  • "one-one" is not the correct terminology for what you are asking, one-one means that the reduction function is one-one regarding instances not certificates/solutions. Same is true about many-one, it is not about the number of solutions, it is about possibility of mapping several instances of the source problem to a single instance of the target problem. Note that Karp reductions and polytime one-one reductions make sense generally while the concept of certificate/solutions make sense only for search problems. – Kaveh Aug 23 '12 at 12:04
  • Don't confuse search problems, function problems, and decision problems. The correct statement of your question would be: If the decision problem corresponding to a search problem is NP-complete, does it mean that the corresponding counting problem is #P-complete? – Kaveh Aug 23 '12 at 12:13
  • @Vor, that paper is quite old and uses non-standard notations. – Kaveh Aug 23 '12 at 12:17
  • 1
    ps: we know that the reverse direction does not hold (unless strange things happens in complete theory, i.e. P=NP) since the counting version of Matching is #P-complete while the search version can be solved in polytime so decision version is in P. – Kaveh Aug 23 '12 at 12:19
  • 2
    @Kaveh: you are right, even "parsimonious reduction" (I used my comment above) is not correct. #P-hardness is defined using weakly parsimonious reductions (counting reductions). From Algebraic Techniques for Satisfiability Problems: "... In the constraint context, there are satisfiability problems, where the problem if a given formula has a solution at all is NP-complete, but the corresponding counting problem is not complete for #P under parsimonious reductions. ..." – Vor Aug 23 '12 at 13:57
  • 1
    @Vor, actually I am not sure that is the standard definition of #P-hardness, e.g. see Arora and Barak, definition 17.8, or #P-complete on Wikipedia. The definition in Valiant's paper is as follows: $A$ is #P-hard iff $\mathsf{FP}^A$ contains #P. The definition doesn't talk about preserving the number of solutions, however the proof of #P-completeness of #3SAT satisfies the condition. – Kaveh Aug 23 '12 at 15:36
  • @Kaveh: a counting reduction (or weakly parsimonious reduction) from counting problem $g$ to $f$ ($g \leq_c f$) is a pair of polytime functions $\sigma$, $\tau$ such that $|g(x)| = \tau(x,|f(\sigma(x))|)$ (it doesn't necessarily preserve the number of solutions). $f$ is #P-complete if it is in #P and $f \leq_c g$ for every $g \in #P$. It seems equivalent to the oracle version in Arora and Barak; but the difference brings out if we consider only the #P-hardness definition. ?!? – Vor Aug 23 '12 at 16:25
  • @Vor, I don't follow the last part: "but the difference brings out if we consider only the #P-hardness definition. ?!?" – Kaveh Aug 23 '12 at 17:14
  • 1
    @Kaveh: I was only trying to express that the definition of #P-hardness under counting reductions (which I found in some papers) seems stronger than the Valiant's definition of #P-hardness. – Vor Aug 23 '12 at 23:21
  • @Vor Can I say that there are problems that are NP-Complete under Polytime many one reductions, but never under parsimonious reduction. I can refer to the example of CSF, following the extract you pointed out in [that article][1]. Surely, all #P Complete problems don't need to correspond to a NP-Complete decision problem. Isn't it equivalent to saying that parsimonious reductions cannot capture the entire #P-Complete class of problems (which is why we have a weaker notion of counting-reduction). [1]: http://www.thi.uni-hannover.de/fileadmin/forschung/arbeiten/hschnoor-diss.pdf – Pavithran Iyer Aug 30 '12 at 20:10
  • @Vor With reference to your first comment, the terms "polynomial many-one reductions" and "parsimonious reductions" are synonymous right ? I was confused, since apparently my definition in this post was not accurate for "parsimonious reductions". – Pavithran Iyer Aug 30 '12 at 20:28
  • @PavithranIyer: (1) I wrote the first comment off the cuff: see Kaveh's notes after it. A parsimonious reduction from counting problem $f$ to $g$ is a polytime function $\sigma$ such that $|f(x)|=|g(\sigma(x))|$ (it preserves the number of solutions). (2) yes, parsimonious reduction and counting reduction (see my comment above for its definition) lead to different sets (parsimonious reduction is stronger). (3) Valiant's oracle reduction ($g \in #P$ is #P-complete if $#P \subseteq FP^g$) and counting reduction lead to the same set of problems (THE #P-complete class). – Vor Aug 30 '12 at 22:40
  • @PavithranIyer: ... (4) (I think that) your question - if correctly reformulated as suggested by Kaveh - is still an open problem – Vor Aug 30 '12 at 22:41
  • @Vor Maybe summarize your comments into a short answer? It helps the site the less unanswered questions we have. – Juho Feb 24 '15 at 17:00
  • @ThinhD.Nguyen I'm not seeing how a question about $\mathbf{#P}$ is a duplicate of one about $\mathbf{PP}$ that doesn't seem to mention $\mathbf{#P}$ anywhere in the question or its answers. – David Richerby Oct 11 '18 at 11:25
  • Ok, I retract the pending flag. – Thinh D. Nguyen Oct 11 '18 at 12:44

0 Answers0