1 / 49

A 5/8 Approximation Algorithm for Maximum Asymmetric TSP

A 5/8 Approximation Algorithm for Maximum Asymmetric TSP. Moshe Lewenstein Bar Ilan Univ Maxim Sviridenko IBM Research. Maximum Asymmetric TSP. Input : Directed, weighted ( 0), complete graph Output : Hamiltonian cycle of maximum weight.

isabel
Download Presentation

A 5/8 Approximation Algorithm for Maximum Asymmetric TSP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A 5/8 Approximation Algorithm for Maximum Asymmetric TSP Moshe Lewenstein Bar Ilan Univ Maxim Sviridenko IBM Research

  2. Maximum Asymmetric TSP Input: Directed, weighted ( 0), complete graph Output: Hamiltonian cycle of maximum weight a.k.a. Taxicab Ripoff problem

  3. Motivation - Minimum Superstring Problem Input: string s1, . . . , sk Output: minimum size string S, s.t. for each i, si is a substring of S Ex: s1 = abcab s2 = bcabbb s3 = abababc S = abababcabbb

  4. Motivation - Minimum Superstring Problem Input: string s1, . . . , sk Output: minimum size string S, s.t. for each i, si is a substring of S Ex: s1 = abcab s2 = bcabbb s3 = abababc S = abababcabbb

  5. Motivation - Minimum Superstring Problem Input: string s1, . . . , sk Output: minimum size string S, s.t. for each i, si is a substring of S Ex: s1 = abcab s2 = bcabbb s3 = abababc S = abababcabbb

  6. Motivation - Minimum Superstring Problem Input: string s1, . . . , sk Output: minimum size string S, s.t. for each i, si is a substring of S Ex: s1 = abcab s2 = bcabbb s3 = abababc S = abababcabbbb

  7. Motivation - Minimum Superstring Problem Input: string s1, . . . , sk Output: minimum size string S, s.t. for each i, si is a substring of S [BJJ ‘96] f-approximation for max TSP a (3.5 - 1.5 f)-approx. for min superstring ov(si,sj) Overlap graph: si sj . . . . . . ov(sj,si)

  8. Maximum Asymmetric TSP - Results Max-SNP hard: Papadimitriou and Yanankakis, 1993 319/320 hardness: Engebresten and Karpinski, 2001 Approximations: 1/2: Fisher, Nemhauser and Wolsey, 1979 4/7: Koval’ov and Kotov, 1986 38/63: Kosaraju, Park and Stein, 1994 8/13: Blaeser, 2001 5/8: Lewenstein and Svirdenko, 2002

  9. Maximum TSP - special cases Maximum {0,1}-ATSP 7/12: Vishwanathan, 1992 2/3: Blaeser and Siebert, 2001 Maximum {0,1}-STSP 5/6: Papadimitriou and Yannakakis, 1993 Maximum ATSP with triangle inequality 3/4: Kostochka and Serdyukov, 1985 Maximum STSP 2/3: Fisher, Nemhauser and Wolsey, 1979 13/18: Kovalev and Kotov, 1984 3/4: Serdyukov, 1984 25/33: Hassin and Rubinstein, 2000 Maximum STSP with triangle inequality 5/6: Kostochka and Seryukov, 1985 7/8: Hassin and Rubinstein, 2001 Maximum STSP in geometric spaces PTAS in Euclidian spaces: Seryukov, 1987 PTAS in spaces with Minkowski norm: Serdyukov, 1995 PTAS for more generalized space: Barvinok, 1996 poly time for specialized spaces: Barvinok, Johnson, et. al. 1998

  10. Pf: opt Upper Bound 1: Maximum Matching Claim: For graphs G with an even # of vertices: Max Matching ½ Max TSP.

  11. Upper Bound 1: Maximum Matching Claim: For graphs G with an even # of vertices: Max Matching ½ Max TSP. Pf: opt

  12. Upper Bound 2: Maximum Cycle Cover A cycle cover: a collection of disjoint cycles. Maximum Cycle Cover Max TSP.

  13. Upper Bound 2: Maximum Cycle Cover A cycle cover : a collection of disjoint cycles. Fact: A maximum cycle cover can be found in polynomial time.

  14. Path Collections Path Collection: A subset of edges, where each connected component is a simple path 7 9 1 7 0 5 2 6 2.5 5 3 1.5 3 4 2 3 0 2 3 10 8

  15. Path Collections Path Collection: A subset of edges, where each connected component is a simple path

  16. Path Collections and Max TSP Observation: Finding a path collection PC with weight w(PC) ³ f*w(opt) implies an f-approximation for Max-TSP.

  17. Upper Bound 1: Maximum Matching A maximum matching is a path collection. Corol: For graphs G with an even # of vertices there is a 1/2 approximation for Max TSP.

  18. Upper Bound 2: Maximum Cycle Cover [FNW]: There is a 1/2-approx. algorithm for Max TSP. 6 33 10 7.5 9 5 7 12 15 3 3.4 5 4 11 9 2 2 4 5

  19. Upper Bound 2: Maximum Cycle Cover [FNW]: There is a 1/2-approx. algorithm for Max TSP. 6 33 10 7.5 9 5 7 12 15 3 3.4 5 4 11 9 2 2 4 5

  20. Upper Bound 2: Maximum Cycle Cover [FNW]: There is a 1/2-approx. algorithm for Max TSP. 6 33 10 7.5 9 5 7 12 15 3 3.4 11 4 at least half of weight left.

  21. “Wishful Thinking” Solution 1. Find a “special” maximum cycle cover C in G, where each cycle is of length ³ 3 2. Discard cheapest edge from each cycle, creating path collection 3. Complete to TSP Would yield: A 2/3 approximation factor

  22. Outline of Algorithms of KPS and B Assumption: input graph G=(V,E) has an even # of vertices 1. Find a maximum matching M in G 2. Find a maximum cycle cover C in G 3. Set G’=(V, M C) 4. Discard a well-chosen subset of edges from G’ s.t. G’ can be split into two path collect. <E1, E2> 5. Choose Ei where w(Ei) = max{w(E1), w(E2)} U Approximation Factors: [KPS]: 38/63 [B]: 8/13

  23. Outline of Algorithms of KPS and B Assumption: input graph G=(V,E) has an even # of vertices w(M) 1/2*w(opt) ³ 1. Find a maximum matching M in G 2. Find a maximum cycle cover C in G 3. Set G’=(V, M C) 4. Discard a well-chosen subset of edges from G’ s.t. G’ can be split into two path collect. <E1, E2> 5. Choose Ei where w(Ei) = max{w(E1), w(E2)} U w(C) w(opt) ³ Approximation Factors: [KPS]: 38/63 [B]: 8/13

  24. Path Coloring Lemma Lemma: [KPS] Let G=(V,E) be a graph such that: (1) indegree(v) £ 2 for each v V outdegree(v) £ 2 Totaldegree(v) £ 3 (2) there is no 2-cycle then E can be split into two path collections Note: M C satisfies property (1) U

  25. Generalized Path Coloring Lemma Lemma: [KPS] Let G=(V,E) be a graph such that: (1) indegree(v) £ 2 for each v V outdegree(v) £ 2 Totaldegree(v) £ 3 (2) there is no cycle with a local back edge then E can be split into two path collections Note: M C satisfies property (1) U

  26. “Wishful Thinking” Solution 1. Find a “special” maximum cycle cover C in G, where each cycle is of length ³ 3 2. Discard cheapest edge from each cycle, creating path collection 3. Complete to TSP Would yield: A 2/3 approximation factor

  27. IP for Cycle Cover Max wuvxuv xuv = 1 u V (outdegree constraints) xuv = 1 v V (indegree constraints) xuv {0,1}

  28. IP for Cycle Cover w/o 2-cycles Max wuvxuv xuv = 1 u V (outdegree constraints) xuv = 1 v V (indegree constraints) xuv + xvu 1 (2-cycle constraints) xuv {0,1}

  29. LP for Cycle Cover w/o 2-cycles Max wuvxuv xuv = 1 u V (outdegree constraints) xuv = 1 v V (indegree constraints) xuv + xvu 1 (2-cycle constraints) 0 xuv 1 - Relaxation Note: w(LP) w(opt)

  30. Multigraph of LP Solution Max wuvxuv xuv = 1 u V xuv = 1 v V xuv + xvu 1 0 xuv 1 Let {xuv*} be an LP solution. Define D to be the minimal integer s.t. Dxuv* is integer (for all uv E). GD is the multigraph on vertex set V, with edges: wuv u v Dxuv* edges . . .

  31. Properties of GD Def: GD is the multigraph on vertex set V, with edges: u v (Dxuv* edges) . . . 1. indegree(v) = Dxuv* = D xuv* = D 2. outdegree(u) = Dxuv* = D xuv* = D 3. w(GD) = w(e) = D w(LP) D w(opt)

  32. Cycle Covers and Perfect Matchings Theorem: E(GD) can be partitioned into D cycle covers. V V G= (V,E) B(G) u w u w . . . . . . Fact: 1. A cycle cover in G a perfect matching in B(G) 2. B(GD) is a D-regular graph. B(GD) can be partitioned into D perfect matchings.

  33. Situation Choose integer D s.t. Dxuv* is integer. Max wuvxuv xuv = 1 u V xuv = 1 v V xuv + xvu 1 0 xuv 1 Construct GD on V, with edges: u v (Dxuv* edges) Partition GD into D cycle covers . . . C1 C2 C3 CD . . .

  34. Properties of Cycle Cover Collection C1 C2 C3 CD . . . 1. w(Ci) = w(GD) D w(opt) 2. each Ci is a cycle cover of original G.

  35. Properties of Cycle Cover Collection C1 C2 C3 CD . . . 1. w(Ci) = w(GD) D w(opt) 2. each Ci is a cycle cover of original G. 3. u,v V, # of edges (u,v) and (v,u) in Ci D Reason: xuv* + xvu* 1 Dxuv* + Dxvu* D

  36. Throw in a Matching G1 G2 G3 GD . . . Next step: Find a maximum matching M on G and add M to each Ci - Gi = M Ci Note: w(M) 1/2*w(opt) D*w(M) D* 1/2*w(opt) w(Gi) = D*w(M) + w(Ci) D*1/2*w(opt) + D*w(opt) = D*3/2*w(opt)

  37. Outline of Goal Goal: Remove edges from the Gis so that: (1) each Gi can be partitioned into 2 path collections (2) weight of edges removed 1/2*D*w(M) Why? (1) w(Gi) 1/2*D*w(M) + w(Ci) 1/4*D*w(opt) + D*w(opt) = D*5/4*w(opt) (2) There are 2D path collections. There is a path collection PC, where w(PC) (D*5/4*w(opt))/(2D) = 5/8*w(opt)

  38. Tool to Achieve Goal Goal: Remove edges from the Gis so that: (1) each Gi can be partitioned into 2 path collections (2) weight of edges removed 1/2*D*w(M) Generalized Path Coloring Lemma Let G=(V,E) be a multigraph such that: (1) indegree(v) £ 2 for each v V outdegree(v) £ 2 Totdegree(v) £ 3 (2) there is no cycle with a local back edge then E can be split into two path collections

  39. Cycles with Local Back Edges G1 G2 G3 GD . . . Potential Cycles with Local Back Edges 1. 2. 3. Matching edge Cycle Cov. edge

  40. Two Solutions to Each Problem 1. 2. 3. Goal: Weight of edges removed £ 1/2*D*w(M)

  41. m u v Transformation - Problem 1 G1 G2 G3 GD . . . m m m u v u v u v Claim: If f Gis with two “yellow” edges between u and v then f Gis with no “yellow” edges betw. u and v Pf: u, v V, # of edges (u,v) and (v,u) in Ci£ D f with 2 edges, g with 1 2f+g £ D f+g £ D-f

  42. m m u u v v Transformation - Problem 1 m m m u v u v u v Claim: If f Gis with two “yellow” edges between u and v then f Gis with no “yellow” edges betw. u and v m m Pair: Transform: u v u v u v One m-edge remains for each m-edge removed 1/2 of match-weight remains.

  43. Transformation - Problem 1 Problem Pair: m m u v Can’t remove one and charge against other. Transform: m u v Still only one m-edge removed.

  44. Transformation - Problem 2 m e is w(e) £ 1/2*w(m)? w(e) £ 1/2*w(m) w(e) ³ 1/2*w(m) m e e

  45. Transformation - Problem 3 Delete cheapest matching edge. Charge removed matching edge against another remaining matching edge on same path.

  46. Goal Achieved Goal: Remove edges from the Gis so that: (1) Each Gi can be partitioned into 2 path collections (follows from Generalized Path Coloring Lemma). (2) weight of edges removed 1/2*D*w(M). w(Gi) 1/2*D*w(M) + w(Ci) 1/4*D*w(opt) + D*w(opt) = D*5/4*w(opt) There is a path collection PC (out of 2D) where: w(PC) (D*5/4*w(opt))/(2D) = 5/8*w(opt) Theorem: There is a 5/8-approx. algo. For Max TSP.

  47. Graph with Odd # of Vertices - Outline opt transform

  48. Non Polynomial D - Outline Let {xuv*} be the solution to the LP. Define |V|x|V| matrix M, where entry (u,v) is xuv* Claim: M is doubly stochastic. Fact: Any doubly stochastic matrix can be represented as the convex combination of at most |V|2 permutation matrices. permutation matrix perfect matching in B(G) cycle cover in G

  49. Summary 1. Improve the 5/8 approx. factor for Max TSP 2. Can we come up with stronger path coloring claims? 3. There is an example showing the integrality gap of the LP to be at least 2/3. Is this tight? 4. Is there a better approximation for the Max TSP for the Shortest Common Superstring problem.

More Related