Source: MaximumClique
Target: MaximumIndependentSet
Motivation: A clique in $G$ corresponds to an independent set in the complement graph; this is one of Karp's classical reductions connecting two fundamental NP-hard graph problems.
Reference: Karp, R. M. (1972). Reducibility among combinatorial problems.
Reduction Algorithm
Notation:
- Source: MaximumClique instance on graph $G = (V, E)$ with vertex weights $w$
-
$n = |V|$, $m = |E|$
- Complement graph: $\bar{G} = (V, \bar{E})$ where $\bar{E} = {(u,v) : u \neq v,; (u,v) \notin E}$
Variable mapping:
- Vertices are preserved: vertex $i$ in $G$ maps to vertex $i$ in $\bar{G}$
- Weights are preserved: $w_i$ in the source maps to $w_i$ in the target
- Configuration is identity: $\text{config}[i]$ in source equals $\text{config}[i]$ in target
Constraint/objective transformation:
- A set $S$ is a clique in $G$ iff all pairs in $S$ are adjacent in $G$ iff no pair in $S$ is adjacent in $\bar{G}$ iff $S$ is an independent set in $\bar{G}$
- Objective (maximize total weight of selected vertices) is identical in both problems
Size Overhead
| Target metric (code name) |
Polynomial (using symbols above) |
num_vertices |
$n$ |
num_edges |
$n(n-1)/2 - m$ |
Validation Method
Closed-loop test: construct a MaximumClique instance, reduce to MaximumIndependentSet, solve both with BruteForce, verify optimal values match and extracted solution is a valid clique in the original graph.
Example
Source: MaximumClique on path graph $P_4$ with 4 vertices, edges ${(0,1), (1,2), (2,3)}$, unit weights.
-
$n=4$, $m=3$
- Complement $\bar{G}$ has edges ${(0,2), (0,3), (1,3)}$, so $|\bar{E}| = 4 \cdot 3/2 - 3 = 3$
Reduction: Build MaximumIndependentSet on $\bar{G}$ with same weights.
Target: MaximumIndependentSet on $\bar{G} = ({0,1,2,3},; {(0,2),(0,3),(1,3)})$.
Solution: In $\bar{G}$, vertices ${1,2}$ are non-adjacent → independent set of size 2. Back in $G$, vertices ${1,2}$ are adjacent → clique of size 2. This is optimal ($P_4$ has no triangle).
Source: MaximumClique$G$ corresponds to an independent set in the complement graph; this is one of Karp's classical reductions connecting two fundamental NP-hard graph problems.
Target: MaximumIndependentSet
Motivation: A clique in
Reference: Karp, R. M. (1972). Reducibility among combinatorial problems.
Reduction Algorithm
Notation:
Variable mapping:
Constraint/objective transformation:
Size Overhead
num_verticesnum_edgesValidation Method
Closed-loop test: construct a MaximumClique instance, reduce to MaximumIndependentSet, solve both with BruteForce, verify optimal values match and extracted solution is a valid clique in the original graph.
Example
Source: MaximumClique on path graph$P_4$ with 4 vertices, edges ${(0,1), (1,2), (2,3)}$ , unit weights.
Reduction: Build MaximumIndependentSet on$\bar{G}$ with same weights.
Target: MaximumIndependentSet on$\bar{G} = ({0,1,2,3},; {(0,2),(0,3),(1,3)})$ .
Solution: In$\bar{G}$ , vertices ${1,2}$ are non-adjacent → independent set of size 2. Back in $G$ , vertices ${1,2}$ are adjacent → clique of size 2. This is optimal ($P_4$ has no triangle).