Doubling dimension and the traveling salesman problem
description
Transcript of Doubling dimension and the traveling salesman problem
Doubling dimension and the traveling salesman problem
Yair Bartal Hebrew UniversityLee-Ad Gottlieb Hebrew UniversityRobert Krauthgamer Weizmann Institute
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
Traveling salesman problem Some additional assumptions on distances
Symmetric d(x,y) = d(y,x)
Metric Triangle inequality: d(x,y) + d(y,z) ≤ d(x,z) Easy 2-approximation via MST
Since OPT ≥ MST
3
MST
Some additional assumptions on distances Symmetric
d(x,y) = d(y,x)
Metric Triangle inequality: d(x,y) + d(y,z) ≤ d(x,z) Easy 2-approximation via MST
Since OPT ≥ MST Can do better…
Christophides: MST + Matching OPT
Traveling salesman problem
4
MST
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
5
Euclidean TSP
5
6
Euclidean TSP To achieve a PTAS, two properties were assumed
Euclidean space Fixed dimension
Are both these assumptions required? Fixed dimension is necessary
Hardness: No PTAS for (log n)-dimensions [Trevisan ’00] Is Euclidean necessary?
A PTAS for metric space? Problem: Arbitrary metric space includes high-dimension Euclidean space... What about metric spaces with low intrinsic dimension?
6
Doubling Dimension Definition: Ball B(x,r) = all points within distance r from x.
The doubling constant (of a metric M) is the minimum value >0 such that every ball can be covered by balls of half the radius First used by [Assoud ‘83], algorithmically by [Clarkson ‘97]. The doubling dimension is ddim(M)=log(M)
[Gupta,Krauthgamer,Lee ‘03] A metric is doubling if its doubling dimension is constant
Packing property of doubling spaces A set with diameter D and min. inter-point
distance a, contains at most(D/a)O(ddim) points
7
Here ≤7.
Applications of doubling dimension Nearest neighbor search
[Krauthgamer, Lee ’04; Har-Peled, Mendel ’06; Beygelzimer, Kakade, Langford ’06; Cole, G. ‘06]
Spanner construction, routing [G., Roditty ’08a, ’08b; Elkin, Solomon ‘12a, ‘12b;
Abraham, Gavoille, Goldberg, Malkhi ‘05]
Distance oracles [Har-Peled, Mendel ’06; Bartal, G., Roditty, Kopelowitz, Lewenstein ’11]
Dimension reduction [G., Krauthgamer, ’11; Bartal, Recht, Schulman ‘11]
Machine learning [Bshouty, Yi, Long ‘09; G., Kontorovich, Krauthgamer ’10, ‘12; ]
Extension to nearly-doubling spaces [G., Krauthgamer ‘10]
8
G
2
11
H
2
11
1
9
PTAS for metric TSP? Does TSP on doubling metrics admit a PTAS?
Arora and Mitchell made strong use of Euclidean properties “Most fascinating problem left open in this area”
James Lee, tcs math blog, June ‘10
Some attempts Quasi-PTAS
[Talwar ‘04] (First description of problem) QPTAS for metric with neighborhoods
[Mitchell ’07; Chan, Elbassioni ‘11] Subexponential-TAS, under more general growth assumption
[Chan, Gupta ‘08]
9
10
PTAS for metric TSP? Does TSP on doubling metrics admit a PTAS?
Yes! (1+Ɛ)-approximate tour In time: n2O(ddim) 2Ɛ-Ỡ(ddim) 2O(ddim2) log½n
Euclidean: n (log n)Ɛ-Ỡ(d)
We’ll jump right in to the construction
10
Metric partition
11
Starting point – a quadtree like hierarchy [Talwar ‘04, Bartal ‘96]
Starting point – a quadtree like hierarchy [Talwar ‘04, Bartal ‘96]
Metric partition
12
Arbitrary center point, ordering
Random radius Ri = [2i, 2·2i]
Metric partition
13
Starting point – a quadtree like hierarchy [Talwar ‘04, Bartal ‘96]
Metric partition
14
Random radius Ri-1 = [2i-1, 2·2i-1]
Arbitrary center point
Starting point – a quadtree like hierarchy [Talwar ‘04, Bartal ‘96]
Caveat: logn hiearchical levels suffice Ignore tiny distances < 1/n2
Metric TSP
15
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)
16
Metric TSP Theorem [Arora ‘98,Talwar ‘04]: Given a partition
The best (m,r)-light tour on the partition can be computed exactly mr O(ddim) nlogn time Via simple dynamic programming
Join tours for small clusters into tour for larger cluster
Metric TSP Our contribution Theorem: Given an optimal tour T, there exists a partition
with (m,r)-light tour T’
M = ddim logn/Ɛ m = MO(ddim) = (logn/Ɛ)Ỡ(ddim)
r = Ɛ-O(d) loglogn Length of T’ is within (1+Ɛ) factor of the length of T
17
Metric TSP Our contribution Theorem: Given an optimal tour T, there exists a partition
with (m,r)-light tour T’
M = ddim logn/Ɛ m = MO(ddim) = (logn/Ɛ)Ỡ(ddim)
r = Ɛ-O(d) loglogn Length of T’ is within (1+Ɛ) factor of the length of T
If the partition were known, then T’ could be found in time mr O(ddim) n logn = n 2Ɛ-Ỡ(ddim) loglog2n
18
Metric TSP Our contribution Theorem: Given an optimal tour T, there exists a partition
with (m,r)-light tour T’
M = ddim logn/Ɛ m = MO(ddim) = (logn/Ɛ)Ỡ(ddim)
r = Ɛ-O(d) loglogn Length of T’ is within (1+Ɛ) factor of the length of T
If the partition were known, then 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
19
Metric TSP
20
Modify a tour to be (m,r)-light Part I: Focus on m (i.e. net points) [Arora ‘98, Talwar ‘04]
Move cut edges to be incident on net points
Ri-1/M
Metric TSP
21
Modify a tour to be (m,r)-light Part I: Focus on m (i.e. net points) [Arora ‘98, Talwar ‘04]
Move cut edges to be incident on net points
Expected cost to edge At the (i-1)-level, radius Ri-12i-1
Expected cost ~ (Ri-1/M)(ddim/Ri-1) = ddim/M = Ɛ/logn (assuming edge length 1)
Expected cost to edge over all levels: logn * Ɛ/logn = Ɛ (1+Ɛ)-approximate tour
Ri-1/M
Metric TSP
22
Modify a tour to be (m,r)-light Part II: Focus on r (i.e. number of crossing edges) Reduce number of crossings
Metric TSP
23
Modify a tour to be (m,r)-light Part II: Focus on r (i.e. number of crossing edges) Reduce number of crossings
Patchings [Arora ‘98]: Reroute edges back into cluster Cost: length of tour on the patched endpoints
MST of these points
MST in doubling spaces Bound the weight of MST in doubling space [Talwar ‘04]: For any r-point set S
MST(S) = Rr1-1/ddim « Rr Per point cost = R/r1/ddim
24
2R
Metric TSP
25
Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)
Reduce number of crossings
Expected cost to edge At the (i-1)-level, radius Ri-12i-1
Probability edge is patched ≤ Probability edge is cut (Ri-1/r1/ddim)(ddim/Ri-1) = ddim/r1/ddim
2R
Metric TSP
26
Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)
Reduce number of crossings
Expected cost to edge At the (i-1)-level, radius Ri-12i-1
Probability edge is patched ≤ Probability edge is cut (Ri-1/r1/ddim)(ddim/Ri-1) = ddim/r1/ddim
As before, want this term to be equal to Ɛ/logn So we get a contribution of Ɛ over logn levels Could take r = (ddim logn/Ɛ)ddim
But dynamic program runs in time mr – QPTAS! [Talwar ‘04]
Challenge: smaller value for r
2R
Metric TSP Key observation:
Space can be decomposed into sparse neighborhoods
Consider an (i-1)-level ball If the local tour weight inside is at least Ri-1/Ɛ
“Dense” ball Ball can be removed, each subproblem solved
separately
27
Metric TSP Key observation:
Space can be decomposed into sparse neighborhoods
Consider an (i-1)-level ball If the local tour weight inside is at least Ri-1/Ɛ
“Dense” ball Ball can be removed, each subproblem solved
separately
Cost to join tours: only Ri-1
28
Metric TSP Sparse decomposition:
Search hierarchy bottom-up for “dense” balls. Remove “dense” ball
Ball is composed of sparse subballs So it’s barely dense
Recurse on remaining point set
How do we know the local weight of the tour in a ball? 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
29
Metric TSP
30
Ri-1/M
Suppose a tour is q-sparse with respect to hierarchy Every R-ball contains weight Rq (for all R=2i) Expectation: Random R-ball cuts weight Rq/R = q
Cluster formed by cuts from many levels Expectation: q cuts per level
If r = q 2loglogn Expectation: (i-1)-level patching includes
cuts from 2loglogn higher levels Charge patching to edges in top loglogn
levels Cut Pr: (ddim/Ri+loglogn) = (ddim/Ri-1 logn)
Metric TSP
31
Modify a tour to be (m,r)-light – Part II Focus on r (i.e. number of crossing edges)
Reduce number of crossings
Expected cost to edge At the (i-1)-level, radius Ri-12i-1
Probability edge is patched ≤ Probability edge is cut (Ri-1/r1/ddim)(ddim/Ri-1logn) = ddim/logn r1/ddim
As before, want this term to be equal to Ɛ/logn Can take r = (ddim/Ɛ)ddim
PTAS!
2R
Metric TSP
32
Ri-1/M
Outstanding problem: Previous analysis assumed ball cuts only q edges True in expectation… Not good enough Solution: try many hierachies
choose logn random radii for each ball Then some hierarchy has balls which cut only q edges Drives up runtime of dynamic program
Thank you!