Download presentation
Presentation is loading. Please wait.
Published byAugustus Richards Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.