MCS312: NP-completeness and Approximation Algorithms Instructor: Neelima Gupta ngupta/ 1.
-
Upload
drusilla-smith -
Category
Documents
-
view
222 -
download
1
Transcript of MCS312: NP-completeness and Approximation Algorithms Instructor: Neelima Gupta ngupta/ 1.
MCS312: NP-completeness and Approximation
Algorithms
Instructor: Neelima Guptahttp://people.du.ac.in/
~ngupta/
1
So far you must have seen…
• Polynomial time algorithms• Exponential time algorithms• Parallel algorithms• Randomized algorithms
Optimization Problems you must have seen
• Longest Common Subsequence• Matrix Chain Multiplication• Optimal Binary Search Tree• Activity Selection Problem• Minimum Spanning Tree• Shortest Path
- Solvable in Polynomial Time by Dynamic Programming or Greedy Approach.
Optimization Vs Decision Problems
• In case of Optimization problems, each feasible solution has an associated value, and we want the feasible solution with the ‘best’ value.
• Eg: Shortest path problem-
-Given an undirected graph (G,s,t), we want to compute the shortest path from vertex s to vertex t (path using fewest edges).
Optimization & Decision Problems
• In case of Decision problems, the answer to the problem is a simple ‘yes’ or a ‘no’ (more formally, 1 or 0).
• We can obtain a related decision problem for a given optimization problem by bounding the value to be optimized.
• Eg: Shortest path problem (decision version 1)-Given an undirected graph (G,s,t,k), is there a path from vertex s to vertex t consisting of exactly k edges?
• Shortest path problem (decision version 2)-Given an undirected graph (G,s,t,k), is there a path from vertex s to vertex t consisting of at most k edges?
Assignment 1
• Give the decision versions(both) for the following problems :
i. Longest Common Subsequenceii. Matrix Chain Multiplicationiii. Optimal Binary Search Treeiv. Activity Selection Problemv. Minimum Spanning Tree
Class NP
• The class of decision problems for which there is a polynomially bounded nondeterministic algorithm.
• NP-completeness does not apply directly to optimization problems, but to decision problems.
• We can obtain a decision version of an optimization problem, which will be “easier” or at least, “no harder” than the optimization problem.
• Optimization problem is the harder of the two.
Verification
• A Verification algorithm takes as an input, a problem instance, and a certificate and decides whether it is a yes-instance.
• A(x,y) = 1; iff, y is a valid certificate.
input certificateinstance
• Eg: Shortest path (verification version)– Given an undirected graph (G,s,t,k,c), is c
a path from vertex s to vertex t of length = (or <= for version 2) k?
– Here, c will be a sequence of edges (path) from s to t.
Verification
• Let L1- SP = {<G,s,t,k>: Э a path from s to of length = k}
• Let x SP, then we claim that Э a certificate y such that, <G,s,t,k,y> can be verified in polynomial time.– What is that?– Ans: Since x SP, Э a path from s to of length
= k. This path itself serves as the certificate.– What does the verification algorithm do?– Ans: Check that the given sequence of vertices
u1 , u2 , … um indeed forms a path in G and,– That its length is k i.e. m-1 = k.
Verification Algorithm• For every ui,
– check if ui+1 is adjacent to it ….takes O(V) time
Overall time for this step is O(V2 )
• Checking that m – 1 <= k can be done in O(1) time.
• Hence, we can verify the certificate in polynomial time.
Complement of Shortest Path Problem
• Let L2- SPC = {<G,s,t,k>: !Э a path from s to t of length <=k}
i.e. Is G a graph with no path between s and t of length <=k?
• Big Q: Does there exist a certificate which can be verified for SPC in polynomial time?
• Existence of one path satisfying the condition (yes) does not imply it is the only path i.e. we cannot confirm non-existence of other certificates.
Verification of SPC
• In case of SP problem which is polynomial time solvable, this certificate exists– What is that?– The shortest path itself.– Can you verify it in polynomial time?– yes– What should the verification algorithm do?– 1. Verify that given sequence of edges indeed form a
path in G.– 2. Verify that it is indeed the shortest (Important!! How?
SP algorithm like Djikstra’s)– 3. Verify that its length is greater than k (the shortest
path of length > k iff every path is of length > k i.e. iff there is no path of length <= k)
• Hence SPC can also be verified in polynomial time.
Class ℕℙ & ℙ
• ℙ : Set of problems which can be solved in polynomial time using deterministic algorithms.
• ℕℙ : Set of problems which we can be verified in polynomial time.
Eg: Shortest-path problem, even optimization problem belongs to class ℙ.
NP
P
-P is a small part of NP.-Problems which cannot be verified in polynomial time are harder, and are outside NP.
CLASS Co- ℕℙ
• Co- ℕℙ : Set of problems whose complement can be verified in polynomial time.
• Q: Does SP belong to Co - ℕℙ?– Ans: Yes
SP belongs to NP ∩ Co-NP
Is every polynomial time solvable problem in NP ∩ Co-NP ?
Co-NPNP ∩ Co-NP
SP NP
Assignment 2
• Show that P is contained in NP ∩ Co-NP. i.e. All polynomial time solvable problems and their complements are verifiable in polynomial time.
The Class NP ∩ co-NP
A problem that belongs to NP ∩ co-NP is said to have a Good Characterization
It has short proofs for both “yes” and “no” instances.
An example problem belonging to NP ∩ co-NP
The graph isomorphism problem Computational problem of determining
whether two finite graphs are isomorphic.
Status of GI problem is unknown.
It is neither known to be NP-Complete nor known to be in P, we’ll talk about NP-Completeness a little while later.
The generalization of GI namely Subgraph Isomorphism is known to
be NPC.