1 NP-Complete Problems Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph, the length.

Slides:



Advertisements
Similar presentations
Analysis of Algorithms
Advertisements

NP-Hard Nattee Niparnan.
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
Approximation Algorithms for TSP
NP-Complete Problems Polynomial time vs exponential time
The Theory of NP-Completeness
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Combinatorial Algorithms
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Approximation Algorithms
Approximation Algorithms Lecture for CS 302. What is a NP problem? Given an instance of the problem, V, and a ‘certificate’, C, we can verify V is in.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V such that for each edge (u, v) ∈ E at least one of u and v belongs to V’ and |V’| is minimized.
The Theory of NP-Completeness
1 Assignment 4. This one is cancelled since there is a solution on website. I new assignment will be given on Nov. 28. (Due on Friday of Week 14. Drop.
Analysis of Algorithms CS 477/677
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Chapter 11: Limitations of Algorithmic Power
NP-Complete Problems (Fun part)
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
P, NP, and NP-Complete Suzan Köknar-Tezel.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 NP-Complete Problems (Fun part) Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph,
Approximation Algorithms
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 The TSP : NP-Completeness Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Approximation Algorithms
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Unit 9: Coping with NP-Completeness
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NPC.
CSC 413/513: Intro to Algorithms
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Instructor Neelima Gupta Table of Contents Introduction to Approximation Algorithms Factor 2 approximation algorithm for TSP Factor.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
The Theory of NP-Completeness
The NP class. NP-completeness
Richard Anderson Lecture 26 NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Chapter 11 Limitations of Algorithm Power
The Theory of NP-Completeness
Presentation transcript:

1 NP-Complete Problems Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph, the length of strings, etc) of our problem and k is a constant (e.g., k=1, 2, 3, etc). –Exponential time: 2 n or n n. n= 2, 10, 20, 30 2 n : million 1000 million Suppose our computer can solve a problem of size k (i.e., compute 2 k operations) in a hour/week/month. If the new computer is 1024 times faster than ours, then the new computer can solve the problem of size k+10 in the same time. The improvement is very little. Hardware improvement has little use for solving problems that require exponential running time. Exponential running time is considered as “not efficient”.

2 Story All algorithms we have studied so far are polynomial time algorithms. Facts: people have not yet found any polynomial time algorithms for some famous problems, (e.g., Hamilton Circuit, longest simple path, Steiner trees). Question: Do there exist polynomial time algorithms for those famous problems ? Answer: No body knows.

3 Story Research topic: Prove that polynomial time algorithms do not exist for those famous problems, e.g., Hamilton circuit problem. You can get Turing award if you can give the proof. In order to answer the above question, people define two classes of problems, P class and NP class. To answer if P  NP, a rich area, NP-completeness theory is developed.

4 Class P and Class NP Class P contains those problems that are solvable in polynomial time. –They are problems that can be solved in O(n k ) time, where n is the input size and k is a constant. Class NP consists of those problem that are verifiable in polynomial time. What we mean here is that if we were somehow given a solution, then we can verify that the solution is correct in time polynomial in the input size to the problem. Example: Hamilton Circuit: given an order of the n distinct vertices (v 1, v 2, …, v n ), we can test if (v i, v i+1 ) is an edge in G for i=1, 2, …, n-1 and (v n, v 1 ) is an edge in G in time O(n) (polynomial in the input size).

5 Class P and Class NP Based on definitions, P  NP. If we can design a polynomial time algorithm for problem A, then problem A is in P. However, if we have not been able to design a polynomial time algorithm for problem A, then there are two possibilities: 1.polynomial time algorithm does not exist for problem A or 2.we are not smart. Open problem: P  NP? Clay $1 million prize.

6 Polynomial-Time Reductions Suppose we have a black box (an algorithm) that could solve instances of a problem X; If we give the input of an instance of X, then in a single step, the black box will return the correct answer. Question: Can arbitrary instances of problem Y be solved using polynomial number of standard computational steps, plus a polynomial number of calls to a black box that solves problem X? If yes, then Y is polynomial-time reducible to X.

7 NP-Complete A problem X is NP-complete if it is in NP and any problem Y in NP has a polynomial time reduction to X. – it is the hardest problem in NP If an NP-complete problem can be solved in polynomial time, then any problem in class NP can be solved in polynomial time. The first NPC problem is Satisfiability probelm –Proved by Cook in 1971 and obtains the Turing Award for this work

8 Boolean formula A boolean formula f(x 1, x 2, …x n ), where x i are boolean variables (either 0 or 1), contains boolean variables and boolean operations AND, OR and NOT. Clause: variables and their negations are connected with OR operation, e.g., (x1 OR NOTx2 OR x5) Conjunctive normal form of boolean formula: contains m clauses connected with AND operation. Example: (x1 OR NOT x2) AND (x1 OR NOT x3 OR x6) AND (x2 OR x6) AND (NOT x3 OR x5). –Here we have four clauses.

9 Satisfiability problem Input: conjunctive normal form with n variables, x 1, x 2, …, x n. Problem: find an assignment of x 1, x 2, …, x n (setting each x i to be 0 or 1) such that the formula is true (satisfied). Example: conjunctive normal form is (x1 OR NOTx2) AND (NOT x1 OR x3). The formula is true for assignment x1=1, x2=0, x3=1. Note: for n Boolean variables, there are 2 n assignments. Testing if formula=1 can be done in polynomial time for any given assignment. Given an assignment that satisfies formula=1 is hard.

10 The First NP-complete Problem Theorem: Satisfiability problem is NP-complete. –It is the first NP-complete problem. –S. A. Cook in –Won Turing prize for his work. Significance: –If Satisfiability problem can be solved in polynomial time, then ALL problems in class NP can be solved in polynomial time. –If you want to solve P  NP, then you should work on NPC problems such as satisfiability problem. –We can use the first NPC problem, Satisfiability problem, to show that other problems are also NP-complete.

11 How to show that a problem is NPC? To show that problem A is NP-complete, we can –First find a problem B that has been proved to be NP-complete. –Show that if Problem A can be solved in polynomial time, then problem B can also be solved in polynomial time. That is, to give a polynomial time reduction from B to A. Remarks: Since a NPC problem, problem B, is the hardest in class NP, problem A is also the hardest

12 Hamilton circuit and Longest Simple Path Hamilton circuit : a circuit uses every vertex of the graph exactly once except for the last vertex, which duplicates the first vertex. It was shown to be NP-complete. Longest Simple Path: Input: V={v 1, v 2,..., v n } be a set of nodes in a graph and d(v i, v j ) the distance between v i and v j,, find a longest simple path from u to v. Theorem 2: The longest simple path problem is NP-complete.

13 Theorem 2: The longest simple path (LSP) problem is NP-complete. Proof: Hamilton Circuit Problem (HC): Given a graph G=(V, E), find a Hamilton Circuit. We want to show that if we can solve the longest simple path problem in polynomial time, then we can also solve the Hamilton circuit problem in polynomial time. Design a polynomial time algorithm to solve HC by using an algorithm for LSP. Step 0: Set the length of each edge in G to be 1 Step 1: for each edge (u, v)  E do find the longest simple path P from u to v in G. Step 2: if the length of P is n-1 then by adding edge (u, v) we obtain an Hamilton circuit in G. Step 3: if no Hamilton circuit is found for every (u, v) then print “no Hamilton circuit exists” Conclusion: if LSP can be solved in polynomial time, then HC can also be solved in polynomial. Since HC was proved to be NP-complete, LSP is also NP-complete.

14 Some basic NP-complete problems 3-Satisfiability : Each clause contains at most three variavles or their negations. Vertex Cover: Given a graph G=(V, E), find a subset V’ of V such that for each edge (u, v) in E, at least one of u and v is in V’ and the size of V’ is minimized. Hamilton Circuit: (definition was given before) History: Satisfiability  3-Satisfiability  vertex cover  Hamilton circuit. Those proofs are very hard.

15 Approximation Algorithms Concepts Knapsack Steiner Minimum Tree TSP Vertex Cover

16 Concepts of Approximation Algorithms Optimization Problem: The solution of the problem is associated with a cost (value). We want to maximize the cost or minimize the cost. Minimum spanning tree and shortest path are optimization problems. Euler circuit problem is NOT an optimization problem. (it is a decision problem.)

17 Approximation Algorithm An algorithm A is an approximation algorithm, if given any instance I, it finds a candidate solution s(I) How good an approximation algorithm is? We use performance ratio to measure the quality of an approximation algorithm.

18 Performance ratio For minimization problem, the performance ratio of algorithm A is defined as a number r such that for any instance I of the problem, where OPT(I) is the value of the optimal solution for instance I and A(I) is the value of the solution returned by algorithm A on instance I.

19 Performance ratio For maximization problem, the performance ratio of algorithm A is defined as a number r such that for any instance I of the problem, OPT(I) A(I) is at most r (r  1), where OPT(I) is the value of the optimal solution for instance I and A(I) is the value of the solution returned by algorithm A on instance I.

20 Simplified Knapsack Problem Given a finite set U of items, a size s(u)  Z +, a capacity B  max{s(u):u  U}, find a subset U'  U such that and such that the above summation is as large as possible. (It is NP-hard.)

21 Ratio-2 Algorithm 1.Sort u's based on s(u)'s in increasing order. 2.Select the smallest remaining u until no more u can be added. 3.Compare the total value of selected items with the item of the largest size, and select the larger one. Theorem: The algorithm has performance ratio 2.

22 Proof Case 1: the total of selected items  0.5B (got it!) Case 2: the total of selected items < 0.5B. –No remaining item left: we get optimal. –There are some remaining items: the size of the smallest remaining item >0.5B. (Otherwise, we can add it in.) Selecting the largest item gives ratio-2.

23 The 0-1 Knapsack problem: The 0-1 knapsack problem: N items, where the i-th item is worth v i dollars and weight w i pounds. – v i and w i are integers. A thief can carry at most W (integer) pounds. How to take as valuable a load as possible. –An item cannot be divided into pieces. The fractional knapsack problem: The same setting, but the thief can take fractions of items.

24 Ratio-2 Algorithm 1.Delete the items i with w i >W. 2.Sort items in decreasing order based on v i /w i. 3.Select the first k items item 1, item 2, …, item k such that w 1 +w 2 +…, w k  W and w 1 +w 2 +…, w k +w k+1 >W. 4. Compare v k+1 with v 1 +v 2 +…+v k and select the larger one. Theorem: The algorithm has performance ratio 2.

25 Proof of ratio 2 C(opt): the cost of optimum solution C(fopt): the optimal cost of the fractional version. 1.C(opt)  C(fopt). 2.v 1 +v 2 +…+v k +v k+1 > C(fopt). 3. So, either v 1 +v 2 +…+v k >0.5 C(fopt)  0.5c(opt) or v k+1 >0.5 C(fopt)  0.5c(opt). Since the algorithm choose the larger one from v 1 +v 2 +…+v k and v k+1 We know that the cost of the solution obtained by the algorithm is at least 0.5 C(fopt)  c(opt).

26 Steiner Minimum Tree Steiner minimum tree in the plane Input: a set of points R (regular points) in the plane. Output: a tree with smallest weight which contains all the nodes in R. Weight: weight on an edge connecting two points (x 1,y 1 ) and (x 2,y 2 ) in the plane is defined as the Euclidean distance

27 Example: Dark points are regular points.

28 Triangle inequality Key for our approximation algorithm. For any three points in the plane, we have: dist(a, c ) ≤ dist(a, b) + dist(b, c). Examples: a b c 3 4 5

29 Approximation algorithm (Steiner minimum tree in the plane) Compute a minimum spanning tree for R as the approximation solution for the Steiner minimum tree problem. How good the algorithm is? (in terms of the quality of the solutions) Theorem: The performance ratio of the approximation algorithm is 2.

30 We want to show that for any instance (input) I, A(I)/OPT(I) ≤ r (r≥1), where A(I) is the cost of the solution obtained from our spanning tree algorithm, and OPT(I) is the cost of an optimal solution. Proof

31 Assume that T is the optimal solution for instance I. Consider a traversal of T Each edge in T is visited at most twice. Thus, the total weight of the traversal is at most twice of the weight of T, i.e., w(traversal)≤2w(T)=2OPT(I) (1)

32 Based on the traversal, we can get a spanning tree ST as follows: (Directly connect two nodes in R based on the visited order of the traversal.) From triangle inequality, w(ST)≤w(traversal) ≤2OPT(I) (2)

33 Inequality(2) says that the cost of the spanning tree ST is less than or equal to twice of the cost of an optimal solution. So, if we can compute ST, then we can get a solution with cost≤2OPT(I). (Great! But finding ST may also be very hard, since ST is obtained from the optimal solution T, which we do not know.) We can find a minimum spanning tree MST for R in polynomial time. By definition of MST, w(MST) ≤w(ST) ≤2OPT(I). Therefore, the performance ratio is 2.

34 Story The method was known long time ago. The performance ratio was conjectured to be Du and Hwang (1990 ) proved that the conjecture is true.

35 Graph Steiner minimum tree Input: a graph G=(V,E), a weight w(e) for each e ∈ E, and a subset R ⊂ V. Output: a tree with minimum weight which contains all the nodes in R. The nodes in R are called regular points. Note that, the Steiner minimum tree could contain some nodes in V-R and the nodes in V-R are called Steiner points.

36 Example: Let G be shown in Figure a. R={a,b,c}. The Steiner minimum tree T={(a,d),(b,d),(c,d)} which is shown in Figure b. Theorem: Graph Steiner minimum tree problem is NP-complete. b a d c Figure a a d c 11 1 Figure b b

37 Approximation algorithm (Graph Steiner minimum tree) 1.For each pair of nodes u and v in R, compute the shortest path from u to v and assign the cost of the shortest path from u to v as the length of edge (u, v). (a complete graph is given) 2.Compute a minimum spanning tree for the modified complete graph. 3.Include the nodes in the shortest paths used.

38 Theorem: The performance ratio of this algorithm is 2. Proof: We only have to prove that Triangle Inequality holds. If dist(a,c)>dist(a,b)+dist(b,c)......(3) then we modify the path from a to c like a→b→c Thus, (3) is impossible.

39 Example II The given graph a b ec f g d

40 Example II-2 Modified complete graph a b c d e /3 e /4 f/ 2 g /3 f-c-g/5 e-c-g /7

41 Example II-3 The minimum spanning tree a b c d e /3 f /2 g/3

42 Example II The approximate Steiner tree a b ec f g d 1

43 Approximation Algorithm for TSP with triangle inequality Given n points in a plane, find a tour to visit each city exactly once. Assumption: the triangle inequality holds. That is, d (a, c) ≤ d (a, b) + d (b, c). This condition is reasonable, for example, whenever the cities are points in the plane and the distance between two points is the Euclidean distance. Theorem: TSP with triangle inequality is also NP-hard.

44 Ratio 2 Algorithm Algorithm A: 1.Compute a minimum spanning tree algorithm (Figure a) 2.Visit all the cities by traversing twice around the tree. This visits some cities more than once. (Figure b) 3.Shortcut the tour by going directly to the next unvisited city. (Figure c)

45 Example: (a) A spanning tree (b) Twice around the tree (c) A tour with shortcut

46 Proof of Ratio 2 1.The cost of a minimum spanning tree: cost(t), is not greater than opt(TSP), the cost of an optimal TSP. (Why? n-1 edges in a spanning tree. n edges in TSP. Delete one edge in TSP, we get a spanning tree. Minimum spanning tree has the smallest cost.) 2.The cost of the TSP produced by our algorithm is less than 2×cost(T) and thus is less than 2×opt(TSP).

47 Center Selection Problem Problem: Given a set of points V in the plane (or some other metric space), find k points c 1, c 2,.., c k such that for each v in V, min { i=1, 2, …, k} d(v, c i )  d and d is minimized.

48 Farthest-point clustering algorithm Step 1: arbitrarily select a point in V as c 1. Step 2: let i=2. Step 3: pick a point c i from V –{c 1, c 2, …, c i-1 } to maximize min {|c 1 c i |, |c 2 c i |,…,|c i-1 c i |}. Step 4: i=i+1; Step 5: repeat Steps 3 and 4 until i=k.

49 Theorem: Farthest-point clustering algorithm has ratio-2. Proof: Let c i be an point in V that maximize  i =min {|c 1 c i |, |c 2 c i |,…,|c i-1 c i |}. We have  i   i-1 for any i. Since two, say c i and c j (i>j), of the k+1 points must be in the same group (in an opt solution),  i  2 opt. Thus,  k+1  2 opt. For any v in V, by the definition of  k+1, min {|c 1 v|, |c 2 v|,…,|c k v|}   k+1. So the algorithm has ratio-2.

50 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V with minimum number of vertices such that for each edge (u, v) ∈ E at least one of u and v is in V’. V' is called vertex cover. The problem is NP-hard. A ratio-2 algorithm exists for vertex cover problem.