Presentation is loading. Please wait.

Presentation is loading. Please wait.

MCS312: NP-completeness and Approximation Algorithms

Similar presentations


Presentation on theme: "MCS312: NP-completeness and Approximation Algorithms"— Presentation transcript:

1 MCS312: NP-completeness and Approximation Algorithms
Instructor: Neelima Gupta

2 Class NP and Co-NP revisited
Table of Contents Class NP and Co-NP revisited Problem discussed Shortest Path Problem

3 So far you must have seen…
Polynomial time algorithms Exponential time algorithms Parallel algorithms Randomized algorithms

4 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.

5 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).

6 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?

7 Assignment 1 Give the decision versions(both) for the following problems : Longest Common Subsequence Matrix Chain Multiplication Optimal Binary Search Tree Activity Selection Problem Minimum Spanning Tree

8 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.

9 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 certificate instance 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.

10 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.

11 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.

12 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.

13 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.

14 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 is a small part of NP. -Problems which cannot be verified in polynomial time are harder, and are outside NP. P

15 CLASS Co- ℕℙ Co- ℕℙ : Set of problems whose complement can be verified in polynomial time. Q: Does SP belong to Co - ℕℙ? Ans: Yes

16 SP belongs to NP ∩ Co-NP NP ∩ Co-NP Co-NP
Is every polynomial time solvable problem in NP ∩ Co- NP ? Co-NP NP ∩ Co-NP SP NP

17 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.

18 Open Questions? Is P = NP? (Unlikely) Is NP = Co-NP? (Unlikely)
Is P = NP ∩ Co-NP?

19 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.

20 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.

21 More NP Problems Satisfiability Independent Set Clique Vertex Cover
Hamiltonian Cycle Subset Sum Set Cover


Download ppt "MCS312: NP-completeness and Approximation Algorithms"

Similar presentations


Ads by Google