a linear time approximation scheme for euclidean tsp

80
A linear time approximation scheme for Euclidean TSP Yair Bartal Hebrew University Lee-Ad Gottlieb Ariel University

Upload: aysel

Post on 25-Feb-2016

48 views

Category:

Documents


1 download

DESCRIPTION

A linear time approximation scheme for Euclidean TSP. Yair Bartal Hebrew University Lee-Ad Gottlieb Ariel University. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAA. Traveling salesman problem. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A linear time approximation scheme for Euclidean TSP

A linear time approximation scheme for Euclidean TSP

Yair Bartal Hebrew UniversityLee-Ad Gottlieb Ariel University

Page 2: A linear time approximation scheme for Euclidean TSP

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

Page 3: A linear time approximation scheme for Euclidean TSP

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

33

Page 4: A linear time approximation scheme for Euclidean TSP

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.

44

Page 5: A linear time approximation scheme for Euclidean TSP

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)]

55

Page 6: A linear time approximation scheme for Euclidean TSP

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

Page 7: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Random quadtree

7Min distance 1

Page 8: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Random quadtree

8

4-level

24=16

Random offset

Page 9: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Random quadtree

9

3-level

23=8

Page 10: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Random quadtree

10

2-level

22=4

Page 11: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Random quadtree

11

1-level

21=2

Page 12: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Random quadtree

12

0-level

20=1

Page 13: A linear time approximation scheme for Euclidean TSP

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

Page 14: A linear time approximation scheme for Euclidean TSP

Arora’s Quadtree Given quadtree Q

The best (m,r)-light tour on Q can be computed exactly in mO(r)+nlogn time Via simple dynamic programming Arora showed that a good

(m,r)-light tour always exists

14

Page 15: A linear time approximation scheme for Euclidean TSP

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

Page 16: A linear time approximation scheme for Euclidean TSP

Euclidean TSP How can Arora’s runtime be improved?

Rao-Smith: Spanners reduce portals

Reduce number of portals Arora: m = logO(d)n portals Rao & Smith: m = Ɛ-O(d) portals

Recall that runtime is ~ mO(r)

r = Ɛ-O(d)

Arora: n (log n)Ɛ-Ỡ(d)

Rao-Smith: 2Ɛ-Ỡ(d)n + 2Ỡ(d)nlog n

16

16

Page 17: A linear time approximation scheme for Euclidean TSP

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

11

H

2

11

1

Page 18: A linear time approximation scheme for Euclidean TSP

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

11

H

2

11

1

18

Page 19: A linear time approximation scheme for Euclidean TSP

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

19

Page 20: A linear time approximation scheme for Euclidean TSP

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

Page 21: A linear time approximation scheme for Euclidean TSP

Spanner hierarchical spanner [Gao-Guibas-Nguyen ‘04]

connect representative points of i-level cells at distance at most 2i/ε

21

1-level

2i

Page 22: A linear time approximation scheme for Euclidean TSP

Spanner hierarchical spanner [Gao-Guibas-Nguyen ‘04]

connect representative points of i-level cells at distance at most 2i/ε

connect children to parents

Stretch among children true dist ≤ spanner dist + 2(2i) true dist ≥ spanner dist – 2(2i) (1+ε)-stretch

But weight may be large! Cost of MST at each of logn levels

22

1-level

2i

Page 23: A linear time approximation scheme for Euclidean TSP

Spanner Lightness [Das-Narasimhon ’97]

Greedy algorithm – built on top ofhierarchical 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

2i

Page 24: A linear time approximation scheme for Euclidean TSP

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

Page 25: A linear time approximation scheme for Euclidean TSP

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

Page 26: A linear time approximation scheme for Euclidean TSP

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

Page 27: A linear time approximation scheme for Euclidean TSP

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

Page 28: A linear time approximation scheme for Euclidean TSP

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

Page 29: A linear time approximation scheme for Euclidean TSP

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 [2i,2(2i)]

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

Page 30: A linear time approximation scheme for Euclidean TSP

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

Page 31: A linear time approximation scheme for Euclidean TSP

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

Page 32: A linear time approximation scheme for Euclidean TSP

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

Page 33: A linear time approximation scheme for Euclidean TSP

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

Page 34: A linear time approximation scheme for Euclidean TSP

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

Page 35: A linear time approximation scheme for Euclidean TSP

Tour via minimum spanning tree

37

MST

The cost of optimal tour is similar to MST weight: OPT ≥ MST OPT ≤ 2 MST

Page 36: A linear time approximation scheme for Euclidean TSP

Tour via minimum spanning tree

38

MST

The cost of optimal tour is similar to MST weight: OPT ≥ MST OPT ≤ 2 MST

Page 37: A linear time approximation scheme for Euclidean TSP

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 2i: 2i r1-1/d

Per point cost: 2i r-1/d ≤ 2iƐ

39

2i

2i/m

Page 38: A linear time approximation scheme for Euclidean TSP

Euclidean TSP: Proof Patching cost analysis

Pr. edge of length 1 is cut at level i: 1/2i

Cost to endpoints if edge is patched: 2iƐ Expected cost from patching at level i: (1/2i)(2iƐ) = Ɛ 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

Page 39: A linear time approximation scheme for Euclidean TSP

Metric TSP Ingredients used for Euclidean PTAS. Do they exist for

metrics? Portals [Talwar-04]

Bound on MST Euclidean: 2i r1-1/d

Doubling: 2i r1-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

Page 40: A linear time approximation scheme for Euclidean TSP

Metric partition

42

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

Page 41: A linear time approximation scheme for Euclidean TSP

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

Metric partition

43

Arbitrary center point, ordering

Random radius Ri = [2i, 2·2i]

Page 42: A linear time approximation scheme for Euclidean TSP

Metric partition

44

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

Page 43: A linear time approximation scheme for Euclidean TSP

Metric partition

45

Random radius Ri-1 = [2i-1, 2·2i-1]

Arbitrary center point

Starting point – a quadtree like hierarchy [Talwar, STOC ‘04]

Caveat: logn hiearchical levels suffice Ignore tiny distances < Ɛ/n2

Page 44: A linear time approximation scheme for Euclidean TSP

Metric TSP

46

2i-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 2i-1/M –net points

m = MO(ddim)

Page 45: A linear time approximation scheme for Euclidean TSP

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 mr O(ddim) nlogn time

Join tours for small clusters into tour for larger cluster

Page 46: A linear time approximation scheme for Euclidean TSP

Metric TSP Theorem: Given an optimal tour T, there exists a partition

with (m,r)-light tour T’

M = ddim logn/Ɛ m = MO(ddim) = (logn/Ɛ)O(ddim)

r = Ɛ-O(d) loglogn Length of T’ is within (1+Ɛ) factor of the length of T

48

Page 47: A linear time approximation scheme for Euclidean TSP

Metric TSP Theorem: Given an optimal tour T, there exists a partition

with (m,r)-light tour T’

M = ddim logn/Ɛ m = MO(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

mr O(ddim) n logn = n 2Ɛ-Ỡ(ddim) loglog2n

49

Page 48: A linear time approximation scheme for Euclidean TSP

Metric TSP Theorem: Given an optimal tour T, there exists a partition

with (m,r)-light tour T’

M = ddim logn/Ɛ m = MO(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

mr O(ddim) n logn = n 2Ɛ-Ỡ(ddim) loglog2n

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

Page 49: A linear time approximation scheme for Euclidean TSP

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

Ri-1/M

Page 50: A linear time approximation scheme for Euclidean TSP

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

Ri-1/M

Page 51: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge (length 1) C = Cost of rerouting edge P = Probability edge is cut E = C * P

Ri-1/M

Page 52: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge (length 1) C = Cost of rerouting edge = Ri-1/M P = Probability edge is cut = ? E = C * P

Ri-1/M

Page 53: A linear time approximation scheme for Euclidean TSP

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

2R

Page 54: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge (length 1) C = Cost of rerouting edge = Ri-1/M P = Probability edge is cut = ddim/Ri-1

E = C * P

Ri-1/M

Page 55: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge (length 1) C = Cost of rerouting edge = Ri-1/M P = Probability edge is cut = ddim/Ri-1

E = C * P = ddim/M= Ɛ/logn

Ri-1/M

Page 56: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge (length 1) C = Cost of rerouting edge = Ri-1/M P = Probability edge is cut = ddim/Ri-1

E = C * P = ddim/M= Ɛ/logn

Expected cost over all levels logn * Ɛ/logn = Ɛ (1+Ɛ)-approximate tour Done with Part I

Ri-1/M

Page 57: A linear time approximation scheme for Euclidean TSP

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

Page 58: A linear time approximation scheme for Euclidean TSP

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?

Page 59: A linear time approximation scheme for Euclidean TSP

MST in doubling spaces [Talwar, ‘04]: For any r-point set S

MST(S) = Rr1-1/ddim « Rr Per point cost = R/r1/ddim

61

2R

Page 60: A linear time approximation scheme for Euclidean TSP

MST in doubling spaces [Talwar, ‘04]: For any r-point set S

MST(S) = Rr1-1/ddim « Rr Per point cost = R/r1/ddim

Proof by illustration:

62

2R

Page 61: A linear time approximation scheme for Euclidean TSP

MST in doubling spaces [Talwar, ‘04]: For any r-point set S

MST(S) = Rr1-1/ddim « Rr Per point cost = R/r1/ddim

Proof by illustration:

63

2R

Page 62: A linear time approximation scheme for Euclidean TSP

MST in doubling spaces [Talwar, ‘04]: For any r-point set S

MST(S) = Rr1-1/ddim « Rr Per point cost = R/r1/ddim

Proof by illustration:

64

2R

Page 63: A linear time approximation scheme for Euclidean TSP

MST in doubling spaces [Talwar, ‘04]: For any r-point set S

MST(S) = Rr1-1/ddim « Rr Per point cost = R/r1/ddim

Proof by illustration: MST cost dominated by small edges Packing: r points at distance R/r1/ddim

Total cost: r R/r1/ddim = Rr1-1/ddim

65

2R

2R

Page 64: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge from patching C = Per edge cost of patching = ? P = Probability edge is patched = ? E = C * P

2R

Page 65: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge from patching C = Per edge cost of patching = Ri-1/r1/ddim

P = Probability edge is patched = ? E = C * P

2R

Page 66: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge from patching C = Per edge cost of patching = Ri-1/r1/ddim

P = Probability edge is patched≤ Probability edge is cut = ddim/Ri-1

E = C * P

2R

Page 67: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge from patching C = Per edge cost of patching = Ri-1/r1/ddim

P = Probability edge is patched≤ Probability edge is cut = ddim/Ri-1

E = C * P = ddim/r1/ddim

2R

Page 68: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge from patching C = Per edge cost of patching = Ri-1/r1/ddim

P = Probability edge is patched≤ Probability edge is cut = ddim/Ri-1

E = C * P = ddim/r1/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 mr O(ddim) time - QPTAS

2R

Page 69: A linear time approximation scheme for Euclidean TSP

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

Page 70: A linear time approximation scheme for Euclidean TSP

Metric TSP

72

Ri-1/M

Modify a tour to be (m,r)-light – Part II

Suppose a tour is q-sparse Any possible Ri-1-ball contains weight Ri-1q

Think of this as Ri-1q edges of length 1 Expectation:

Random Ri-1 radius cuts Rq/R = q edges

A cluster is formed by multi-level cuts Expectation: q cuts per level

Page 71: A linear time approximation scheme for Euclidean TSP

Metric TSP

73

Ri-1/M

Recall: edge of length 1 is cut at level Rj

With probability ddim/Rj

If r = q 2loglogn Expectation: q cuts per level Assumption: Cuts from 2loglogn levels Charge patching to top loglogn levels

Radius > Ri-12loglogn = Ri-1logn Probability of edge being cut:

ddim/(Ri-1 logn) Compare to : ddim/Ri-1

Page 72: A linear time approximation scheme for Euclidean TSP

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 Ri-1=2i-1

E = Expected cost to edge from patching C = Per edge cost of patching = Ri-1/r1/ddim

P = Probability edge is patched≤ Probability edge is cut = ddim/Ri-1 logn

E = C * P = ddim/r1/ddim logn

As before, we want: E = Ɛ/logn Expected cost over all levels: logn*Ɛ/logn = Ɛ So take r = (ddim/Ɛ)ddim

Dynamic program runs in mr O(ddim) time - PTAS

2R

Page 73: A linear time approximation scheme for Euclidean TSP

Metric TSP

75

Ri-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

Page 74: A linear time approximation scheme for Euclidean TSP

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

Page 75: A linear time approximation scheme for Euclidean TSP

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)

Page 76: A linear time approximation scheme for Euclidean TSP

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

Page 77: A linear time approximation scheme for Euclidean TSP

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

Page 78: A linear time approximation scheme for Euclidean TSP

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

Page 79: A linear time approximation scheme for Euclidean TSP

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

SCase 1

Case 2

Page 80: A linear time approximation scheme for Euclidean TSP

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