SLIDE 1 Approximating geometrical graphs via “spanners” and “banyans”
Proc of STOC, 1998: 540-550
SLIDE 2
Recap (Arora’s Algorithm)
SLIDE 3
Recap (Arora’s Algorithm)
SLIDE 4
Recap (Arora’s Algorithm)
SLIDE 5
Recap (Arora’s Algorithm)
SLIDE 6
Recap (Arora’s Algorithm)
SLIDE 7
Recap (Arora’s Algorithm)
SLIDE 8 Applications
Minimum Steiner Tree
- Shortest network connecting all sites
- Uses the same algorithm
Portals can be Steiner nodes! Min case different for Dynamic Programming Interface specification is slightly changed
k-TSP (The shortest tour that visits at least k nodes)
- Need to transform the instance
- Need assumption OPT>L (length of the grid)
Minimal Euclidean Matching
SLIDE 9 Motivations
Arora’s Algorithm,
Running time:
Several problems:
Monte Carlo succeeds with probability > ½. Need several runs. Derandomized version runs nd times slower.
Faster algorithm:
Las Vegas.
( )
1
/
( (log ) )
d
O d
O n n
ε
−
SLIDE 10 Results Summary
*Monte Carlo (d = 2)
- *Deterministic (d = 2)
- Monte Carlo (any d)
- Note: s = 1/
( ) (log )O s N N
( )
log
O s
s N sN N + ( ) 5(log )O s N N
(1)
(1)
2 log
O
O
s N s N N +
1
( ( ) )
( ) ( log )
d
O d ds
s d N O dN N
−
+
1
( ) (log )
d
O s d N N
−
SLIDE 11 Results Relevance
*Deterministic (d = 2)
Arora Rao & Smith
With s fixed, complexity is optimal for:
TST, MST, t-spanners, Min-Weight Matching.
Conjectured for Minimal Steiner Tree, Edge Cover, Nearest Neighbor With d fixed,
is likely optimal.
For large s comparible to N the approximation is exact and NP-Hard problems are assumed not soluble in time
( log ) O N N
( ) 5(log )O s N N
(1) (1)
2 log
O O s
N s N N +
(1)
(2 )
O
(1)
2
O
s N
SLIDE 12 Rescale and Snap to grid
Assume the point set is in Assume the length of the Minimum Spanning Tree M 1 Scale by a factor L =
Key: Integer Coordinates in
Length of new MST Added a to the approximation factor
Algorithm (1)
/( ) d N M δ [0, ) , /
d
L L d N δ ≤ / d N δ ≤
[0,1]d δ
SLIDE 13
Algorithm (2)
Spanner
t-spanner: subgraph G’ of the complete Euclidean graph such that for any u, v, d(u,v) in G’ td(u,v) Claim 1: There is a -TST inside a -spanner
(1 ) ε +
(1 ) ε +
SLIDE 14
Algorithm (2)
Spanner
t-spanner: subgraph G’ of the complete Euclidean graph such that for any u, v, d(u,v) in G’ td(u,v) Claim 2: This TST does not use any edge more than twice
SLIDE 15 Algorithm (2)
Spanner
t-spanner: subgraph G’ of the complete Euclidean graph such that for any u, v, d(u,v) in G’ td(u,v) Claim 2: This TST does not use any edge more than twice
Replace each multiple edge > 2 by a multiple edge 2 with the same parity. This graph is still Eulerian and hence has a shorter Euler tour. Contradiction.
SLIDE 16 Algorithm (2)
Find a -spanner of the grid points
Has O (nsO(1)) edges Is sK longer than MST for some constant K Is guaranteed to contain a -TST Is computable in time*
(1 (1/ )) O s +
(1 (1/ )) O s +
(1)
( log )
O
O s N N
* S. Arya et al. Euclidean Spanners: short, think and lanky, Proc. TOC 1995
SLIDE 17
Algorithm (3)
Grow the grid by extending it randomly in each
direction by L
Subdivide the grid into
a quadtree
SLIDE 18 Algorithm (4)
Patch the Spanner with respect to the quadtree
Each quadtree square is intersected at most r times The total length of the added line segments is E(O(1/r))
Prop: If there was a path in the original spanner, there is a
path ' in the modified spanner that is longer by at most twice the increase of the cost of patching. (2O(1/r) total)
SLIDE 19 Algorithm (4)
Patch the Spanner with respect to the quadtree
Each quadtree square is intersected at most r times The total length of the added line segments is E(O(1/r)) Set r = O(sK+1). The added length is O(sKM)/sK+1 = O(M/s) Thus, if there existed a -TST in the original spanner, there must exist a -TST + 2 O(M/s)
(1 (1/ )) O s + (1 (1/ )) O s +
(1 (1/ )) O s +
SLIDE 20 Algorithm (5)
Find the shortest TST inside the modified spanner
with dynamic programming on the quadtree:
For each box of the quadtree: there are r points where the spanner crosses the boundary. at most 4 ways a tour can cross each point (enter/exit). 2O(r) matchup conditions on each side of the boundary
Thus, to get a solution in a larger box, consider all 2O(r) pairs
- f compatible boundary conditions in two smaller boxes
SLIDE 21 Algorithm Summary
Scale and snap the points Find a (1+)-spanner, = 1/(2s) Find a randomly shifted quad-tree Modify the spanner to make it r-light with
respect to the quadtree. Set r = cs4
Find the shortest r-light TST by dynamic
programming on the quadtree
(1)
2
O
s
N
N
log sN N log N sN
3
s N
(1)
(2 log )
O
s
O N sN N +
Total:
SLIDE 22 Algorithm Summary
Scale and snap the points Find a (1+)-spanner, = 1/(2s)
Total length
Modify the spanner to make it r-light
Choose r = cs4 With probability 1/2, the increase is bounded by 1/(4s) If so, output the graph, otherwise fail.
If the graph is produced, it is guaranteed to contain a
1+1/(2s)+2/(4s) = (1+1/s)-TST
3
( ( )/ ) O l MST ε
SLIDE 23 Derandomization
Unlike Arora, can average length increase over one dimension.
- Therefore, can optimize the quadtree shift for each dimension
independently
Arbitrarily fix one dimension. Dynamically, build a table of costs inflicted by possible shifts:
Create a table of costs for every line Aggregate costs for 2k lines by adding them
Modify the spanner, given the best shift. Repeat for all dimensions.
SLIDE 24 Intuitive Justification (Why can we do better?)
To prove (1+)-bound, Arora
- Needed to consider the expected change in the TSP path instead
- f the whole graph
- Harder bound
- Could only randomize the quadtree shift, or to search in all d
Rao & Smith:
- Create a (1+)-spanner of known length (
)
- Don’t need to rely on the points after the spanner is constructed
(r does not depend on N)
- Can average in one dimension (bound length increase in the
graph and not in the tour)
3
( ( ) / ) O l MST ε
SLIDE 25 Problems
Practicality
The bounds above are upper bounds. In-practice performance is not known (for d=2 faster practical algorithms exist)
- factor could be large even for d=2 and reasonable s
Could combine with heuristics (tour “cleaning up”, solving small subproblems via previous algorithms, etc.) Deterministic version could be interpreted as a local optimizer
Extendability
Not applicable to Minimum Matching (yet). How much can Steiner points help the spanner?
( )
( )
2
O d
sd
SLIDE 26
Thank You