490 likes | 600 Views
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.
E N D
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 a.k.a. Taxicab Ripoff problem
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
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
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
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
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)
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
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
Pf: opt Upper Bound 1: Maximum Matching Claim: For graphs G with an even # of vertices: Max Matching ½ Max TSP.
Upper Bound 1: Maximum Matching Claim: For graphs G with an even # of vertices: Max Matching ½ Max TSP. Pf: opt
Upper Bound 2: Maximum Cycle Cover A cycle cover: a collection of disjoint cycles. Maximum Cycle Cover Max TSP.
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.
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
Path Collections Path Collection: A subset of edges, where each connected component is a simple path
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.
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.
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
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
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.
“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
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
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
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
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
“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
IP for Cycle Cover Max wuvxuv xuv = 1 u V (outdegree constraints) xuv = 1 v V (indegree constraints) xuv {0,1}
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}
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)
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 . . .
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)
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.
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 . . .
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.
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
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)
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)
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
Cycles with Local Back Edges G1 G2 G3 GD . . . Potential Cycles with Local Back Edges 1. 2. 3. Matching edge Cycle Cov. edge
Two Solutions to Each Problem 1. 2. 3. Goal: Weight of edges removed £ 1/2*D*w(M)
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
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.
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.
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
Transformation - Problem 3 Delete cheapest matching edge. Charge removed matching edge against another remaining matching edge on same path.
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.
Graph with Odd # of Vertices - Outline opt transform
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
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.