1 / 30

Approximation Algorithms for TSP

Approximation Algorithms for TSP. Tsvi Kopelowitz Ariel Rosenfeld. Input: graph G=(V,E) Output: a cycle tour in G that visits each vertex exactly once. Problem is known to be NP-Hard. HC-Hamiltonian Cycle. Input: a complete graph G=(V,E) with edges of non-negative cost (c( e )).

bdelvalle
Download Presentation

Approximation Algorithms for 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. Approximation Algorithms for TSP Tsvi Kopelowitz Ariel Rosenfeld

  2. Input: graph G=(V,E) • Output: a cycle tour in G that visits each vertex exactly once. • Problem is known to be NP-Hard. HC-Hamiltonian Cycle

  3. Input: a complete graph G=(V,E) with edges of non-negative cost (c(e)). • Output: find a cycle tour of minimum cost that visits each vertex exactly once. • The problem is NP-Hard (reduction from HC) . • … and hard to approximate. TSP – Traveling Salesman Problem

  4. Hardness of Approximation Claim: For every c>1, there is no polynomial time algorithm which can approximate TSP within a factor of c, unless P=NP.

  5. Proof • By reduction from Hamiltonian cycle. • Given a graph G, we want to determine if it has a HC. • Construct a complete graph G’ with same vertices as G, where each edge e has weight 1 if it is in G, and weight c*n if it is not (n is the number of vertices).

  6. G= Example

  7. G’= 1 c*n 1 1 1 1 1 c*n 1 1 1 c*n c*n c*n 1 c*n 1 c*n c*n Example 1

  8. Run algorithm A for solving TSP within a factor of c. • If there is a HC, TSP has a solution of weight n, and approximation is at most c*n • If there is no HC, then every tour in TSP has at least one edge of weight c*n, so weight of tour is at least c*n+n-1. Proof

  9. A (complete) graph with weight function w on the edges is called a metric if: • For any two vertices u,v in the graph:w(u,v)=w(v,u) • The Triangle Equality holds in the graph. Metric

  10. Triangle Inequality • Recall: The triangle inequality holds in a (complete) graph with weight function w on the edges if for any three vertices u,v,x in the graph: • Metric TSP is still NP-hard, but now we can approximate.

  11. Given G, construct an MST T for G • (since it is a metric graph, it doesn’t matter whether it is directed or not). • For each edge in T create a double edge. (This will guarantee that the degrees of all the vertices are even) • Find an Euler tour in the doubled T. 2-approximation

  12. Given G, construct an MST T for G • (since it is a metric graph, it doesn’t matter whether it is directed or not). • For each edge in T create a double edge. (This will guarantee that the degrees of all the vertices are even) • Find an Euler tour in the doubled T. • Create shortcuts in the Euler tour, to create a tour. 2-approximation

  13. How will we create these “shortcuts”? • Traverse the Euler tour. • Whenever the Euler tour returns to a vertex already visited, “skip” that vertex. • The process creates a Hamiltonian cycle. 2-approximation

  14. Claim: The above algorithm gives a 2-approximation for the TSP problem (in a metric graph with the triangle inequality). Proof: Definitions: • OPT is the optimal solution (set of edges) for TSP. • A is the set of edges chosen by the algorithm. • EC is the set of edges in the Euler cycle. 2-approximation

  15. Proof Continued: • cost(T) cost(OPT): • since OPT is a cycle, remove any edge and obtain a spanning tree. • cost(EC) = 2cost(T) 2cost(OPT). • cost(A)  cost(EC) • A is created by taking “shortcuts” from EC. (These are indeed shortcuts, because of the triangle inequality.) • So cost(A) 2cost(OPT) .  2-approximation

  16. d d a a e e b g b g f f c c Example h h Input(assume Euclidean distances) MST

  17. 2-approx. d d a a e e b g b g f f c c h h Walk Wa b c b h b a d e f e g e d a Hamiltonian Cycle Ha b c h d e f g a

  18. Professor Nicos Christofides extended the 2.0 TSP and published that the worst-case ratio of the extended algorithm was 3/2. 1.5 TSP Approximation Algorithm(Known as Christofides Heuristics)

  19. Algorithm: 1. Compute MST graph T. 2. Compute a minimum-weighted matching graph M between all Odd- degree vertices. 3. Combine T and M as edge set and Compute an Euler Cycle. 4. Traverse each vertex taking shortcuts to avoid visited nodes. 1.5 Approximation

  20. What is a Minimum-weighted Matching? It creates a MWM on a set of the nodes having an odd degree. • Why odd degree? Property of Euler Cycle (if all edges all of even-degree, EC exists) • Why 1.5 TSP? MST < Euler Cycle <= MWM+MST <= 1.5 TSP (need to show MWM <= ½ TSP) 1.5 Approximation

  21. d a e e b g b g f f 1.5 approx. c c h h MST T Matching M

  22. Claim: The above algorithm gives a 1.5-approximation for the TSP problem (in a metric graph with the triangle inequality). Proof: Denote: • OPT, A, and EC as before. • M is the set of edges in the minimum matching. 1.5-approximation

  23. Proof Continued: • cost(M)  cost(OPT)/2 • The minimum tour on any subset B of vertices has a cost of at most cost(OPT) • A Hamiltonian cycle in B can be extracted from OPT by “skipping” vertices not in B, resulting in a tour lighter than OPT, due to the triangle inequality. • If B is of even size then divide the minimum tour on B into two disjoint matchings of B. • The lighter matching of the two (denote by M’) has weight at most cost(OPT)/2. 1.5-approximation

  24. Proof Continued: • cost(M) cost(M’) cost(OPT)/2. • The number of odd vertices in a graph is even. (Always, but Why?) • Choose B to be the set of odd vertices in T. • M’ is not necessarily the minimum matching of B, but cost(M)  cost(M’). 1.5-approximation

  25. 1.5-approximation Proof Continued: • EC is an Euler Cycle in . • cost(EC) = cost(T)+cost(M)  1.5cost(OPT). • cost(A)  cost(EC)  1.5cost(OPT) 

  26. Separating the optimal tour of B into 2 matchings e e b g b g f f c c h h Optimal Tour* on Odd Nodes Matching M

  27. d a e e b g b g f f Matching c c h h G' = MST + Matching Matching M

More Related