1

In this wikipedia article, the following comment is made:

Consider an arbitrary decision problem in the class NP. By definition each problem instance $x$ which are answered 'yes' have a certificate $y$ which serves as a proof for the 'yes' answer. Thus, the set of these tuples $(x,y)$ forms a relation. The complexity class derived from this transformation is denoted by $\mathbf {F} (\mathbf {NP} )$ or $\mathbf {FNP}$ for short.

Why does this refer to a "certificate"/"proof" $y$? What does this refer to in an actual Turing machine for a decision problem? In my understanding, a Turing machine will simply halt if the answer to the input is "yes", without having to prove that this is so. For some decision problems, there might be such a certificate computed by a turing machine, but this seems not to be necessary (e.g. in analogy with logic: in classical logic we often don't need a constructive proof).

Moreover, there are also function problems that are not derived in this way from a decision problem, right? So it seems to me that FNP is bigger than suggested above. (i.e. it shows how to convert a decision problem into a function problem with the same complexity, but not vice versa).

user600670
  • 277
  • 1
  • 6
  • Are you familiar with the certificate definition of NP? This is the kind of certificate that Wikipedia is referring to. – Yuval Filmus Oct 29 '18 at 08:13

0 Answers0