QUESTIONS AND CORRECT DETAILED ANSWERS
(VERIFIED ANSWERS) |ALREADY GRADED A+
2. Demonstrate that problem B is at least as hard as a problem believed to be NP-
Complete. This is done via a reduction from a known problem A (A->B)
a) Show how an instance of A is converted to B in polynomial time
b) Show how a solution to B can be converted to a solution for A, again in
polynomial time
c) Show that a solution for B exists IF AND ONLY IF a solution to A exists
- most prove both parts: if you you have a solution to B, you have a solution to A
- If there is no solution to B, then no solution exists to A
LP: Why optimum occurs at a vertex - ANSWER -Feasible region is convex
LP: Optimum achieved at a vertex except: - ANSWER -1. Infeasible - feasible
region is empty
2. Unbounded - optimal value of objective function is arbitrarily large
Independent Set -> Vertex Cover - ANSWER -Lemma: I is an independent set of
G(V, E) iff V - I is a vertex cover of G
Simply check if there is a vertex cover of size V - b in G(V, E). If there is, output
V-S
3SAT -> Independent Set - ANSWER -Lemma: f is satisfiable iff the resulting set
has an independent set of size m (# of clauses in f) in G(V, E).
, To construct G(V, E), create a node for each literal in each clause and connect
them by an edge. Also connect any literal with it's negation.
Independent Set -> Clique - ANSWER -Lemma: G(V, E) has an independent set
of size g iff G'(V, E) has a clique of size g.
To construct G'(V, E), add all the vertices in G(V, E) to G'(V, E) and add edges to
G'(V, E) if there is no edge in G(V, E)
SAT - ANSWER -Input: C is a CNF with any # of variables (n) and clauses (m)
Output: assignment of each variable s.t. the CNF is True
3SAT - ANSWER -Input: C is a CNF whose clauses have at most 3 literals
Output: Assignment of each variable s.t. the CNF is True
Clique - ANSWER -Input: G is an undirected, unweighted graph, k is the size of
the clique
Output: A Clique in G with at least k vertices
Independent Set - ANSWER -Input: G is an undirected, unweighted graph, k is
the size of the IS
Output: An IS in G with at least k vertices
VertexCover - ANSWER -Input: G is an undirected, unweighted graph, b is a
budget of the vertex cover
Output: A vertex cover of G with at most b vertices
RudrataPath - ANSWER -Input: G = (V, E) is an undirected, unweighted graph, s
is the starting node and t is the destination node.