Polynomial-Time Reductions for NP-Complete Problems
Classified in Computers
Written on in
English with a size of 3.67 KB
1. Independent Set to Vertex Cover Reduction
Input
A graph G and an integer k.
Reduction Steps
- Call the black-box for Vertex Cover with the input graph G.
- Provide n-k as the target size, where n is the number of nodes in G.
- Return the result ('yes' or 'no') from the black-box call.
2. SAT to Independent Set Reduction
Input
A CNF formula F.
Reduction Steps
- Construct a graph G where the nodes of G are the literals occurring in F (with possible repetitions).
- Add the following edges to G:
- An edge joining every pair of complementary literals.
- An edge joining any two literals that occur in the same clause.
- Call the black-box for Independent Set with input graph G and an integer k, where k is the number of clauses in F.
- Return the result ('yes' or 'no') from the black-box call.
3. Hamiltonian Path to Hamiltonian Cycle Reduction
Input
A graph G and two nodes, x and y.
Reduction Steps
- Construct a new graph H from G. Initially, place all nodes and edges from G into H.
- Add two new nodes to H, called x' and y'.
- Add the following new edges: (x', x) and (y', y).
- Call the black-box for the Hamiltonian Problem with input H.
- Return the result ('yes' or 'no') from the previous call.
4. Independent Set to Diverse Subset Reduction
Input
A graph G and a non-negative integer k.
Reduction Steps
- Construct a matrix A with one row for each node in G and one column for each edge in G. The rows can be seen as customers and the columns as products.
- Assign every entry of matrix A to a 0 or 1. For a node v and an edge e in G, the entry A(v,e) is 1 if node v is incident to edge e, and 0 otherwise.
- Call the black box for the Diverse Subset Problem with input (A, k).
- Return the result ('yes' or 'no') from the previous call.
5. Independent Set to Clique Reduction
Input
A graph G and a non-negative integer k.
Reduction Steps
- Construct the complementary graph, G', of G. The graph G' has the same nodes as G and contains precisely all those edges that are not in G.
- Call the oracle for Clique with input (G', k).
- Return the result ('yes' or 'no') from the previous call.
6. Vertex Cover to Set Cover Reduction
Input
A graph G and an integer k ≥ 0.
Reduction Steps
- Construct a universe set U where each element is an edge of graph G (i.e., U is the set of edges E).
- Construct a collection of subsets of U. For each node i in G, create a subset Si that contains all edges incident to node i.
- Call the oracle for Set Cover with the universe U, the collection of subsets {Si for each node i in V}, and the integer k.
- Return the result ('yes' or 'no') from the previous call.