Clique Problem (CLIQUE)

The Clique Problem (CLIQUE) takes an input of:

  • an undirected graph
  • an integer

It provides an output of if and only if contains a clique of size .

Clique

A clique is a subset of an undirected graph such that every two distinct vertices in the clique are adjacent.

Link to original

Link to original

Theorem: The Clique Problem belongs to NP

Input: An undirected graph and integer .

  1. We can decide whether contains a clique of size by checking every subset of vertices of size . However, there are possible subsets which is not polynomial.
  2. But, we can use an NDTM to check each subset in parallel, and as each subset requires us to check only edges, this is polynomial!

Theorem: The SAT problem is polynomially reducible to the Clique finding problem, .

Input: Formula in CNF.

  1. Construct a graph and choose an integer such that: is satisfiable has a clique of size
  2. Define from some given . For example, given :
  • We convert each clause into their distinct vertices.
  • Next, we connect all vertices together that are not in the same clause and do not conflict. Edges which conflict are highlighted in below. Formally .
  • Now we choose an appropriate integer , which in this case is . In this example, .
  • We can make sastifiable when:
are true
is false
are false are true
is false
  • Hence, we have that is satisfiable contains a clique of size . Therefore .

Theorem: CLIQUE is NP-complete

Since SAT is NP-hard, it follows that the Clique Problem must also be NP-hard. This gives us our lower-bound which proves CLIQUE is NP-complete.