← Student tools · Problem 28 · Lecture 11 · Round 2 (30 pts)

CLIQUE → VERTEX-COVER via complement

A k-clique in G ⇔ a (n−k)-vertex-cover in G̅.

CLO-4R2·30 ptsL11

VERTEX-COVER = {⟨G, k⟩ : G has a vertex cover of size ≤ k}, where a vertex cover is a set S of vertices that touches every edge — for each edge (u, v), at least one of u, v is in S.

The duality lemma · Sipser Theorem 7.44

Let G be a graph on n vertices, and let G̅ be its complement (same vertices, edges flipped: uv is an edge of G̅ iff uv is not an edge of G). Then S is a clique of size k in G if and only if V \ S is a vertex cover of size n − k in G̅.

The reduction: f(⟨G, k⟩) = ⟨G̅, n − k⟩. Computing G̅ takes O(n²) time. Polynomial, so this is a many-one reduction. Since CLIQUE is NP-complete and CLIQUE ≤p VERTEX-COVER, VERTEX-COVER inherits NP-hardness. VERTEX-COVER ∈ NP (the cover is a polynomial-size witness), so it is NP-complete.

Why the duality works

A clique S in G means every pair in S is connected in G — equivalently, no pair in S is connected in G̅. So no edge of G̅ has both endpoints in S, which means every edge of G̅ has at least one endpoint outside S, which means V \ S is a vertex cover of G̅. The argument is symmetric in both directions.

🔊 Listen
Same vertices, complement edges, complement set Auto-plays

Sipser: Theorem 7.44 (CLIQUE ≤p VERTEX-COVER). Lecture notes: Module 5 slide 5. Companion problems: P27 (3SAT → CLIQUE), P31 (3-COLOR — another graph-theoretic NP-complete).