Source: MaximumIndependentSet
Target: MaximumClique
Motivation: An independent set in $G$ corresponds to a clique in the complement graph; this is the reverse of Karp's classical complement graph reduction.
Reference: Karp, R. M. (1972). Reducibility among combinatorial problems.
Reduction Algorithm
Notation:
- Source: MaximumIndependentSet 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 an independent set in $G$ iff no pair in $S$ is adjacent in $G$ iff all pairs in $S$ are adjacent in $\bar{G}$ iff $S$ is a clique 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 MaximumIndependentSet instance, reduce to MaximumClique, solve both with BruteForce, verify optimal values match and extracted solution is a valid independent set in the original graph.
Example
Source: MaximumIndependentSet on triangle $K_3$ with 3 vertices, edges ${(0,1), (1,2), (0,2)}$, unit weights.
-
$n=3$, $m=3$
- Complement $\bar{G}$ has edges $\emptyset$ (empty graph), so $|\bar{E}| = 3 \cdot 2/2 - 3 = 0$
Reduction: Build MaximumClique on $\bar{G}$ (the empty graph on 3 vertices) with same weights.
Target: MaximumClique on $\bar{G} = ({0,1,2},; \emptyset)$.
Solution: In $\bar{G}$ (empty graph), every single vertex is a trivial max clique of size 1. Back in $G$, any single vertex is an independent set of size 1. This is optimal ($K_3$ has no independent set of size $> 1$).
Source: MaximumIndependentSet$G$ corresponds to a clique in the complement graph; this is the reverse of Karp's classical complement graph reduction.
Target: MaximumClique
Motivation: An independent set 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 MaximumIndependentSet instance, reduce to MaximumClique, solve both with BruteForce, verify optimal values match and extracted solution is a valid independent set in the original graph.
Example
Source: MaximumIndependentSet on triangle$K_3$ with 3 vertices, edges ${(0,1), (1,2), (0,2)}$ , unit weights.
Reduction: Build MaximumClique on$\bar{G}$ (the empty graph on 3 vertices) with same weights.
Target: MaximumClique on$\bar{G} = ({0,1,2},; \emptyset)$ .
Solution: In$\bar{G}$ (empty graph), every single vertex is a trivial max clique of size 1. Back in $G$ , any single vertex is an independent set of size 1. This is optimal ($K_3$ has no independent set of size $> 1$ ).