APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

Size: px
Start display at page:

Download "APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS"

Transcription

1 APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS Subhas C. Nandy Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 70010, India.

2 Organization Introduction Approximation Algorithms for Intersection Graphs Approximation Algorithm for Art Gallery Problem Approximation Algorithm for Some Important Geometric Optimization Problems

3 Introduction Criteria for a good algorithm for a computatinal problem Fast execution time, Requirement of small extra space in addition to the space required for storing the input, and Easy to code.

4 Introduction Criteria for a good algorithm for a computatinal problem Fast execution time, Requirement of small extra space in addition to the space required for storing the input, and Easy to code. Measures of execution time Actual CPU time for running the program, Asymptotic running time.

5 Introduction Assymptotic Running time Worst case time complexity. Average case time complexity.

6 Introduction Assymptotic Running time Worst case time complexity. Average case time complexity. Worst case running time An upper bound on the running time of the algorithm for any input.

7 Introduction Assymptotic Running time Worst case time complexity. Average case time complexity. Worst case running time An upper bound on the running time of the algorithm for any input. Average case running time The average over the time required to run the algorithm for all possible inputs, where the input is assumed to follow some distribution (known in advance).

8 Introduction Assymptotic Running time Worst case time complexity. Average case time complexity. Worst case running time An upper bound on the running time of the algorithm for any input. Average case running time The average over the time required to run the algorithm for all possible inputs, where the input is assumed to follow some distribution (known in advance). The time complexity is measured as a function of the input size, or the output size, or both.

9 Tractibility versus Intractibility A problem is said to be tractable if there exists an algorithm for that problem whose worst case time complexity is a polynomial function in n (the input size). Otherwise, the problem is said to be intractable.

10 Tractibility versus Intractibility A problem is said to be tractable if there exists an algorithm for that problem whose worst case time complexity is a polynomial function in n (the input size). Otherwise, the problem is said to be intractable. Complexity Classes P: A decision problem that can be solved in polynomial time. NP: A decision problem that, for an input, can be verified in polynomial time.

11 NP-Completeness An important question Whether P = NP or P NP? NP-Complete Class: A class of decision problems in NP such that if one of them can be solved in polynomial time, all other problems can also be solved in polynomial time. NP NPC P

12 Proof for NP-Completeness For the given problem, Step 1: Design a non-deterministic polynomial time algorithm for the problem, and Step : Reduce a known NP-complete problem to the given problem in polynomial time.

13 NP-Complete Problems Circuit satisfiability, 3-SAT (satisfiability where the expression is in CNF, and each clause is of length at most 3), Clique decision problem, Vertex Cover decision, Travelling salesman problem, Knapsack problem, Bin packing Art gallery problem to name only a few.

14 Handling the NP-Hard Problems Brute-force algorithm Design a clever enumeration strategy, so that it guarantees the optimality of the solution, but no guarantee on the running time.

15 Handling the NP-Hard Problems Brute-force algorithm Design a clever enumeration strategy, so that it guarantees the optimality of the solution, but no guarantee on the running time. Heuristic Develop an intuitive algorithm, such that it guarantees to run in polynomial time, but no guarantee on the quality of the solution.

16 Approximation Algorithm Approximation Algorithm Guaranteed to run in polynomial time, and guaranteed to produce a high quality solution.

17 Approximation Algorithm Approximation Algorithm Guaranteed to run in polynomial time, and guaranteed to produce a high quality solution. But, what is a high quality solution?

18 Approximation Algorithm Approximation Algorithm Guaranteed to run in polynomial time, and guaranteed to produce a high quality solution. But, what is a high quality solution? Is the solution = OPT + α, or α OPT, or (1 + ɛ) OPT where, OPT the optimum solution, α a constant, ɛ a very small constant.

19 Approximation Algorithm Note: Designing approximation algorithm for a problem having polynomial time algorithm is also relevant if the time complexity of the problem is very high.

20 Approximation Algorithm Note: Designing approximation algorithm for a problem having polynomial time algorithm is also relevant if the time complexity of the problem is very high. Difficulty: One needs to prove that the solution is close to optimum, without knowing the optimum solution.

21 Approximation Algorithm Absolute Approximation Algorithm An algorithm A for a problem P that produces a solution Q such that Q OPT α, for a constant α.

22 Approximation Algorithm Absolute Approximation Algorithm An algorithm A for a problem P that produces a solution Q such that Q OPT α, for a constant α. Example: For a planar graph, testing whether the graph is 3 colorable is NP-complete. But, coloring the nodes of the graph with 5 colors needs O(n ) time. Thus, we have a -absolute approximation algorithm for the planar graph coloring problem

23 Approximation Algorithm f (n)-approximation Algorithm Let P be a problem of size n. An algorithm A for a problem P is said to be an f (n)-approximation algorithm if and only if for every instance I of P, A(I ) OPT /OPT f (n). It is assumed that OPT 0. Note: f (n) can be a constant also.

24 Approximation Algorithm f (n)-approximation Algorithm Let P be a problem of size n. An algorithm A for a problem P is said to be an f (n)-approximation algorithm if and only if for every instance I of P, A(I ) OPT /OPT f (n). It is assumed that OPT 0. Note: f (n) can be a constant also. Performance ratio: f (n) = A(I )/OPT in case P is a minimization problem OPT /A(I ) in case P is a maximization problem

25 Vertex Cover Problem Definition Given a graph G = (V, E), a vertex cover S is a set of nodes S V such that at least one end-point of every edge e E is incident on a member of S.

26 Vertex Cover Problem Definition Given a graph G = (V, E), a vertex cover S is a set of nodes S V such that at least one end-point of every edge e E is incident on a member of S. Vertex Cover Problem Given a graph G = (V, E), compute a vertex cover of minimum size.

27 Vertex Cover Problem Definition Given a graph G = (V, E), a vertex cover S is a set of nodes S V such that at least one end-point of every edge e E is incident on a member of S. Vertex Cover Problem Given a graph G = (V, E), compute a vertex cover of minimum size. Status: NP-hard.

28 A Greedy Algorithm Find a vertex having maximum degree. Choose it in the vertex cover Delete that vertex and all its adjacent edges from the graph Repeat the above three steps until all the edges of the graph are removed

29 A Greedy Algorithm Find a vertex having maximum degree. Choose it in the vertex cover Delete that vertex and all its adjacent edges from the graph Repeat the above three steps until all the edges of the graph are removed An example:

30 A Greedy Algorithm A generalized Example k! vertices of degree k k! vertices k of degree k k! k 1 vertices of degree k 1 k! vertices of degree SOL = k!( 1 k + 1 k k ) = k! log k

31 A Greedy Algorithm A generalized Example k! vertices of degree k k! vertices k of degree k k! k 1 vertices of degree k 1 k! vertices of degree SOL = k!( 1 k + 1 k k ) = k! log k Optimum Solution OPT = k!

32 Inference: The greedy algorithm is not a constant factor approximation algorithm. A Greedy Algorithm A generalized Example k! vertices of degree k k! vertices k of degree k k! k 1 vertices of degree k 1 k! vertices of degree SOL = k!( 1 k + 1 k k ) = k! log k Optimum Solution OPT = k!

33 Constant Factor Approximation Algorithm Step 1: Choose an edge e = (u, v) E Step : Update the vertex cover S by S {u, v} Step 3: Remove the vertices u and v from V. Remove all the edges incident at u and v from E. Step 3: Repeat Steps 1 and until all the edges in E are removed.

34 Constant Factor Approximation Algorithm Theorem Step 1: Choose an edge e = (u, v) E Step : Update the vertex cover S by S {u, v} Step 3: Remove the vertices u and v from V. Remove all the edges incident at u and v from E. Step 3: Repeat Steps 1 and until all the edges in E are removed. Approximation factor =. Time Complexity = O( E ).

35 Minimum Weight Steiner Tree Problem Problem: Given: An edge weighted undirected graph G = (V, E), with vertices classified into two groups, namely terminal A and non-terminal B, where A B = V. v 1 v 3 v u u u 4 u v 4 v 5

36 Minimum Weight Steiner Tree Problem Problem: Given: An edge weighted undirected graph G = (V, E), with vertices classified into two groups, namely terminal A and non-terminal B, where A B = V. v 1 v 3 v u u u 4 u v v 4 v 5 v Objective: To compute a tree T that contains all the vertices of A, and the total weight of the edges of the tree T is minimum. v 3 u u 4 3 v 4 v 5

37 Minimum Weight Steiner Tree Problem Problem: Given: An edge weighted undirected graph G = (V, E), with vertices classified into two groups, namely terminal A and non-terminal B, where A B = V. v 1 v 3 v u u u 4 u v v 4 v 5 v Objective: To compute a tree T that contains all the vertices of A, and the total weight of the edges of the tree T is minimum. v 3 u u 4 3 v 4 v 5 Status The decision version of the problem is NP-complete.

38 Approximation Algorithm for Steiner Tree Problem Input: A graph G = (V, E, w) and a terminal set L V. Output: A Steiner Tree

39 Approximation Algorithm for Steiner Tree Problem Input: A graph G = (V, E, w) and a terminal set L V. Output: A Steiner Tree Step 1 Consider the metric closure G L = (L, E L, ω) on the terminal set L. [G L - A complete graph with node set L. For each u, v L cost of the edge (u, v) = shortest path cost from u to v in G.

40 Approximation Algorithm for Steiner Tree Problem Input: A graph G = (V, E, w) and a terminal set L V. Output: A Steiner Tree Step 1 Consider the metric closure G L = (L, E L, ω) on the terminal set L. [G L - A complete graph with node set L. For each u, v L cost of the edge (u, v) = shortest path cost from u to v in G. Step find a minimum spanning tree (MST) T L on G L.

41 Approximation Algorithm for Steiner Tree Problem Input: A graph G = (V, E, w) and a terminal set L V. Output: A Steiner Tree Step 1 Consider the metric closure G L = (L, E L, ω) on the terminal set L. [G L - A complete graph with node set L. For each u, v L cost of the edge (u, v) = shortest path cost from u to v in G. Step find a minimum spanning tree (MST) T L on G L. Step 3 set T =.

42 Approximation Algorithm for Steiner Tree Problem Input: A graph G = (V, E, w) and a terminal set L V. Output: A Steiner Tree Step 1 Consider the metric closure G L = (L, E L, ω) on the terminal set L. [G L - A complete graph with node set L. For each u, v L cost of the edge (u, v) = shortest path cost from u to v in G. Step find a minimum spanning tree (MST) T L on G L. Step 3 set T =. Step 4 for each edge (u, v) E L do Step 4a find a shortest path Π from u to v in G. Step 4b if Π contains less than two vertices in T, then add Π to T. else let x and y be first and last vertices on Π that are also in T. add sub-paths u to x and y to v in T.

43 Approximation Algorithm for Steiner Tree Problem Input: A graph G = (V, E, w) and a terminal set L V. Output: A Steiner Tree Step 1 Consider the metric closure G L = (L, E L, ω) on the terminal set L. [G L - A complete graph with node set L. For each u, v L cost of the edge (u, v) = shortest path cost from u to v in G. Step find a minimum spanning tree (MST) T L on G L. Step 3 set T =. Step 4 for each edge (u, v) E L do Step 4a find a shortest path Π from u to v in G. Step 4b if Π contains less than two vertices in T, then add Π to T. else let x and y be first and last vertices on Π that are also in T. add sub-paths u to x and y to v in T. Step 5 output T

44 Demonstration of the Algorithm v1 v u3 9 u1 1 5 u4 v3 4 u 5 3 v5 v4 Given Graph

45 Demonstration of the Algorithm u3 v1 9 u1 v 1 5 u4 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω)

46 Demonstration of the Algorithm u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω)

47 Demonstration of the Algorithm u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω) v1 u1 1 u 3 v4 Expansion of edge (v 1, v 4 )

48 Demonstration of the Algorithm u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω) v1 v1 v u1 1 u1 1 3 u v3 4 u 3 v4 Expansion of edge (v 1, v 4 ) v4 Expansion of edge (v, v 3 )

49 Demonstration of the Algorithm u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω) v1 v1 v v1 v u1 1 3 u v3 u1 4 1 u 3 v3 u u 3 v5 v4 Expansion of edge (v 1, v 4 ) v4 Expansion of edge (v, v 3 ) v4 Expansion of edge (v, v 5 )

50 Analysis Theorem MST based Steiner Tree algorithm produces a -factor approximation solution for the Steiner Minimal Tree problem on an undirected weighted graph in O( V L ) time.

51 Analysis Theorem MST based Steiner Tree algorithm produces a -factor approximation solution for the Steiner Minimal Tree problem on an undirected weighted graph in O( V L ) time. Proof: Let T be a Steiner Tree of minimum cost, and T be the Steiner Tree obtained as output of our algorithm. Since at most all shortest paths of T L are inserted in T, we have ω(t ) ω(t L )

52 Analysis of Approximation Factor Important points:

53 Analysis of Approximation Factor Important points: 1. If X is an Eulerian Tour by doubling each edge of T, then ω(x ) = ω(t )

54 Analysis of Approximation Factor Important points: 1. If X is an Eulerian Tour by doubling each edge of T, then ω(x ) = ω(t ). If Y is the TSP Tour (Minimum Hamiltonian Circuit) on G L, then ω(x ) ω(y ) ω(t L )

55 Analysis of Approximation Factor Important points: 1. If X is an Eulerian Tour by doubling each edge of T, then ω(x ) = ω(t ). If Y is the TSP Tour (Minimum Hamiltonian Circuit) on G L, then ω(x ) ω(y ) ω(t L ) 3. ω(t ) ω(t L )

56 Analysis of Approximation Factor Important points: 1. If X is an Eulerian Tour by doubling each edge of T, then ω(x ) = ω(t ). If Y is the TSP Tour (Minimum Hamiltonian Circuit) on G L, then ω(x ) ω(y ) ω(t L ) 3. ω(t ) ω(t L ) Thus, we have the final result w(t ) ω(t )

57 Analysis of Approximation Factor Important points: 1. If X is an Eulerian Tour by doubling each edge of T, then ω(x ) = ω(t ). If Y is the TSP Tour (Minimum Hamiltonian Circuit) on G L, then ω(x ) ω(y ) ω(t L ) 3. ω(t ) ω(t L ) Thus, we have the final result w(t ) ω(t ) Time complexity: O( V L ) Follows from the time complexity of computing G L.

58 Demonstration of an worst case example Given Graph Our Solution Optimum Solution

59 Improving Approximation Factor Can we have an Eulerian Tour without doubling the edges: YES How Replace Step of the earlier algorithm by the following three steps: Step.1: Identify the odd degree vertices V in the minimum spanning tree T L. Step.: Find a set of edges M that corresponds to the minimum maximal matching of the graph V. Step.3: Compute Eulerian tour in the graph G = (V, T L M).

60 Demonstration u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω)

61 Demonstration u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω) v1 4 v v3 7 Minimum maximal matching M in the graph induced by odd degree vertices v4 9 v5

62 Demonstration u3 v1 9 u1 v 1 5 u4 v v 5 v v 5 u v3 v4 Given Graph v5 v3 7 v4 9 v5 Metric Closure G L = (L, E L, ω) v3 v4 v5 MST on G L = (L, E L, ω) v1 4 v v1 4 v v3 7 Minimum maximal matching M in the graph induced by odd degree vertices v4 9 v5 v3 7 v4 v5 The graph G = (V, T L M)

63 Analysis Theorem Thus we have an 3 approximation of the Steiner tree problem.

64 Analysis Theorem Thus we have an 3 approximation of the Steiner tree problem. Proof: τ: Optimal TSP tour in G L. τ Tour in G obtained by short-cutting τ. cost(τ ) cost(τ) (* by triangles inequality *) τ consists of two perfect matchings on V each consisting of alternate edges of τ Total cost in the eulerian tour due to the edges in τ OPT, and Total cost in the eulerian tour due to the edges of M OPT

65 Available Results on Steiner Tree approximation algorithm Best known approximation result for edge weighted graph: 1.39 (* An LP based algorithm *) J. Byrka, F Grandoni, L Rothvoβ and L. Sanita, STOC 010. for a complete graph of edge weight 1 or : 1.5 M. Bern and P. Plassman, IPL, Vol. 3, 199. for node weighted graph: where k is the number of terminal nodes. P. Klein and R. Ravi, Technical Report, for node weighted planar graph: E. D. Demaine, M. T. Hajiaghayi and P. N. Klein. log k O(1)

66 Set Cover Problem Input: A finite set X, and a set of subsets F = {S 1, S,... S k } of X such that every element of X belongs to at least one subset of F. Thus, X = S i F S i

67 Set Cover Problem Input: A finite set X, and a set of subsets F = {S 1, S,... S k } of X such that every element of X belongs to at least one subset of F. Thus, X = S i F S i Objective: Choose minimum number of subsets C from F to cover all the elements of X, i.e., X = S C S.

68 Set Cover Problem Input: A finite set X, and a set of subsets F = {S 1, S,... S k } of X such that every element of X belongs to at least one subset of F. Thus, X = S i F S i Objective: Choose minimum number of subsets C from F to cover all the elements of X, i.e., X = S C S. Usefulness Many practical problems can be formulated as a set cover problem. Example: Art gallery Problem, Hitting Set Problem, etc.

69 Algorithm Greedy-Set-Cover(X, F) U X (* U contains uncovered elements *) C (* Set cover *) while U do select an S F that maximizes S U U U S C C S endwhile end. S 1 S 5 S 6 S 4 S 3 S

70 Algorithm Greedy-Set-Cover(X, F) U X (* U contains uncovered elements *) C (* Set cover *) while U do select an S F that maximizes S U U U S C C S endwhile end. S 1 S 5 S 6 S 4 S 3 S Here the smallest set cover is {S 3, S 4, S 5 }

71 Algorithm Greedy-Set-Cover(X, F) U X (* U contains uncovered elements *) C (* Set cover *) while U do select an S F that maximizes S U U U S C C S endwhile end. S 1 S 5 S 6 S 4 S 3 S Here the smallest set cover is {S 3, S 4, S 5 } But Greedy algorithm produces {S 4, S 1, S 3, S 5 }.

72 Approximation Factor Theorem Greedy set cover has a ratio bound H(max{ S : S F})

73 Approximation Factor Theorem Greedy set cover has a ratio bound H(max{ S : S F}) c x = cost allocated to element x X. Each element is assigned cost only once. If x is covered for the first time by S i, then c x = 1 S i (S 1 +S +...+S i 1 ) Let the algorithm finds a solution C. The cost of the solution is C = x X c x. Since the optimum solution C also covers X, we have C = x X c x S C x S c x

74 Approximation Factor An Useful Result x S c x H( S ), where H(n) = n i=1 1 i = ln n Thus C S C H( S ) C H(max{ S : S F})

75 Approximation Factor Proof of the result: x S c x H( S ) Consider a set S F. Let u 0 = S, and u i = S (S 1 S... S i ). (* the number of elements in S that remains uncovered after S 1, S,... S i are already selected by the algorithm.*)

76 Approximation Factor Proof of the result: x S c x H( S ) Consider a set S F. Let u 0 = S, and u i = S (S 1 S... S i ). (* the number of elements in S that remains uncovered after S 1, S,... S i are already selected by the algorithm.*) Let k be the least index such that u k = 0 (* all elements in S are covered by S 1, S,..., S k *)

77 Approximation Factor Proof of the result: x S c x H( S ) Consider a set S F. Let u 0 = S, and u i = S (S 1 S... S i ). (* the number of elements in S that remains uncovered after S 1, S,... S i are already selected by the algorithm.*) Let k be the least index such that u k = 0 (* all elements in S are covered by S 1, S,..., S k *) Thus, u i 1 u i, and (u i 1 u i ) elements of S are covered for the first time by S i. Thus, x S c x = k i=1 (u i 1 u i ) 1 S i (S 1 S... S i 1 )

78 Approximation Factor In the i-th step, S i is the better choice than S by our greedy algorithm Thus, S i (S 1 S S i 1 ) S (S 1 S S i 1 ) u i 1 x S c x k i=1 (u i 1 u i ) 1 u i 1 Another Important Result For any integer a and b, where a < b, we have H(b) H(a) = b i=a+1 1 i (b a) 1 b Thus, x S c x k i=1 (H(u i 1) H(u i )) = H(u 0 ) H(u k ) = H(u 0 ) = H( S )

79 Polynomial Time Approximation Scheme (PTAS) Definition An algorithm A for a problem P is said to be a polynomial time approximation scheme (PTAS) if given an instance Π of P, the algorithm A returns an ɛ-approximation result in time polynomial on the length of the input Π, where (the polynomial function depends on ɛ) Note that, this function may be of the form 1 ɛ n or n 1 ɛ.

80 Polynomial Time Approximation Scheme (PTAS) Definition An algorithm A for a problem P is said to be a polynomial time approximation scheme (PTAS) if given an instance Π of P, the algorithm A returns an ɛ-approximation result in time polynomial on the length of the input Π, where (the polynomial function depends on ɛ) Note that, this function may be of the form 1 ɛ n or n 1 ɛ. Definition An PTAS algorithm A for a problem P is said to be a fully polynomial time approximation scheme (FPTAS) if given an instance Π of P, the algorithm A returns an ɛ-approximation result in time polynomial in the length of the input Π, and 1 ɛ.

Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Coping with NP-Completeness

Coping with NP-Completeness Coping with NP-Completeness Siddhartha Sen Questions: sssix@cs.princeton.edu Some figures obtained from Introduction to Algorithms, nd ed., by CLRS Coping with intractability Many NPC problems are important

More information

Prove, where is known to be NP-complete. The following problems are NP-Complete:

Prove, where is known to be NP-complete. The following problems are NP-Complete: CMPSCI 601: Recall From Last Time Lecture 21 To prove is NP-complete: Prove NP. Prove, where is known to be NP-complete. The following problems are NP-Complete: SAT (Cook-Levin Theorem) 3-SAT 3-COLOR CLIQUE

More information

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

Greedy algorithms Or Do the right thing

Greedy algorithms Or Do the right thing Greedy algorithms Or Do the right thing March 1, 2005 1 Greedy Algorithm Basic idea: When solving a problem do locally the right thing. Problem: Usually does not work. VertexCover (Optimization Version)

More information

Best known solution time is Ω(V!) Check every permutation of vertices to see if there is a graph edge between adjacent vertices

Best known solution time is Ω(V!) Check every permutation of vertices to see if there is a graph edge between adjacent vertices Hard Problems Euler-Tour Problem Undirected graph G=(V,E) An Euler Tour is a path where every edge appears exactly once. The Euler-Tour Problem: does graph G have an Euler Path? Answerable in O(E) time.

More information

Approximation Algorithms

Approximation Algorithms Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs

More information

P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang

P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang Efficient Algorithms So far, we have developed algorithms for finding shortest paths in graphs, minimum spanning trees

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang

P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang Efficient Algorithms So far, we have developed algorithms for finding shortest paths in graphs, minimum spanning trees in

More information

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R

More information

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS) COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu P, NP-Problems Class

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 397 E-mail: natarajan.meghanathan@jsums.edu Optimization vs. Decision

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu Optimization vs. Decision

More information

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch] NP Completeness Andreas Klappenecker [partially based on slides by Jennifer Welch] Dealing with NP-Complete Problems Dealing with NP-Completeness Suppose the problem you need to solve is NP-complete. What

More information

NP-Hard (A) (B) (C) (D) 3 n 2 n TSP-Min any Instance V, E Question: Hamiltonian Cycle TSP V, n 22 n E u, v V H

NP-Hard (A) (B) (C) (D) 3 n 2 n TSP-Min any Instance V, E Question: Hamiltonian Cycle TSP V, n 22 n E u, v V H Hard Problems What do you do when your problem is NP-Hard? Give up? (A) Solve a special case! (B) Find the hidden parameter! (Fixed parameter tractable problems) (C) Find an approximate solution. (D) Find

More information

Partha Sarathi Mandal

Partha Sarathi Mandal MA 515: Introduction to Algorithms & MA353 : Design and Analysis of Algorithms [3-0-0-6] Lecture 39 http://www.iitg.ernet.in/psm/indexing_ma353/y09/index.html Partha Sarathi Mandal psm@iitg.ernet.in Dept.

More information

Traveling Salesperson Problem (TSP)

Traveling Salesperson Problem (TSP) TSP-0 Traveling Salesperson Problem (TSP) Input: Undirected edge weighted complete graph G = (V, E, W ), where W : e R +. Tour: Find a path that starts at vertex 1, visits every vertex exactly once, and

More information

1 Better Approximation of the Traveling Salesman

1 Better Approximation of the Traveling Salesman Stanford University CS261: Optimization Handout 4 Luca Trevisan January 13, 2011 Lecture 4 In which we describe a 1.5-approximate algorithm for the Metric TSP, we introduce the Set Cover problem, observe

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

More information

Approximation Algorithms

Approximation Algorithms Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms Tamassia Approximation Algorithms 1 Applications One of

More information

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu

More information

CS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques

CS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques CS 4407 Algorithms Lecture 8: Circumventing Intractability, using Approximation and other Techniques Prof. Gregory Provan Department of Computer Science University College Cork CS 4010 1 Lecture Outline

More information

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Approximation Algorithms

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Approximation Algorithms Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms 1 Bike Tour Suppose you decide to ride a bicycle around

More information

Exact Algorithms for NP-hard problems

Exact Algorithms for NP-hard problems 24 mai 2012 1 Why do we need exponential algorithms? 2 3 Why the P-border? 1 Practical reasons (Jack Edmonds, 1965) For practical purposes the difference between algebraic and exponential order is more

More information

Christofides Algorithm

Christofides Algorithm 2. compute minimum perfect matching of odd nodes 2. compute minimum perfect matching of odd nodes 2. compute minimum perfect matching of odd nodes 3. find Eulerian walk node order 2. compute minimum perfect

More information

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19: CS270 Combinatorial Algorithms & Data Structures Spring 2003 Lecture 19: 4.1.03 Lecturer: Satish Rao Scribes: Kevin Lacker and Bill Kramer Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Decision Problems Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Definition: The class of problems that can be solved by polynomial-time

More information

An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem

An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem and more recent developments CATS @ UMD April 22, 2016 The Asymmetric Traveling Salesman Problem (ATSP) Problem

More information

Lecture 8: The Traveling Salesman Problem

Lecture 8: The Traveling Salesman Problem Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes

More information

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Lecture 1 In which we describe what this course is about and give two simple examples of approximation algorithms 1 Overview

More information

Approximation Algorithms for Geometric Intersection Graphs

Approximation Algorithms for Geometric Intersection Graphs Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline

More information

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?) P vs. NP What now? Attribution These slides were prepared for the New Jersey Governor s School course The Math Behind the Machine taught in the summer of 2011 by Grant Schoenebeck Large parts of these

More information

1 Variations of the Traveling Salesman Problem

1 Variations of the Traveling Salesman Problem Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

More information

CMPSCI611: The SUBSET-SUM Problem Lecture 18

CMPSCI611: The SUBSET-SUM Problem Lecture 18 CMPSCI611: The SUBSET-SUM Problem Lecture 18 We begin today with the problem we didn t get to at the end of last lecture the SUBSET-SUM problem, which we also saw back in Lecture 8. The input to SUBSET-

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility Outline CS38 Introduction to Algorithms Lecture 18 May 29, 2014 coping with intractibility approximation algorithms set cover TSP center selection randomness in algorithms May 29, 2014 CS38 Lecture 18

More information

Slides on Approximation algorithms, part 2: Basic approximation algorithms

Slides on Approximation algorithms, part 2: Basic approximation algorithms Approximation slides Slides on Approximation algorithms, part : Basic approximation algorithms Guy Kortsarz Approximation slides Finding a lower bound; the TSP example The optimum TSP cycle P is an edge

More information

Fall CS598CC: Approximation Algorithms. Chandra Chekuri

Fall CS598CC: Approximation Algorithms. Chandra Chekuri Fall 2006 CS598CC: Approximation Algorithms Chandra Chekuri Administrivia http://www.cs.uiuc.edu/homes/chekuri/teaching/fall2006/approx.htm Grading: 4 home works (60-70%), 1 take home final (30-40%) Mailing

More information

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Approximation Algorithms CLRS 35.1-35.5 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 30 Approaching

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set

More information

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 4: Matching and other stuff

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 4: Matching and other stuff Institute of Operating Systems and Computer Networks Algorithms Group Network Algorithms Tutorial 4: Matching and other stuff Christian Rieck Matching 2 Matching A matching M in a graph is a set of pairwise

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

Approximation Algorithms

Approximation Algorithms 18.433 Combinatorial Optimization Approximation Algorithms November 20,25 Lecturer: Santosh Vempala 1 Approximation Algorithms Any known algorithm that finds the solution to an NP-hard optimization problem

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Basic Approximation algorithms

Basic Approximation algorithms Approximation slides Basic Approximation algorithms Guy Kortsarz Approximation slides 2 A ρ approximation algorithm for problems that we can not solve exactly Given an NP-hard question finding the optimum

More information

(Refer Slide Time: 01:00)

(Refer Slide Time: 01:00) Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture minus 26 Heuristics for TSP In this lecture, we continue our discussion

More information

NP-Complete Problems

NP-Complete Problems NP-omplete Problems P and NP Polynomial time reductions Satisfiability Problem, lique Problem, Vertex over, and ominating Set 10/19/2009 SE 5311 FLL 2009 KUMR 1 Polynomial lgorithms Problems encountered

More information

1 The Traveling Salesman Problem

1 The Traveling Salesman Problem Comp 260: Advanced Algorithms Tufts University, Spring 2011 Prof. Lenore Cowen Scribe: Jisoo Park Lecture 3: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem

More information

The Design of Approximation Algorithms

The Design of Approximation Algorithms The Design of Approximation Algorithms David P. Williamson Cornell University David B. Shmoys Cornell University m Щ0 CAMBRIDGE UNIVERSITY PRESS Contents Preface page ix I An Introduction to the Techniques

More information

Optimal tour along pubs in the UK

Optimal tour along pubs in the UK 1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

1 The Traveling Salesman Problem

1 The Traveling Salesman Problem Comp 260: Advanced Algorithms Tufts University, Spring 2018 Prof. Lenore Cowen Scribe: Duc Nguyen Lecture 3a: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem

More information

Polynomial time approximation algorithms

Polynomial time approximation algorithms Polynomial time approximation algorithms Doctoral course Optimization on graphs - Lecture 5.2 Giovanni Righini January 18 th, 2013 Approximation algorithms There are several reasons for using approximation

More information

Strongly Connected Spanning Subgraph for Almost Symmetric Networks

Strongly Connected Spanning Subgraph for Almost Symmetric Networks CCC 2015, Kingston, Ontario, August 10 12, 2015 Strongly Connected Spanning Subgraph for Almost Symmetric Networks A. Karim Abu-Affash Paz Carmi Anat Parush Tzur Abstract In the strongly connected spanning

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

Travelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

Travelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij Travelling Salesman Problem Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,

More information

Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Introduction to Approximation Algorithms Subir Kumar Ghosh School of Technology & Computer Science Tata Institute of Fundamental Research Mumbai 400005, India ghosh@tifr.res.in Overview 1. Background 2.

More information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016

More information

2 Approximation Algorithms for Metric TSP

2 Approximation Algorithms for Metric TSP Comp260: Advanced Algorithms Tufts University, Spring 2002 Professor Lenore Cowen Scribe: Stephanie Tauber Lecture 3: The Travelling Salesman Problem (TSP) 1 Introduction A salesman wishes to visit every

More information

8 NP-complete problem Hard problems: demo

8 NP-complete problem Hard problems: demo Ch8 NPC Millennium Prize Problems http://en.wikipedia.org/wiki/millennium_prize_problems 8 NP-complete problem Hard problems: demo NP-hard (Non-deterministic Polynomial-time hard), in computational complexity

More information

Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem

Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem PROJECT FOR CS388G: ALGORITHMS: TECHNIQUES/THEORY (FALL 2015) Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem Shanshan Wu Vatsal Shah October 20, 2015 Abstract In this

More information

Approximation Basics

Approximation Basics Milestones, Concepts, and Examples Xiaofeng Gao Department of Computer Science and Engineering Shanghai Jiao Tong University, P.R.China Spring 2015 Spring, 2015 Xiaofeng Gao 1/53 Outline History NP Optimization

More information

P and NP (Millenium problem)

P and NP (Millenium problem) CMPS 2200 Fall 2017 P and NP (Millenium problem) Carola Wenk Slides courtesy of Piotr Indyk with additions by Carola Wenk CMPS 2200 Introduction to Algorithms 1 We have seen so far Algorithms for various

More information

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij Traveling Salesman Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,

More information

Assignment 5: Solutions

Assignment 5: Solutions Algorithm Design Techniques Assignment 5: Solutions () Port Authority. [This problem is more commonly called the Bin Packing Problem.] (a) Suppose K = 3 and (w, w, w 3, w 4 ) = (,,, ). The optimal solution

More information

Approximation Algorithms

Approximation Algorithms 15-251: Great Ideas in Theoretical Computer Science Spring 2019, Lecture 14 March 5, 2019 Approximation Algorithms 1 2 SAT 3SAT Clique Hamiltonian- Cycle given a Boolean formula F, is it satisfiable? same,

More information

Steiner Trees and Forests

Steiner Trees and Forests Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Lecture 14 01/25/11 1 - Again Problem: Steiner Tree. Given an undirected graph G=(V,E) with non-negative edge costs c : E Q + whose vertex set is partitioned into required vertices

More information

Better approximations for max TSP

Better approximations for max TSP Information Processing Letters 75 (2000) 181 186 Better approximations for max TSP Refael Hassin,1, Shlomi Rubinstein Department of Statistics and Operations Research, School of Mathematical Sciences,

More information

Vertex Cover Approximations

Vertex Cover Approximations CS124 Lecture 20 Heuristics can be useful in practice, but sometimes we would like to have guarantees. Approximation algorithms give guarantees. It is worth keeping in mind that sometimes approximation

More information

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0). CS4234: Optimisation Algorithms Lecture 4 TRAVELLING-SALESMAN-PROBLEM (4 variants) V1.0: Seth Gilbert, V1.1: Steven Halim August 30, 2016 Abstract The goal of the TRAVELLING-SALESMAN-PROBLEM is to find

More information

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two. Approximation Algorithms and Hardness of Approximation February 19, 2013 Lecture 1 Lecturer: Ola Svensson Scribes: Alantha Newman 1 Class Information 4 credits Lecturers: Ola Svensson (ola.svensson@epfl.ch)

More information

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29 Lecture 13 Connectedness in graphs Spanning trees in graphs Finding a minimal spanning tree Time costs of graph problems and NP-completeness Finding a minimal spanning tree: Prim s and Kruskal s algorithms

More information

Lecture 24: More Reductions (1997) Steven Skiena. skiena

Lecture 24: More Reductions (1997) Steven Skiena.   skiena Lecture 24: More Reductions (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Prove that subgraph isomorphism

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

IE 102 Spring Routing Through Networks - 1

IE 102 Spring Routing Through Networks - 1 IE 102 Spring 2017 Routing Through Networks - 1 The Bridges of Koenigsberg: Euler 1735 Graph Theory began in 1735 Leonard Eüler Visited Koenigsberg People wondered whether it is possible to take a walk,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Subhash Suri June 5, 2018 1 Figure of Merit: Performance Ratio Suppose we are working on an optimization problem in which each potential solution has a positive cost, and we want

More information

Notes for Recitation 9

Notes for Recitation 9 6.042/18.062J Mathematics for Computer Science October 8, 2010 Tom Leighton and Marten van Dijk Notes for Recitation 9 1 Traveling Salesperson Problem Now we re going to talk about a famous optimization

More information

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements. Desiderata Reductions Desiderata. Classify problems according to their computational requirements. Frustrating news. Huge number of fundamental problems have defied classification for decades. Desiderata'.

More information

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP:

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP: 6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS Vehicle Routing Problem, VRP: Customers i=1,...,n with demands of a product must be served using a fleet of vehicles for the deliveries. The vehicles, with given

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

CSE 548: Analysis of Algorithms. Lecture 13 ( Approximation Algorithms )

CSE 548: Analysis of Algorithms. Lecture 13 ( Approximation Algorithms ) CSE 548: Analysis of Algorithms Lecture 13 ( Approximation Algorithms ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Fall 2017 Approximation Ratio Consider an optimization problem

More information

Some Hardness Proofs

Some Hardness Proofs Some Hardness Proofs Magnus Lie Hetland January 2011 This is a very brief overview of some well-known hard (NP Hard and NP complete) problems, and the main ideas behind their hardness proofs. The document

More information

Part II. Graph Theory. Year

Part II. Graph Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 53 Paper 3, Section II 15H Define the Ramsey numbers R(s, t) for integers s, t 2. Show that R(s, t) exists for all s,

More information

The k-center problem Approximation Algorithms 2009 Petros Potikas

The k-center problem Approximation Algorithms 2009 Petros Potikas Approximation Algorithms 2009 Petros Potikas 1 Definition: Let G=(V,E) be a complete undirected graph with edge costs satisfying the triangle inequality and k be an integer, 0 < k V. For any S V and vertex

More information

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario Coping with the Limitations of Algorithm Power Tackling Difficult Combinatorial Problems There are two principal approaches to tackling difficult combinatorial problems (NP-hard problems): Use a strategy

More information

Lecture Notes: Euclidean Traveling Salesman Problem

Lecture Notes: Euclidean Traveling Salesman Problem IOE 691: Approximation Algorithms Date: 2/6/2017, 2/8/2017 ecture Notes: Euclidean Traveling Salesman Problem Instructor: Viswanath Nagarajan Scribe: Miao Yu 1 Introduction In the Euclidean Traveling Salesman

More information

Computer Science is no more about computers than astronomy is about telescopes. E. W. Dijkstra.

Computer Science is no more about computers than astronomy is about telescopes. E. W. Dijkstra. Computer Science is no more about computers than astronomy is about telescopes E. W. Dijkstra. University of Alberta Improved approximation algorithms for Min-Max Tree Cover, Bounded Tree Cover, Shallow-Light

More information