Presentation is loading. Please wait.

Presentation is loading. Please wait.

A linear time approximation scheme for Euclidean TSP Yair BartalHebrew University Lee-Ad GottliebAriel University TexPoint fonts used in EMF. Read the.

Similar presentations


Presentation on theme: "A linear time approximation scheme for Euclidean TSP Yair BartalHebrew University Lee-Ad GottliebAriel University TexPoint fonts used in EMF. Read the."— Presentation transcript:

1 A linear time approximation scheme for Euclidean TSP Yair BartalHebrew University Lee-Ad GottliebAriel University TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAA

2 Traveling salesman problem Definition: Given a set of cities (points) find a minimum tour that visits each point  Classic, well-studied NP-hard problem  [Karp ‘72; Papadimitriou, Vempala ‘06]  Mentioned in a handbook from 1832!  Common benchmark for optimization methods  Many books devoted to TSP Other variants Closed tour Multiple tours Etc… 2 Optimal tour

3 Euclidean TSP Sanjeev Arora [A ‘98] and Joe Mitchell [M ‘99] : Euclidean TSP with fixed dimension admits a PTAS  (1+ Ɛ )-approximate tour  In time n(log n) Ɛ -Ỡ(d)  Easy extension to other norms They were awarded the 2010 Gödel Prize for this discovery 3 3

4 Euclidean TSP Shortly after Arora’s PTAS appeared, Rao-Smith improved its runtime.  Arora:n(log n) Ɛ -Ỡ(d)  Rao-Smith:2 Ɛ -Ỡ(d) n + 2 Ỡ(d) nlog n Rao-Smith: Is linear time possible?  Question reiterated by Chan ‘08, Borradaile-Epstein ’12. 4 4

5 Euclidean TSP Shortly after Arora’s PTAS appeared, Rao-Smith improved its runtime  Arora:n(log n) Ɛ -Ỡ(d)  Rao-Smith:2 Ɛ -Ỡ(d) n + 2 Ỡ(d) nlog n Rao-Smith: Is linear time possible?  Question reiterated by Chan ‘08, Borradaile-Epstein ’12. Computational model  Cell-probe model: Ω(nlog n) bound via sorting[Das, Kapoor, Smid ‘97]  What about real/integer RAM? This paper: Linear time approximation scheme in integer RAM model  Runtime:2 Ɛ -Ỡ(d) n  Assume: integer coordinates in range [0,O(n)] 5 5

6 Talk Outline Step 1: Preliminaries  Outline Arora’s alorithm:Quadtree  Rao-Smith improvement:Spanner Step 2: Present our algorithm  Faster implementation of Rao-SmithSparse decomposition 6

7 Arora’s Quadtree Random quadtree 7 Min distance 1

8 Arora’s Quadtree Random quadtree 8 4-level 2 4 =16 Random offset

9 Arora’s Quadtree Random quadtree 9 3-level 2 3 =8

10 Arora’s Quadtree Random quadtree 10 2-level 2 2 =4

11 Arora’s Quadtree Random quadtree 11 1-level 2 1 =2

12 Arora’s Quadtree Random quadtree 12 0-level 2 0 =1

13 Arora’s Quadtree Definition: A tour is (m,r)-light on a quadtree if it enters all cells (clusters)  At most r times  Only via m pre-defined portals 13

14 Arora’s Quadtree Given quadtree Q  The best (m,r)-light tour on Q can be computed exactly in m O(r) +nlogn time  Via simple dynamic programming  Arora showed that a good (m,r)-light tour always exists 14

15 Arora’s Quadtree Existence of a good (m,r)-light tour  Modify OPT (unknown)  Achieve (m,r)-light tour close to OPT Step 1: Move cut edges to portals Step 2: Reduce the number of crossings (patching) 15

16 Euclidean TSP How can Arora’s runtime be improved?  Rao-Smith: Spanners reduce portals Reduce number of portals  Arora:m = log O(d) nportals  Rao & Smith:m = Ɛ -O(d) portals Recall that runtime is ~ m O(r)  r = Ɛ -O(d)  Arora:n (log n) Ɛ -Ỡ(d)  Rao-Smith:2 Ɛ -Ỡ(d) n + 2 Ỡ(d) nlog n 16

17 Spanner A spanner is a subgraph with favorable properties  Stretch  Weight (lightness) Euclidean spaces admit good spanners  Weight ~ O(MST) ~ O(OPT)  (1+ Ɛ )-stretch Best spanner tour is close to OPT 17 G 2 1 1 H 2 1 1 1

18 Spanner A spanner is a subgraph with favorable properties  Stretch  Weight (lightness) Euclidean spaces admit good spanners  Weight ~ O(MST) ~ O(OPT)  (1+ Ɛ )-stretch Best spanner tour is close to OPT G 2 1 1 H 2 1 1 1 18

19 Spanner Arora: required many portals for unknown tour Rao-Smith: Spanner determines portals 19

20 Linear time Main tools employed by Rao-Smith  Quadtree  light spanner Implement Rao-Smith in linear time?  Quadtree can be built in linear time [Chan ‘08]  Our contribution: build a light spanner in linear time. Rest of talk: light spanner in linear time 20

21 Spanner hierarchical spanner [Gao-Guibas-Nguyen ‘04]  connect representative points of i-level cells at distance at most 2 i /ε 21 1-level 2i2i

22 Spanner hierarchical spanner [Gao-Guibas-Nguyen ‘04]  connect representative points of i-level cells at distance at most 2 i /ε  connect children to parents Stretch among children  true dist ≤ spanner dist + 2(2 i )  true dist ≥ spanner dist – 2(2 i )  (1+ε)-stretch But weight may be large!  Cost of MST at each of logn levels 22 1-level 2i2i

23 Spanner Lightness [Das-Narasimhon ’97] Greedy algorithm – built on top of hierarchical spanner  Consider edges in order of length  Add long edge only if short path does not already exists Checking paths is expensive  Seems to require nlogn time Our contribution:  Linear time via sparse decompositions 23 1-level 2i2i

24 Spanner algorithm Sparse decomposition  Space can be decomposed into neighborhoods with MST ~ diameter  [Bartal-Gottlieb-Krauthgamer ‘12] Consider a ball of radius R  If the local tour weight inside is at least R/ Ɛ “Dense” ball  Ball can be removed  TSP solved separately on each subproblem 24

25 Spanner algorithm 25 Sparse decomposition  Space can be decomposed into neighborhoods with MST ~ diameter  [Bartal-Gottlieb-Krauthgamer ‘12] Consider a ball of radius R  If the local tour weight inside is at least R/ Ɛ “Dense” ball  Ball can be removed  TSP solved separately on each subproblem

26 Spanner algorithm Suppose the space were sparse  Each neighborhood has light MST - spanner weight ~ O(diameter) Suppose all i-level edges have been decided  calculate i+1 level edges 26

27 Spanner algorithm Suppose the space were sparse  Each neighborhood has light MST - spanner weight ~ O(diameter) Suppose all i-level edges have been decided  calculate i+1 level edges 27

28 Spanner algorithm Suppose the space were sparse  Each neighborhood has light MST - spanner weight ~ O(diameter) Suppose all i-level edges have been decided  calculate i+1 level edges 28

29 Suppose the space were sparse  Each neighborhood has light MST - spanner weight ~ O(diameter) Suppose all i-level edges have been decided  calculate i+1 level edges Place circles about centers  Random radii [2 i,2(2 i )] Should long edge be added?  Low weight implies few edges cut in expectation  Maintain dist from cut edges to center  Constant time computation per cell, O(n) non-empty cells. Spanner algorithm 29

30 Sparse spaces Conclusion: If space is sparse, we can build a spanner in linear time  Caveat: at least in expectation  But can be shown to hold w.h.p. …  and deterministically How do we ensure space is sparse?  Need to detect dense areas and remove them  There exist linear time approximate MST algorithms…  Problem: need dynamic approximate MST Our solution: Dynamic proxy graph to approximate MST 30

31 Spanner algorithm 31 MST proxy  Weight close to MST in all neighborhoods For each close center pair  If a path already exists within the ball, record it  Otherwise, add edge

32 Spanner algorithm 32 MST proxy  Weight close to MST in all neighborhoods For each close center pair  If a path already exists within the ball, record it  Otherwise, add edge

33 Spanner algorithm 33 MST proxy  Weight close to MST in all neighborhoods For each close center pair  If a path already exists within the ball, record it  Otherwise, add edge Resulting graph  Approximates MST  Allows fast dynamic repair

34 Conclusion Light low-stretch spanner in linear time Yields a linear time approximation scheme to Euclidean TSP:  (1+ Ɛ )-approximate tour  Runtime:2 Ɛ -Ỡ(d) n 34

35 Arora’s Quadtree Random quadtree Snap to grid: 35

36 Arora’s Quadtree Definition: A tour is (m,r)-light on a quadtree if it enters all cells (clusters)  At most r times  Only via m portals 36 Portals

37 Tour via minimum spanning tree 37 MST The cost of optimal tour is similar to MST weight:  OPT ≥ MST  OPT ≤ 2 MST

38 Tour via minimum spanning tree 38 MST The cost of optimal tour is similar to MST weight:  OPT ≥ MST  OPT ≤ 2 MST

39 Quadtree Step 2: Reduce number of used portals to r Use patchings to reduce the number of “surviving” edges For higher dimensions  The cost of a patching is bounded by the cost of the MST of the points  MST of r points in cell of side-length 2 i : 2 i r 1-1/d  Per point cost: 2 i r -1/d ≤ 2 i Ɛ 39 2i2i 2 i /m

40 Euclidean TSP: Proof Patching cost analysis  Pr. edge of length 1 is cut at level i: 1/2 i  Cost to endpoints if edge is patched: 2 i Ɛ  Expected cost from patching at level i:(1/2 i )(2 i Ɛ ) = Ɛ  Expected cost from all logn levels: Ɛ logn ??? Key observation:  Quadtree can be constructed bottom-up All patchings for level i are decided before level i+1 is constructed  Patching an edge at level i eliminates the edge can’t be patched again at a higher level  So the total cost to the edge due to patching is Ɛ New tour length: (1+ Ɛ )T Done with Step 2, and with Euclidean TSP 40

41 Metric TSP Ingredients used for Euclidean PTAS. Do they exist for metrics?  Portals [Talwar-04]  Bound on MST Euclidean: 2 i r 1-1/d Doubling: 2 i r 1-1/ddim [Talwar-04]  Quadtree Partitions for doubling spaces exist  In particular, Step 1 of the Euclidean analysis holds But bottom-up construction doesn’t!  So patching argument for multiple levels breaks down  Plan: Give a replacement for the quadtree show that an (m,r)-light tour close to optimal tour T exists on this partition 41

42 Metric partition 42 Starting point – a quadtree like hierarchy [Talwar, ‘04]

43 Starting point – a quadtree like hierarchy [Talwar, ‘04] Metric partition 43 Arbitrary center point, ordering Random radius R i = [2 i, 2·2 i ]

44 Metric partition 44 Starting point – a quadtree like hierarchy [Talwar, ‘04]

45 Metric partition 45 Random radius R i-1 = [2 i-1, 2·2 i-1 ] Arbitrary center point Starting point – a quadtree like hierarchy [Talwar, STOC ‘04]  Caveat: logn hiearchical levels suffice Ignore tiny distances < Ɛ /n 2

46 Metric TSP 46 2 i-1 /M Definition: A tour is (m,r)-light on a hierarchy if it enters all cells (clusters)  At most r times  Only via m portals  Portals are 2 i-1 /M –net points m = M O(ddim)

47 47 Metric TSP Theorem [Arora ‘98,Talwar ‘04]: Given a partition, the best (m,r)-light tour on the partition can be computed exactly  Via simple dynamic programming  m r O(ddim) nlogn time Join tours for small clusters into tour for larger cluster

48 Metric TSP Theorem: Given an optimal tour T, there exists a partition with  (m,r)-light tour T’ M = ddim logn/ Ɛ m = M O(ddim) = (logn/ Ɛ ) O(ddim) r = Ɛ -O(d) loglogn  Length of T’ is within (1+ Ɛ ) factor of the length of T 48

49 Metric TSP Theorem: Given an optimal tour T, there exists a partition with  (m,r)-light tour T’ M = ddim logn/ Ɛ m = M O(ddim) = (logn/ Ɛ ) O(ddim) r = Ɛ -O(d) loglogn  Length of T’ is within (1+ Ɛ ) factor of the length of T If the partition were known, then by the discussion above, T’ could be found in time m r O(ddim) n logn = n 2 Ɛ -Ỡ(ddim) loglog 2 n 49

50 Metric TSP Theorem: Given an optimal tour T, there exists a partition with  (m,r)-light tour T’ M = ddim logn/ Ɛ m = M O(ddim) = (logn/ Ɛ ) O(ddim) r = Ɛ -O(d) loglogn  Length of T’ is within (1+ Ɛ ) factor of the length of T If the partition were known, then by the discussion above, T’ could be found in time m r O(ddim) n logn = n 2 Ɛ -Ỡ(ddim) loglog 2 n It remains only to prove the Theorem, and to show how to find the partition  Turns out that finding this partition is computationally expensive  Drives up the runtime even further… 50

51 Metric TSP 51 To prove the Theorem, consider the following procedure:  Create a random partition  Show that it admits an (m,r)-light tour similar to the optimal tour  That is, expected cost of modifying optimal tour to being (m,r)-light is small R i-1 /M

52 Metric TSP 52 Modify a tour to be (m,r)-light – Part I[Arora ‘98, Talwar ‘04]  Focus on m (i.e. net points)  Move cut edges to be incident on net points R i-1 /M

53 Metric TSP 53 Modify a tour to be (m,r)-light – Part I[Arora ‘98, Talwar ‘04]  Focus on m (i.e. net points)  Move cut edges to be incident on net points At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge (length 1)  C = Cost of rerouting edge  P = Probability edge is cut  E = C * P R i-1 /M

54 Metric TSP 54 Modify a tour to be (m,r)-light – Part I[Arora ‘98, Talwar ‘04]  Focus on m (i.e. net points)  Move cut edges to be incident on net points At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge (length 1)  C = Cost of rerouting edge = R i-1 /M  P = Probability edge is cut = ?  E = C * P R i-1 /M

55 Metric TSP Prob. edge (length 1) cut by box of length 2R  ≤ d* 1/(2R) Prob. edge (length 1) cut by metric ball of radius R  ≤ ddim * 1/(2R) 55 2R

56 Metric TSP 56 Modify a tour to be (m,r)-light – Part I[Arora ‘98, Talwar ‘04]  Focus on m (i.e. net points)  Move cut edges to be incident on net points At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge (length 1)  C = Cost of rerouting edge = R i-1 /M  P = Probability edge is cut = ddim/R i-1  E = C * P R i-1 /M

57 Metric TSP 57 Modify a tour to be (m,r)-light – Part I[Arora ‘98, Talwar ‘04]  Focus on m (i.e. net points)  Move cut edges to be incident on net points At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge (length 1)  C = Cost of rerouting edge = R i-1 /M  P = Probability edge is cut = ddim/R i-1  E = C * P = ddim/M = Ɛ /logn R i-1 /M

58 Metric TSP 58 Modify a tour to be (m,r)-light – Part I[Arora ‘98, Talwar ‘04]  Focus on m (i.e. net points)  Move cut edges to be incident on net points At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge (length 1)  C = Cost of rerouting edge = R i-1 /M  P = Probability edge is cut = ddim/R i-1  E = C * P = ddim/M = Ɛ /logn Expected cost over all levels  logn * Ɛ /logn = Ɛ  (1+ Ɛ )-approximate tour  Done with Part I R i-1 /M

59 Metric TSP 59 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings

60 Metric TSP 60 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings Patching: Reroute tour back into cluster. Patching cost: internal tour on the endpoints  MST on each cluster.  How do we estimate the cost of the MST?

61 MST in doubling spaces [Talwar, ‘04]: For any r-point set S  MST(S) = Rr 1-1/ddim « Rr  Per point cost = R/r 1/ddim 61 2R

62 MST in doubling spaces [Talwar, ‘04]: For any r-point set S  MST(S) = Rr 1-1/ddim « Rr  Per point cost = R/r 1/ddim Proof by illustration: 62 2R

63 MST in doubling spaces [Talwar, ‘04]: For any r-point set S  MST(S) = Rr 1-1/ddim « Rr  Per point cost = R/r 1/ddim Proof by illustration: 63 2R

64 MST in doubling spaces [Talwar, ‘04]: For any r-point set S  MST(S) = Rr 1-1/ddim « Rr  Per point cost = R/r 1/ddim Proof by illustration: 64 2R

65 MST in doubling spaces [Talwar, ‘04]: For any r-point set S  MST(S) = Rr 1-1/ddim « Rr  Per point cost = R/r 1/ddim Proof by illustration:  MST cost dominated by small edges  Packing: r points at distance R/r 1/ddim  Total cost: r R/r 1/ddim = Rr 1-1/ddim 65 2R

66 Metric TSP 66 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge from patching  C = Per edge cost of patching = ?  P = Probability edge is patched = ?  E = C * P 2R

67 Metric TSP 67 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge from patching  C = Per edge cost of patching = R i-1 /r 1/ddim  P = Probability edge is patched = ?  E = C * P 2R

68 Metric TSP 68 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge from patching  C = Per edge cost of patching = R i-1 /r 1/ddim  P = Probability edge is patched ≤ Probability edge is cut = ddim/R i-1  E = C * P 2R

69 Metric TSP 69 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge from patching  C = Per edge cost of patching = R i-1 /r 1/ddim  P = Probability edge is patched ≤ Probability edge is cut = ddim/R i-1  E = C * P = ddim/r 1/ddim 2R

70 Metric TSP 70 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge from patching  C = Per edge cost of patching = R i-1 /r 1/ddim  P = Probability edge is patched ≤ Probability edge is cut = ddim/R i-1  E = C * P = ddim/r 1/ddim As before, we want:E = Ɛ /logn  Expected cost over all levels: logn* Ɛ /logn = Ɛ  So take r = (logn ddim/ Ɛ ) ddim  But dynamic program runs in m r O(ddim) time - QPTAS 2R

71 Metric TSP Sparse decomposition:  Search hierarchy bottom-up for “dense” balls.  Remove “dense” ball Ball is composed of sparse subballs So it’s just barely dense  Recurse on remaining point set Upshot: can assume tour is everywhere sparse How do we if the ball is dense?  Local tour can be estimated using the local MST  Modulo some caveats, error terms… OPT B(u,R) = O(MST(S)) B(u,3R) OPT = Ω(MST(S)) - Ɛ -O(ddim) R 71

72 Metric TSP 72 R i-1 /M Modify a tour to be (m,r)-light – Part II Suppose a tour is q-sparse  Any possible R i-1 -ball contains weight R i-1 q Think of this as R i-1 q edges of length 1  Expectation: Random R i-1 radius cuts Rq/R = q edges A cluster is formed by multi-level cuts Expectation: q cuts per level

73 Metric TSP 73 R i-1 /M Recall:  edge of length 1 is cut at level R j  With probability ddim/R j If r = q 2loglogn  Expectation: q cuts per level  Assumption: Cuts from 2loglogn levels  Charge patching to top loglogn levels Radius > R i-1 2 loglogn = R i-1 logn  Probability of edge being cut: ddim/(R i-1 logn) Compare to : ddim/R i-1

74 Metric TSP 74 Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)  Reduce number of crossings At the (i-1)-level, radius R i-1 =2 i-1  E = Expected cost to edge from patching  C = Per edge cost of patching = R i-1 /r 1/ddim  P = Probability edge is patched ≤ Probability edge is cut = ddim/R i-1 logn  E = C * P = ddim/r 1/ddim logn As before, we want:E = Ɛ /logn  Expected cost over all levels: logn* Ɛ /logn = Ɛ  So take r = (ddim/ Ɛ ) ddim  Dynamic program runs in m r O(ddim) time - PTAS 2R

75 Metric TSP 75 R i-1 /M Problem:  Previous analysis assumed ball always cuts ≤ q edges  True in expectation some balls may cut > q edges  Solution sketch: sample logn radii for each ball Drives up runtime of dynamic program

76 Metric TSP Problem II: Previous analysis assumed sparse tour  What about dense neighborhoods?  Decompose dense areas into sparse neighborhoods  Join tours But how do you know if a tour is sparse or dense?  Use local MST to estimate local weight of tour… Thank you! 76

77 Global tour in local neighborhood 77 Our contribution:  Estimate global tour weight within ball B(u,R): OPT S*  Use local MST(S) S*: Full graph on subset S of ball B

78 Global tour in local neighborhood 78 Our contribution:  Estimate global tour weight within ball B(u,R): OPT S*  Use local MST(S) Upper bound is trivial  Theorem: OPT S* =O(MST(S))  Proof: Why spend more? MST(S)

79 Our contribution:  Estimate global tour weight within ball B(u,R): OPT S*  Use local MST(S) Upper bound is trivial  Theorem: OPT S* =O(MST(S))  Proof: Why spend more? Lower bound is nontrivial  counter-example: OPT uses no edges of S*  Problem: edges leaving S How can we limit these? Global tour in local neighborhood 79 Optimal tour

80 Definition: A tour is net-respecting if  Any edge of length ~ c  Is incident on (nearby) Ɛ c-net points A tour which is not net-respecting  Can be modified to be net respecting  Cost: (1+O( Ɛ ))-factor Why is this important?  Can bound number of edges leaving a neighborhood… Net-respecting tour 80 length ~c Ɛ c-net point ƐcƐc

81 Definition: A tour is net-respecting if  Any edge of length ~ c  Is incident on (nearby) Ɛ c-net points A tour which is not net-respecting  Can be modified to be net respecting  Cost: (1+O( Ɛ ))-factor Why is this important?  Can bound number of edges leaving a neighborhood… Net-respecting tour 81 length ~c Ɛ c-net point ƐcƐc

82 Global tour in local neighborhood For net-respecting tours  Weight of OPT in large ball lower-bounded by MST of small ball  B*(u,3R) OPT = Ω(MST(S)) - Ɛ -O(ddim) R Proof idea:  Charge against MST(S)  Case 1: Points of S form component in large ball Cost is greater than cost paid by MST(S)  Case 2: Points of S with edge leading out Saves cost of connecting – at most 2R But long edge must be incident on Ɛ R-net points  By packing property, only Ɛ -O(ddim) such points 82 S Case 1 Case 2

83 Global tour in local neighborhood Conclusion: Can bound global tour in local neighborhood  B*(u,3R) OPT = O(MST(B(u,3R)))  B*(u,3R) OPT = Ω(MST(B(u,R))) - Ɛ -O(ddim) R In our setting MST(B(u,R))) » Ɛ -O(ddim) R Done! 83 S


Download ppt "A linear time approximation scheme for Euclidean TSP Yair BartalHebrew University Lee-Ad GottliebAriel University TexPoint fonts used in EMF. Read the."

Similar presentations


Ads by Google