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
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions