My tutor often says that proving membership of NP is the easy part of proving that a problem is NP-complete, and that this should only take a minute. What I don't understand is what exactly you're suppose to do at this step   I understand that you're suppose to verify the correctness of a solution but how do I do that?

  • $\begingroup$ Your question didn't make a whole lot of sense to me. I think I know what you were asking about so I edited the question to be about that. If I got it wrong, please undo the edit (click the "edited however long ago" link and then the "rollback" link for revision 1. $\endgroup$ – David Richerby Oct 19 '15 at 7:28
  • $\begingroup$ Techniques to prove a problem is in NP are covered in our reference question; I recommend you take a look at that, and edit your question or post a new question if some specific aspect remains unclear. $\endgroup$ – D.W. Oct 19 '15 at 7:33

Here are several examples:

  1. MAX-CLIQUE: The witness is a set of vertices of given size. The verifier checks that edges connect all pairs of vertices in the set.

  2. SAT: The witness is a satisfying assignment. The verifier checks that it satisfies all clauses in the formula.

  3. 3COL: The witness is a 3-coloring of the graph. The verifier checks that all edges connect vertices of different color.

  4. SUBSET-SUM: The witness is a subset of the set. The verifier checks that the subset sums to the target number.


Not the answer you're looking for? Browse other questions tagged or ask your own question.