next up previous
Next: Up: Previous:

Theorem 36.11: CLIQUE $\in$ NPC



1. CLIQUE $\in$ NP

To show CLIQUE in NP, we use set V' of vertices as a certificate.

Verifying is polynomial time, check whether for every pair u,v in V', the edge is in E ( \(\mid V'\mid^2\) pairs).



2. L' = 3-CNF-SAT



3. 3-CNF-SAT $\leq_P$ CLIQUE

Start with instance of 3-CNF-SAT (also called 3CNF).

Let f be 3CNF with k clauses, \((C_{11} \vee C_{12} \vee C_{13}) \wedge
(C_{21} \vee C_{22} \vee C_{23}) \wedg...
...vee C_{32} \vee C_{33}) \wedge
$\ldots$\space (C_{k1} \vee C_{k2} \vee C_{k3})\).

For r = 1,2,..,k, each clause has three distinct literals l1r, l2r, l3r.

Construct a graph G such that f is satisfiable iff G has a clique of size k.

For each Cr in f, put triple of vertices v1r, v2r, v3r in V.

Add edge (vir, vjs) if

1.
vir and vjs are in different triples (r $\neq$ s), and
2.
their corresponding literals are consistent (lir is not the negation of ljs).


next up previous
Next: Up: Previous: