Title: Joint work with Michael Elkin BenGurion
1Lower-Stretch Spanning Trees
Daniel A. Spielman
Joint work with Michael Elkin (Ben-Gurion)
Yuval Emek (Weizmann)
Shang-Hua Teng (BU)
2Spanning tree
T
G
- subgraph
- connected
- no cycles
3Stretch of a spanning tree
v
v
u
u
T
G
stretchT(u,v) length of uv path in T
4Average stretch of a spanning tree
v
v
2
3
1
u
2
u
1
2
1
1
1
2
T
G
stretchT(u,v) length of uv path in T
ave-stretch(T) ave(u,v) in G stretchT(u,v)
5Example n-cycle
6Example n-cycle
n-1
1
1
1
1
1
1
1
Every spanning tree has some edge of stretch n-1.
ave-stretch
7How low average stretch?
Alon-Karp-Peleg-West 92
This paper
Conjecture
8Why?
AKPW Analysis of k-server algorithm
Bartal 95 Approximate metrics by tree metrics
Polynomial approximation
algorithms
Boman-Hendrickson 01 Solve diagonally
dominant linear systems in time
S-Teng 03 Solve in time
9Why?
AKPW Analysis of k-server algorithm
Bartal 95 Approximate metrics by tree metrics
Polynomial approximation
algorithms
Boman-Hendrickson 01 Solve diagonally
dominant linear systems in time
S-Teng 03 Solve in time
10Once more
v
v
2
3
1
u
2
u
1
2
1
1
1
2
T
G
stretchT(u,v) length of uv path in T
ave-stretch(T) ave(u,v) in G stretchT(u,v)
11 Star decomposition at x0
V1
V7
V2
x0
V6
V0
V3
V5
V4
12d-star decomposition at x0
For
Require
13 Cost of star decomposition
cost number of edges between components
V1
x1
V7
x7
V2
x2
x0
x6
V6
V0
x3
V3
x4
x5
V5
V4
14Star decomposition theorem
Build a d-star decomposition at x0 of
cost where in time
15Star decomposition theorem
Build a d-star decomposition at x0 of
cost where in time
large r decreases cost small d increases cost
16Trees from star decompositions
17Trees from star decompositions
18Radius of the tree
If we choose
Also true in each component
19Total stretch of the tree
Stretch of edges cut at first level
Sum over levels
20Total stretch of the tree
Stretch of edges cut at first level
Sum over levels
improve to
21How to build a low-cost star decomposition
22Classic technique ball growing (Awerbuch 84)
For
r
Such that for
bdry decreases as r increases
23Classic technique ball growing (Awerbuch)
Grow level-by-level until small
Boundary at one level is inside interior at
next All boundaries big implies ball grows
quickly
24Classic technique ball growing (Awerbuch)
Theorem
Such that for
we have
Proof. If
for
then
contradiction
25Star-decomposition, first attempt
Grow ball, remove, grow ball in
remaining graph, etc.
Wont be star-connected!
26Star-decomposition, idea
Cone from x1 everything reach from x1,
moving away from x0 v some shortest path to
x0 goes though x1
x1
v
x0
Removing cone 1. Sets touch 2. Do not
increase dist of any node to x0
27Star-decomposition, second attempt
Grow ball, remove, cut remaining graph
into cones from boundary
Could cut too many edges!
x1
x0
Cone from x1 everything reach from x1,
moving away from x0
28Star decomposition technique
Grow cones!
Cone(S) all can reach from S, moving away from
x0 v some shortest path
to x0 goes though S
x1
29Cone growing theorem
For
r
r0
x1
r-r0
dr
Such that for
And,
can go up to dr steps back, so at most drr-r0
forward
30Remove grown cones until nothing left
x3
x2
31Star decomposition theorem
Build a d-star decomposition at x0 of cost in
time
32Low-stretch tree from d-star decompositions
ave-stretch
33Edges with lengths
Issue shrinking radius does not
bound recursion depth
Solution contract all edges of length lt
radius/n2 each edge active in
at most
rounds
34How to improve
such that for
If V1 very small, lowers recursion depth If
V1 big, grow another dr levels, for smaller
boundary
ave-stretch
35what if planar?
36Implementation
Heuristic (Jan 04)
Star-decomposition
linsolve
2-4x faster
huh??