0

The CLIQUE problem -- problem of finding the maximum clique in a graph -- is NP-complete. That is, CLIQUE is

  1. in NP and
  2. there is an NP complete problem, 3-SAT for one, that reduces to CLIQUE in polynomial time.

Part 2. above is fine -- all over in every resource and very well explained. For Part 1., from what I know, we need to have the following: Given a specific solution instance, we need to show that it can be verified, in polynomial time, that that solution is an answer to this problem. So for instance, given a specific graph and a subgraph of it, we should be able to check whether that subgraph is a clique of maximum size in that graph.

The resources I've read so far are phrasing this Part 1. here as "easy, straightforward, etc" or "it can be shown in $O(n^2)$ time that the given subgraph is a clique/not". However, the verification here is not just whether it's a clique, but also is whether it is a maximum clique in the graph. How can this be decided in polynomial time?

What am I missing here?

Raphael
  • 73,212
  • 30
  • 182
  • 400
Roam
  • 137
  • 2
  • 5

1 Answers1

4

What you're missing is the difference between decision problems and optimization problems. "Finding the maximum clique" is an optimization problem. The corresponding decision problem is "Does there exist a clique of size $\ge k$?". The latter problem is in NP. NP is a class of decision problems, so it doesn't make sense to ask whether an optimization problem is in NP; that's only meaningful for decision problems. Any textbook or standard resource on NP should explain the difference between decision problems vs. optimization problems in more depth.

D.W.
  • 167,959
  • 22
  • 232
  • 500