Skip to content

[Rule] MaximumClique to MaximumIndependentSet #164

@zazabap

Description

@zazabap

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    GoodAn issue passed all checks.ruleA new reduction rule to be added.

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions