Definition
Independent Set Problem
Let be a graph and , whereby is part of the input (not a constant). The independent set problem is a decision problem asking whether there exists an independent set such that .
Relation to Vertex Cover
Let be a graph and and . is an independent set of if and only if is a vertex cover of .
Equivalence to Vertex Cover Problem
The independent set problem is equivalent (w.r.t. polynomial time reduction) to the vertex cover problem.
NP-completeness
SAT INDEPENDENT SET
Reduction Idea:
- Make a clique for each clause (vertices are literals) and set to be the number of clauses.
Notice we are now required to choose exactly one literal-vertex in each clique.- Next, make each literal-vertex adjacent to each literal-vertex that represented the opposite assignment of the same variable.
Notice that we are now prevented from choosing incompatible literal-vertices.Visual Example: Consider the CNF formula .
Here, the number of clauses is . We construct a graph where finding an independent set of size corresponds to satisfying .Correctness:
- () Satisfiable Independent Set: If is satisfiable, there is at least one true literal in each clause. By selecting exactly one true literal-vertex from each clause clique, we form a set of size . Since we only select true literals, we never select both a variable and its negation, meaning no conflict edges are present. Thus, this forms an independent set of size .
- () Independent Set Satisfiable: If the graph has an independent set of size , it must contain exactly one vertex from each of the clause cliques (because picking two in the same clique would violate independence). The selected vertices give a consistent truth assignment (because no conflict edges can be selected) that satisfies all clauses.