Slides - Worker 2013

advertisement
Everything you always wanted
to know about spanners*
*But were afraid to ask
Seth Pettie
University of Michigan,
Ann Arbor
What is a spanner?
• Spanner (English) : wrench
• Spanner (German) : voyeur, peeping tom.
• Spanner (CS) : sparse subgraph that
preserves distances up to some stretch.
Graph Spanners
Peleg-Schäffer’89
• Spanner : sparse subgraph that preserves
distances up to some stretch.
• Given possibly weighted input graph G = (V,
E, w)
Find a sparse subgraph H = (V, E(H)) such
that
distH(u,v) ≤ t∙dist(u,v)
H is called a t-spanner of G
The Greedy Algorithm
Althöfer, Das, Dobkin, Joseph, Soares’93
Greedy(G, k): (stretch 2k–1)
H←
Examine each (u,v) in increasing order by
w(u,v).
If distH(u,v) > (2k–1)∙w(u,v)
Execution for stretch=3
H ← H  {(u,v)}
Return H
Claim: the greedy spanner H has girth at least
2k+1.
(girth = length of shortest cycle)
Proof by contradiction. Let (u,v) H be the last
edge added to form a length-2k cycle.
heaviest edge
on the cycle
Behavior of the Greedy Algorithm
• mg(n) = max # edges in graph w/n vertices,
and girth  g
• Some observations:
–|Greedy(G, k)|  m2k+1(n)
–|Greedy(G, k)|  m2k+1(n) for some G
– m2k+1(n) ≤ 2∙m2k+2(n)
Upper Bounds: m2k+1(n), m2k+2(n) 
n1+1/k
(1) Repeatedly discard any vertex of degree 
n1/k
(2) Examine k-neighborhood of any vertex:
The Girth Conjecture
Erdos’63, Bondy-Simonovits’74, Bollobas’78
• Conjecture: m2k+2(n) = (n1+1/k)
• Confirmed for k = 1, 2, 3, 5
• In general, m2k+2(n) = (n1+1/(3k/2–1))
(Lazebnik, Ustimenko, Woldar’96)
The Girth Conjecture
• Conjecture: m2k+2(n) = (n1+1/k)
• Confirmed for k = 1, 2, 3, 5 ((n2) edges, girth
4)
The Girth Conjecture
Reiman’58, Brown’66, Erdoős-Rényi-Sós’66, Wenger’91
• Conjecture: m2k+2(n) = (n1+1/k)
• Confirmed for k = 1,2,3,5 ((n3/2) edges, girth
6)
Incidence matrix of a projective geometry:
(1) We can’t beat the girth bound
(2) We can achieve the girth bound (Althöfer et
al.’93)
Is there anything else to say about spanners?
• Computation time:
– (Althöfer et al.’93): O(mn1+1/k) is slow
– (Baswana-Sen’03):
An O(kn1+1/k)-size (2k–1)spanner in O(km) time.
The girth bound, restated
If G is an unweighted graph with girth g, the
only (g–2)-spanner of G is G.
– If (u,v)  H, distH(u,v) ≥ (g-1)∙dist(u,v)
Why measure stretch multiplicatively?
Defn. H is an f-spanner of unweighted G if
distH(u,v) ≤ f(dist(u,v))
f(d) = d + b
f(d) = (1+e)d + b
f(d) = d + O(d1-e)
Additive b-spanner
(1+e,b)-spanner
Sublinear additive
The girth bound, restated
If G is an unweighted graph with girth g, the only
(g–2)-spanner of G is G.
– If (u,v)  H, distH(u,v) ≥ (g-1)∙dist(u,v)
What if we only care about certain vertexpairs?
• Defn. H is a pairwise f-spanner for vertex
pairs P
distH(u,v) ≤ f(dist(u,v)) holds for every (u,v) 
P.
Additive
Stretch
Spanner Size
Aingworth,
Chekuri,
Indyk, Motwani’99
+2
n3/2
Chechik’12
+4
n7/5
Baswana, Kavitha,
4/3
+6
n
Pettie’09
AMehlhorn,
big open
problem: are there +Õ(1) spanners with size n4/3
Additive
Stretch
Spanner Size
Aingworth,
Chekuri,
Indyk, Motwani’99
+2
n3/2
Chechik’12
+4
n7/5
Baswana, Kavitha,
Mehlhorn, Pettie’09
+6
n4/3
Baswana, Kavitha,
Mehlhorn, Pettie’09
n1 – 3d
n1+d
Pettie’09
n9/16 – 7d/8
n1+d
1/2 – 3d/2
1+d
20/17
Additive
Stretch
Spanner Size
Aingworth,
Chekuri,
Indyk, Motwani’99
+2
n3/2
Chechik’12
+4
n7/5
Baswana, Kavitha,
Mehlhorn, Pettie’09
+6
n4/3
Assuming the girth conjecture:
Any additive 2k–2 spanner has size (n1+1/k)
(Woodruff’06) Any additive 2k–2 spanner has size (n1+1
Additive Spanners: Lower Bounds
Lower Bounds on Additive
Spanners
Woodruff’06
Vertices in k+1 columns named: {1,…, N1/k}k ((k+1)N
total)
Lower Bounds on Additive
Spanners
Woodruff’06
Edges in layer i connect vertices that may only
differ in their ith coordinate. (kN1+1/k edges in
total)
Lower Bounds on Additive
Spanners
Spanner size 
excluded
Woodruff’06
1+1/k
N
 some
shortest path
Lower Bounds on Additive
Spanners
Woodruff’06
Spanner path < 3k  some layer crossed just
once
Lower Bounds on Additive
Spanners
Woodruff’06
e = e (contradiction)
Additive Spanners: Upper Bounds
Additive 6-Spanners
Baswana, Kavitha, Mehlhorn, Pettie’09
(edges not shown)
Additive 6-Spanners
Baswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at
random.
Additive 6-Spanners
Baswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at
random.
• Every vertex includes 1 edge to an adjacent
center.
Additive 6-Spanners
Baswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at
random.
• Put all edges adjacent to unclustered vertices
in the spanner.
The Path-Buying Algorithm
Baswana, Kavitha, Mehlhorn, Pettie’09
Overview
(1) There are n4/3 cluster pairs (C,C’).
(2) Each pair “wants” distH(C, C’) = dist(C, C’).
(3) Each pair can “buy” O(1) edges to achieve
(2).
To compute an additive 6-Spanner:
H ← edges selected by clustering procedure
Evaluate every shortest path P
If cost(P) < value(P) then H ← H∪P
The Path-Buying Algorithm
Baswana, Kavitha, Mehlhorn, Pettie’09
(Cu,C’) contributes
1 to value(P)
cost(P) = number of missing edges on P
(roughly number of clusters incident to P.)
value(P) = number of pairs (C,C’) such that
distP(C,C’) < distH(C,C’)
The Path-Buying Algorithm
Baswana, Kavitha, Mehlhorn, Pettie’09
• If P is bought…great! Then distH(u,v) =
dist(u,v)
• If P is not bought… there exist cluster C’ on P:
dist(Cu,C’) and dist(C’,Cv) well-approximated
Pairwise Spanners: Upper Bounds
Pairwise Distance Preservers
Coppersmith, Elkin’06
Given vertex pairs P, want to find spanner H
such that distH(u,v) = dist(u,v) for all (u,v)
P
(Coppersmith-Elkin’06):
If H is chosen in a natural way,
Pairwise Distance Preservers
Coppersmith, Elkin’06
branch point
for (green,blue)
and (green,red)
branch points for (red,blue)
Pairwise Distance Preservers
Coppersmith, Elkin’06
Pairwise Distance Preservers
Coppersmith, Elkin’06
Sublinear Additive Spanners
Sublinear Additive Error
Stretch Function
(d=distance)
d + O( d )
ThorupZwick’06


d + O(d
11/ k


Spanner Size
4 /3
)
n
1
1+ k+1
n
Sublinear Additive Error
Stretch Function
(d=distance)
d + O( d )
ThorupZwick’06

Pettie’09


Chechik’12

d + O(d
11/ k
4 /3
)
d + O( d )
11/ k
d + O(d
)

d + O( 
d)
Spanner Size
n
1
1+ k+1
n
n
6/5
3 / 4 )k2
(
1+
72 (3 / 4 )k2
n
20 /17
n
A d + O( d ) -spanner
Thorup-Zwick’06
• C1 = set of n2/3 level-1centers.
• Include BFS tree from v to radius dist(v,C1)–1

A d + O( d ) -spanner
Thorup-Zwick’06
• C2 = set of n1/3 level-1centers.
• For each v C1, include BFS tree
from v with radius

dist(v,C2)–1.
• Include BFS
tree from each
v  C2 too all
other vertices.
Why it is a d + O( d ) -spanner
Thorup-Zwick’06
The analysis: d = dist(u,v)
Start walking along a shortest u–v path
If you
can’t walk further, you’re adjacent to a w
C1
(a) Walk
BFS(w), if possible
(b) Walk
steps toward v in
steps to an x C2
then walk from x to v in BFS(x).
Spanners vs. Compact Routing
• Store Õ(ne)-size routing tables at each node
• Route message from A to B using only
information discovered at routing tables.
(Thorup-Zwick’01): Õ(n1/k)-size
(Gavoille-Sommer’11):
tables & 4k–5 stretch.
O(1)-additive routing is
impossible:
O(ne)-size tables implies (n(1–e)/2) additive
stretch
Spanners vs. Distance Oracles
• Build O(n1+e)-size data structure in order to
answer approximate distance queries in O(1)
time.
(Thorup-Zwick’01): O(n1+1/k)
size with (2k–1)d
stretch.
O(n5/3)-size with 2d+1 stretch.
Conditional lower bound that < 2
multiplicative
stretch is impossible in O(1) query time.
(Patrascu-Roditty’10):
Graph Spanners vs. Geometric
Spanners
Some open problems
• Existential:
– Do f(k)-additive spanners exist with size O(n1+1/k)?
f(k)=2k–2 would be optimal.
– Do no(1)-additive spanners exist with size O(n)?
– Are there d + O( d ) -spanners with size O(n1+e)?
• Computational
– What spanners can be constructed in O(m) time?

(Baswana et al.’09): (kd + k-1)-spanners with size
O(n1+1/k).
• New applications of spanners?
Õ(ne2)-size spectral
sparsifiers using spanners as a “black box.”
– (Kapralov-Panigrahy’12): Build
The End
Download