Source: VERTEX COVER
Target: FEEDBACK VERTEX SET
Motivation: Establishes NP-completeness of MinimumFeedbackVertexSet via polynomial-time reduction from MinimumVertexCover, showing that every undirected edge can be converted into a directed 2-cycle so that a vertex cover in the original graph corresponds exactly to a feedback vertex set in the constructed digraph.
Reference: Garey & Johnson, Computers and Intractability, A1.1 GT7
GJ Source Entry
[GT7] FEEDBACK VERTEX SET
INSTANCE: Directed graph G = (V,A), positive integer K ≤ |V|.
QUESTION: Is there a subset V' ⊆ V with |V'| ≤ K such that V' contains at least one vertex from every directed cycle in G?
Reference: [Karp, 1972]. Transformation from VERTEX COVER.
Comment: Remains NP-complete for digraphs having no in- or out-degree exceeding 2, for planar digraphs with no in- or out-degree exceeding 3 [Garey and Johnson, ——], and for edge digraphs [Gavril, 1977a], but can be solved in polynomial time for reducible graphs [Shamir, 1977]. The corresponding problem for undirected graphs is also NP-complete.
Reduction Algorithm
Summary:
Given a MinimumVertexCover instance (G=(V,E), k) where G is an undirected graph, construct a MinimumFeedbackVertexSet instance (G'=(V',A'), k') as follows:
- Vertex set: V' = V (one vertex in G' for each vertex in G; no new vertices are added).
- Arc set: For each undirected edge {u,v} ∈ E, add both directed arcs (u→v) and (v→u) to A'. Each undirected edge becomes a directed 2-cycle of length 2: u→v→u.
- Budget parameter: Set k' = k.
- Key invariant: Every 2-cycle u→v→u in G' corresponds to an edge {u,v} in G. Hitting all 2-cycles is equivalent to covering all edges. Any longer directed cycle must traverse some arc (u,v), and {u,v} is an edge of G, so if S covers all edges then S already contains u or v, breaking that longer cycle as well. Hence FVS(G') = VC(G).
- Solution extraction: Any FVS of size ≤ k in G' is a vertex cover of size ≤ k in G, and vice versa.
Correctness:
- (⇒) If S is a vertex cover for G of size ≤ k, then for every directed 2-cycle u→v→u in G', at least one of u, v is in S (since {u,v} ∈ E). Hence S is a FVS for G' of size ≤ k.
- (⇐) If S is a FVS for G' of size ≤ k, then for every arc (u,v) ∈ A', the 2-cycle u→v→u is broken, so at least one of u, v is in S. Since every edge {u,v} ∈ E generated arcs in both directions, S covers every edge of G.
Size Overhead
Symbols:
- n =
num_vertices of source graph G
- m =
num_edges of source graph G
| Target metric (code name) |
Polynomial (using symbols above) |
num_vertices |
num_vertices |
num_arcs |
2 * num_edges |
Derivation:
- Vertices: same vertex set, no additions → |V'| = n
- Arcs: each undirected edge {u,v} yields two directed arcs (u→v) and (v→u) → |A'| = 2m
Validation Method
- Closed-loop test: reduce a MinimumVertexCover instance to MinimumFeedbackVertexSet, solve target with BruteForce, extract solution (same vertex set), verify it is a valid vertex cover on the original undirected graph
- Check that the minimum FVS size in G' equals the minimum VC size in G
- Test with a path graph P_n (minimum VC = ⌈(n−1)/2⌉): the constructed digraph has 2(n−1) arcs forming n−1 independent 2-cycles; minimum FVS = ⌈(n−1)/2⌉ ✓
- Test with a complete graph K_n (minimum VC = n−1): verify minimum FVS = n−1 in the all-pairs bidirected digraph
Example
Source instance (MinimumVertexCover):
Graph G with 7 vertices {0, 1, 2, 3, 4, 5, 6} and 8 edges:
- Edges: {0,1}, {0,2}, {0,3}, {1,2}, {1,3}, {3,4}, {4,5}, {5,6}
- Structure: K4 minus edge {2,3} on vertices {0,1,2,3}, plus a path 3–4–5–6. Contains two triangles: {0,1,2} and {0,1,3}. Three vertices (0, 1, 3) have degree 3; vertices 2, 4, 5 have degree 2; vertex 6 has degree 1.
- Minimum vertex cover: k = 4, for example {0, 1, 3, 5}:
- {0,1} covered by 0 ✓, {0,2} covered by 0 ✓, {0,3} covered by 0 ✓
- {1,2} covered by 1 ✓, {1,3} covered by 1 ✓
- {3,4} covered by 3 ✓, {4,5} covered by 5 ✓, {5,6} covered by 5 ✓
Constructed target instance (MinimumFeedbackVertexSet):
Directed graph G' with 7 vertices {0, 1, 2, 3, 4, 5, 6} and 16 arcs:
- From edge {0,1}: arcs (0→1) and (1→0)
- From edge {0,2}: arcs (0→2) and (2→0)
- From edge {0,3}: arcs (0→3) and (3→0)
- From edge {1,2}: arcs (1→2) and (2→1)
- From edge {1,3}: arcs (1→3) and (3→1)
- From edge {3,4}: arcs (3→4) and (4→3)
- From edge {4,5}: arcs (4→5) and (5→4)
- From edge {5,6}: arcs (5→6) and (6→5)
Directed cycles in G': eight 2-cycles ({0↔1}, {0↔2}, {0↔3}, {1↔2}, {1↔3}, {3↔4}, {4↔5}, {5↔6}) plus longer cycles induced by the triangles (e.g., 0→1→2→0 from triangle {0,1,2} and 0→1→3→0 from triangle {0,1,3}). Hitting all 2-cycles automatically breaks longer cycles too.
Target budget: K' = k = 4
Solution mapping:
- Minimum FVS in G': {0, 1, 3, 5}
- Breaks 2-cycle {0↔1}: vertex 0 ∈ FVS ✓
- Breaks 2-cycle {0↔2}: vertex 0 ∈ FVS ✓
- Breaks 2-cycle {0↔3}: vertex 0 ∈ FVS ✓
- Breaks 2-cycle {1↔2}: vertex 1 ∈ FVS ✓
- Breaks 2-cycle {1↔3}: vertex 1 ∈ FVS ✓
- Breaks 2-cycle {3↔4}: vertex 3 ∈ FVS ✓
- Breaks 2-cycle {4↔5}: vertex 5 ∈ FVS ✓
- Breaks 2-cycle {5↔6}: vertex 5 ∈ FVS ✓
- Remaining graph on {2, 4, 6}: arcs (2→0), (2→1), (4→3), (4→5), (6→5) all point to removed vertices — no arcs remain among {2, 4, 6}, so the induced subgraph is edgeless, hence acyclic ✓
- Extracted vertex cover in G: {0, 1, 3, 5} — same set
- Verification: all 8 edges of G are covered ✓
- FVS size = 4 = k ✓
Greedy trap: Vertices 0, 1, and 3 all have degree 3 (tied for maximum). Vertex 3 appears in only 2 of 5 optimal solutions, while vertex 0 appears in 4 of 5. If a greedy max-degree heuristic commits to vertex 3 early while skipping both 0 and 1, it can be forced into a suboptimal cover of size 5. The 5 distinct optimal solutions — {0,1,3,5}, {0,1,4,5}, {0,1,4,6}, {0,2,3,5}, {1,2,3,5} — illustrate that the dense near-K4 subgraph and the path tail interact in non-trivial ways.
References
- [Karp, 1972]: [
Karp1972] Richard M. Karp (1972). "Reducibility among combinatorial problems". In: Complexity of Computer Computations. Plenum Press.
- [Garey and Johnson, ——]: (not found in bibliography)
- [Gavril, 1977a]: [
Gavril1977a] F. Gavril (1977). "Some {NP}-complete problems on graphs". In: Proceedings of the 11th Conference on Information Sciences and Systems, pp. 91–95. Johns Hopkins University.
- [Shamir, 1977]: [
Shamir1977] Adi Shamir (1977). "Finding minimum cutsets in reducible graphs". Laboratory for Computer Science, Massachusetts Institute of Technology.
Source: VERTEX COVER
Target: FEEDBACK VERTEX SET
Motivation: Establishes NP-completeness of MinimumFeedbackVertexSet via polynomial-time reduction from MinimumVertexCover, showing that every undirected edge can be converted into a directed 2-cycle so that a vertex cover in the original graph corresponds exactly to a feedback vertex set in the constructed digraph.
Reference: Garey & Johnson, Computers and Intractability, A1.1 GT7
GJ Source Entry
Reduction Algorithm
Summary:
Given a MinimumVertexCover instance (G=(V,E), k) where G is an undirected graph, construct a MinimumFeedbackVertexSet instance (G'=(V',A'), k') as follows:
Correctness:
Size Overhead
Symbols:
num_verticesof source graph Gnum_edgesof source graph Gnum_verticesnum_verticesnum_arcs2 * num_edgesDerivation:
Validation Method
Example
Source instance (MinimumVertexCover):
Graph G with 7 vertices {0, 1, 2, 3, 4, 5, 6} and 8 edges:
Constructed target instance (MinimumFeedbackVertexSet):
Directed graph G' with 7 vertices {0, 1, 2, 3, 4, 5, 6} and 16 arcs:
Directed cycles in G': eight 2-cycles ({0↔1}, {0↔2}, {0↔3}, {1↔2}, {1↔3}, {3↔4}, {4↔5}, {5↔6}) plus longer cycles induced by the triangles (e.g., 0→1→2→0 from triangle {0,1,2} and 0→1→3→0 from triangle {0,1,3}). Hitting all 2-cycles automatically breaks longer cycles too.
Target budget: K' = k = 4
Solution mapping:
Greedy trap: Vertices 0, 1, and 3 all have degree 3 (tied for maximum). Vertex 3 appears in only 2 of 5 optimal solutions, while vertex 0 appears in 4 of 5. If a greedy max-degree heuristic commits to vertex 3 early while skipping both 0 and 1, it can be forced into a suboptimal cover of size 5. The 5 distinct optimal solutions — {0,1,3,5}, {0,1,4,5}, {0,1,4,6}, {0,2,3,5}, {1,2,3,5} — illustrate that the dense near-K4 subgraph and the path tail interact in non-trivial ways.
References
Karp1972] Richard M. Karp (1972). "Reducibility among combinatorial problems". In: Complexity of Computer Computations. Plenum Press.Gavril1977a] F. Gavril (1977). "Some {NP}-complete problems on graphs". In: Proceedings of the 11th Conference on Information Sciences and Systems, pp. 91–95. Johns Hopkins University.Shamir1977] Adi Shamir (1977). "Finding minimum cutsets in reducible graphs". Laboratory for Computer Science, Massachusetts Institute of Technology.