1 / 139

An Approximation Algorithm for the Asymmetric Maximum TSP

An Approximation Algorithm for the Asymmetric Maximum TSP. From: January 2004   Journal of Algorithms Author: Markus Bl ä ser* Speaker: H. Z. Hsu Advisor: R. C. T. Lee. In the following, we will first introduce some terms in graph theorem in order to define the

torn
Télécharger la présentation

An Approximation Algorithm for the Asymmetric Maximum 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. An Approximation Algorithm for the Asymmetric Maximum TSP From: January 2004  Journal of Algorithms Author: Markus Bläser* Speaker: H. Z. Hsu Advisor: R. C. T. Lee

  2. In the following, we will first introduce some terms in graph theorem in order to define the Asymmetric Maximum Traveling Salesperson Problem (TSP). We need to know the following definitions first: 1.self-looping 2.asymmetric 3.triangleinequality 4.Hamiltoniantour 5.cyclecover and maximum weight cycle cover

  3. Self-looping A 15 A node v of a graph G is self-looping if there is an edge (v,v). 5 11 B The node D is self-looping. D 8 C

  4. Asymmetric A 15 In a directed and weighted graph G, there are two nodes uand v of G. u and v is asymmetric if the weight of the edge from u to v (w(u,v)) may differ from w(v,u). 17 B B and D is asymmetric. B and C is asymmetric. 11 D 2 2 C

  5. Triangle inequality A 15 14 In a weighted graph G, three nodes t, u and v of G satisfies triangle inequality iff w(t,u)+w(u,v) w(t,v). Take a look for (B,D), (D,C) and (B,C): B, D and C satisfies triangle inequality. B 17 11 D 6 12 8 9 C

  6. Hamiltonian tour A In a directed graph G, G has a Hamiltonian tour iff there is a cycle which starts from a node and visits each node of Gonce time then ends to the starting node. B D The graph has a Hamiltonian tour “ABDCA”. C

  7. Asymmetric Maximum TSP Problem Given a complete, directed and asymmetric graph G which is also without self-looping and does not need to satisfy the triangle inequality, find a Hamiltonian tour with maximum weight. A 15 13 14 Input G: 23 12 24 B 17 11 D 22 21 8 9 C

  8. Input G: Output: A A 15 13 14 23 23 24 12 24 B B 17 11 D D 22 22 21 21 8 9 C C The maximum Hamiltonian tour is “ADCBA” with cost 90.

  9. Before introducing the algorithm, we should first define cycle cover. A cycle cover of a graph is a set of cycles such that each node is part of exactly one cycle. A cycle cover of G: G: A A 15 15 13 14 23 23 12 24 B B 17 11 D D 22 21 21 8 9 9 C C

  10. If a cycle cover of a given graph with the maximum total weight, it is called maximum weight cycle cover. The maximum weight cycle cover of G with the weight 68: G: A A 15 15 13 14 23 23 12 24 B B 17 11 D D 22 21 21 8 9 9 C C

  11. A counterexample of maximum weight cycle cover. The following cycle cover of G with the weight 54 is not the maximum weight cycle cover. G: A A 15 13 14 14 23 12 12 24 B B 17 17 11 11 D D 22 21 8 9 C C

  12. In the following, we present the algorithms for the asymmetric maximum TSP.

  13. Given a directed complete graph G. A G: 15 13 14 23 12 24 B 17 11 D 22 21 8 9 C

  14. Step1. Compute a maximum weight cycle coverC of G[FNW79]. A A G: C: 15 15 13 14 23 23 12 24 B B 17 11 D D 22 21 21 8 9 9 C C

  15. Step2. Discard the lightest edge of each cycle in C to obtain a collection of node disjoint paths P. A A C: P: 15 23 23 B B D D 21 21 9 C C

  16. Step3. Construct a tour by patching the paths in P arbitrarily together. A P: D 23 21 A G: B C 15 13 14 23 12 24 A Output: B 17 11 D 23 22 24 21 8 9 B C D 22 21 C

  17. Algorithm1: Input: a directed complete graph G=(V, K(V), w), where Output: a Hamiltonian tour on G. Step1. Compute a maximum weight cycle cover C of G. [FNW79] Step2. Discard the lightest edge of each cycle in C to obtain a collection of node disjoint paths P. Step3. Construct a tour by patching the paths in P arbitrarily together.

  18. Time Complexity: The running time of the algorithm is proportional to the time needed to compute a maximum weight cycle cover with O(n3). [FNW79] Approximation analysis: We fixed some names for the remainder of this section: C1,…,Cl will denote the cycles of the computed cycle cover C. Let be the set of all indices isuch that Ci is a 2-cycle, that is, a cycle consisting of two edges. In the same way, let I3 be the set of all indices that correspond to 3- cycles. Finally, let . Set W=w(C).

  19. For , choose bi and ci from [0,1] such that biW is the weight of the heavier edge in Ci and ciW is the weight of the lighter one. C1 A C={C1, C2} W=w(C)=68 b1=23/68 c1=15/68 b2=21/68 c2=9/68 15 23 B C2 D 21 9 C

  20. Let and . For , let xjW, yjW, and zjW denote the weight of the heaviest edge, the edge in the middle, and the lightest edge, respectively. Define x, y, and z in the same manner as b and c. C1 b=b1+b2=44/68 c=c1+c2=24/68 x=y=z=0 A 15 23 B C2 D 21 9 C

  21. Finally, for every , let such that pkW is the weight of the lightest edge in Ck, mW is the weight of summation of all other edges except p and let . C1 A x=y=z=m=p=0 15 23 B C2 D 21 9 C

  22. C={C1, C2} W=w(C)=68 b1=23/68 c1=15/68 b2=21/68 c2=9/68 b=b1+b2=44/68 c=c1+c2=24/68 x=y=z=m=p=0 C1 A 15 23 B C2 D 21 9 C

  23. C4 10 C={C1,C2,C3,C4,C5,C6},W=w(C)=190 b1=2/190,b4=11/190 b=b1+b4=13/190 c1=1/190,c4=10/190 c=c1+c4=11/190 x2=5/190,x5=14/190 x=x2+x5=19/190 y2=4/190,y5=13/190 y=y2+y5=17/190 z2=3/190,z5=13/190 z=z2+z5=16/190 m=(7+8+9+16+17+18+19)/190=94/190 p3=6/190,p6=15/190 p=p3+p6=21/190 J K 11 C1 1 A B 2 C5 12 L M 13 14 C D C2 3 N 4 5 E C6 15 O S 19 16 P R 6 F G 18 17 Q C3 7 9 H I 8

  24. Approximation Performance: After the step2. of the algorithm1, we obtained a collection of node disjoint paths P. The total weight w(P) contained in P is (1-c-z-p)W. Let L denote the weight of a Hamiltonian tour of maximum weight on G, note that 1=b+c+x+y+z+m+p, , because p is the lightest edge in certain cycle. We concluded that , and after a simple execution: , and W≥L we finally put the above result in w(P) and get the performance ratio:

  25. Algorithm1 returns a bound of the weight of the output Hamiltonian tour.

  26. Before we introduce the algorithm2, we should define two terms: “perfect matching of maximum weight” and “matching of maximum weight”. Also, we will introduce a necessary Lemma which will be used in algorithm2.

  27. Before we define the perfect matching, we should define some terms in graph theorem first. Let G be a graph and . The number of edges incident at v in G is called the degree of the vertex v in G and is denoted by dG(v). A graph G is called k-regular for some nonnegative integer kiffevery vertex of G has degree k. A spanning 1-regular sub-graph of G is called a perfect matchingM of G. 3-regular graph 2-regular graph A A B B D D C C

  28. The following spanning sub-graph of G is a perfect matchingM. A graph G: A A B B D D C C M={AB,CD}.

  29. The following spanning sub-graph of G is another perfect matchingM’. A graph G: A A B B D D C C M’={AC,BD}.

  30. A perfect matching of maximum weight is a perfect matching with maximum weight of total edges in the matching. The following is the perfect matchingMof maximum weight on G. A weighted graph G: A A 10 14 23 23 Total weight is 44. B B 17 D D 21 21 C C M={AB,CD}.

  31. The following perfect matching M’ is not the perfect matching of maximum weight. M’={AC,BD}. A weighted graph G: A A 14 10 14 23 B B 17 17 D D 21 C C Total weight is 31.

  32. If we say that we compute a matching of maximum weight on a directed weighted graph (V, K(V), w), we mean that we replace the two edges between each pair of nodes by an undirected one with weight equal to the maximum of the weight of the two replaced edges, then compute a perfect matching of maximum weight on that graph, and then translate everything back into the directed world by replacing each undirected edge by the directed one for which the maximum was attained (breaking ties arbitrarily.)

  33. Replace the two edges between each pair of nodes by an undirected one with weight equal to the maximum of the weight of the two replaced edges. A directed weighted graph G: A 15 10 14 A 23 12 10 B 17 14 23 11 D 21 B 17 9 D C 21 C

  34. Compute a perfect matching M of maximum weight on that graph. A A 23 10 14 B 23 D B 17 21 D C 21 M={AB,CD}. C

  35. Translate everything back into the directed world. A A 23 23 B B D D 21 21 C C M={AB,CD}.

  36. Before we introduce the LEMMA, we should first know an action called contracting.

  37. A Z={C1,C2} ={AB,BA,CJ,JC} B J C I G=(V,E) E={AB,BA,BC,JA,CJ,JC,FD,FD,DE,HE,HI,IG,IG} V={A,B,C,D,E,F,G,H,I,J} H D G E F

  38. A Z={C1,C2} ={AB,BA,CJ,JC} B J C I G=(V,E) E={AB,BA,BC,JA,CJ,JC,FD,FD,DE,HE,HI,IG,IG} V={A,B,C,D,E,F,G,H,I,J} V’={D,E,F,G,H,I} H D G E F

  39. A Z={C1,C2} ={AB,BA,CJ,JC} B J C I G=(V,E) E={AB,BA,BC,JA,CJ,JC,FD,FD,DE,HE,HI,IG,IG} V={A,B,C,D,E,F,G,H,I,J} V’={A,D,E,F,G,H,I,J} z1=A, z2=J H D G E F

  40. A Z={C1,C2} ={AB,BA,CJ,JC} B J For each edge , we do the following: if both u and v belong to the same cycle, we discard e. Otherwise, we add the edge (u’,v’) to E’ where u’=u if u dose not belong to a cycle, and u’=zi if u belongs to cycle Zi. The node v’ is defined in the same manner. C I G=(V,E) E={AB,BA,BC,JA,CJ,JC,FD,FD,DE,HE,HI,IG,IG} V={A,B,C,D,E,F,G,H,I,J} V’={A,D,E,F,G,H,I,J} z1=A, z2=J E’={FD,FD,DE,HE,HI,IG,IG,JA} H D G E F

  41. A B J C I After the contracting the cycles in T: H={JA,FD,FD,DE,HE,HI,IG,IG} H D G E F

  42. If Z is a collection of node disjoint cycles on a directed graph G=(V, E) (not necessarily covering G) then the process of contracting the cycles in Z produces a multi-graph H=(V’, E’) as follows: the node set V’ consists of all nodes of V that do not belong to any cycle of Z and of one new vertex zi for each cycle Zi in Z. For each edge , we do the following: if both u and v belong to the same cycle, we discard e.

  43. Otherwise, we add the edge (u’,v’) to E’ where u’=u if u dose not belong to a cycle, and u’=zi if u belongs to cycle Zi. The node v’ is defined in the same manner. Note that E may be a multi-set (the same edge may appear twice times) and hence H may be a multi-graph (There may be more than one edge in the same direction). Next page is another simple example of contracting.

  44. A Z={C1} ={CJ,JC} B J C G=(V,E) I E={CJ,JC,DE,EC,FD,FD,HI,IG,IG,JH} V={C,D,E,F,G,H,I,J} H D G E F

  45. A Z={C1} ={CJ,JC} B J C G=(V,E) I E={CJ,JC,DE,EC,FD,FD,HI,IG,IG,JH} V={C,D,E,F,G,H,I,J} V’={D,E,F,G,H,I} H D G E F

  46. A Z={C1} ={CJ,JC} B J C G=(V,E) I E={CJ,JC,DE,EC,FD,FD,HI,IG,IG,JH} V={C,D,E,F,G,H,I,J} V’={D,E,F,G,H,I,J} z1=J H D G E F

  47. A Z={C1} ={CJ,JC} B J For each edge , we do the following: if both u and v belong to the same cycle, we discard e. Otherwise, we add the edge (u’,v’) to E’ where u’=u if u dose not belong to a cycle, and u’=zi if u belongs to cycle Zi. The node v’ is defined in the same manner. C I G=(V,E) E={CJ,JC,DE,EC,FD,FD,HI,IG,IG,JH} V={C,D,E,F,G,H,I,J} V’={D,E,F,G,H,I,J} H D z1=J E’={FD,FD,DE,HI,IG,IG,JH} G E F

  48. A B J C I After the contracting the cycles in T: H={FD,FD,DE,HI,IG,IG,JH} H D G E F

  49. A Z={C1} ={CJ,JC} B J C G=(V,E) I E={CJ,JC,DE,EC,FD,FD,HI,IG,IG,JH} V={C,D,E,F,G,H,I,J} V’={D,E,F,G,H,I} H D G E F

  50. A Z={C1} ={CJ,JC} B J C G=(V,E) I E={CJ,JC,DE,EC,FD,FD,HI,IG,IG,JH} V={C,D,E,F,G,H,I,J} V’={D,E,F,G,H,I} H D G E F

More Related