Upload
brett-henry
View
224
Download
0
Embed Size (px)
Citation preview
Everything you always wanted to know about spanners*
*But were afraid to ask
Seth PettieUniversity 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 SpannersPeleg-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 AlgorithmAlthö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)
H ← H {(u,v)}Return H
Execution for stretch=3
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 edgeon 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 ConjectureErdos’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 ConjectureReiman’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, restatedIf 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 Additive b-spanner
f(d) = (1+e)d + b (1+ , )e b -spanner
f(d) = d + O(d1-e) Sublinear additive spanner
The girth bound, restatedIf 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 vertex-pairs?
• Defn. H is a pairwise f-spanner for vertex pairs P
distH(u,v) ≤ f(dist(u,v)) holds for every (u,v) ∈ P.
(Note: it makes sense to consider no stretch: f(d)=d.)
Additive Stretch Spanner Size
Aingworth, Chekuri,Indyk,
Motwani’99
+2 n3/2
Chechik’12 +4 n7/5
Baswana, Kavitha,
Mehlhorn, Pettie’09
+6 n4/3A big open problem: are there +Õ(1) spanners with size n4/3–e ?
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
Chechik’12 n1/2 – 3d/2 n1+d + n20/17
Assuming the girth conjecture:Any additive 2k–2 spanner has size W(n1+1/k)
(Woodruff’06) Any additive 2k–2 spanner has size W(n1+1/k)
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
Lower Bounds on Additive SpannersWoodruff’06
Vertices in k+1 columns named: {1, …, N1/k}k ((k+1)N total)
Lower Bounds on Additive SpannersWoodruff’06
Edges in layer i connect vertices that may only differ in their ith coordinate. (kN1+1/k edges in total)
• Sample n2/3 cluster centers uniformly at random.
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at random.
• Every vertex includes 1 edge to an adjacent center.
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09
Additive 6-SpannersBaswana, 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 AlgorithmBaswana, 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 procedureEvaluate every shortest path P
If cost(P) < value(P) then H ← H∪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 AlgorithmBaswana, Kavitha, Mehlhorn, Pettie’09
(Cu,C’) contributes1 to value(P)
• 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 by H.
The Path-Buying AlgorithmBaswana, Kavitha, Mehlhorn, Pettie’09
Pairwise Distance PreserversCoppersmith, Elkin’06
Given vertex pairs P, want to find spanner
Hsuch 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 PreserversCoppersmith, Elkin’06
branch points for (red,blue)
branch pointfor (green,blue) and (green,red)
Sublinear Additive Error
Stretch Function (d=distance)
Spanner Size
Thorup-Zwick’06
€
d +O( d )
€
d + O(d1−1/ k )
€
n4 / 3
€
n1+ 1
k+1
Sublinear Additive Error
Stretch Function (d=distance)
Spanner Size
Thorup-Zwick’06
Pettie’09
Chechik’12
€
d +O( d )
€
d + O(d1−1/ k )
€
n4 / 3
€
n6 / 5
€
n1+ 1
k+1
€
n1+
3/4( )k−2
7−2 3/4( )k−2
€
n20 /17€
d +O( d )
€
d + O(d1−1/ k )
€
d +O( d )
A -spannerThorup-Zwick’06
• C1 = set of n2/3 level-1centers.
• Include BFS tree from v to radius dist(v,C1)–1€
d +O( d )
A -spannerThorup-Zwick’06
• C2 = set of n1/3 level-1centers.
• For each v ∈ C1, include BFS tree
from v with radiusdist(v,C2)–1.
• Include BFStree from eachv ∈ C2 too all
other vertices.
€
d +O( d )
Why it is a -spannerThorup-Zwick’06
The analysis: d = dist(u,v)Start walking along a shortest u–v pathIf you can’t walk further, you’re adjacent to a w ∈ C1
(a) Walk steps toward v in BFS(w), if possible
(b) Walk steps to an x ∈ C2
then walk from x to v in BFS(x).
€
d +O( d )
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 tables & 4k–5 stretch.
(Gavoille-Sommer’11): O(1)-additive routing is impossible:
O(ne)-size tables implies W(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.
(Patrascu-Roditty’10): O(n5/3)-size with 2d+1 stretch. Conditional lower bound that < 2 multiplicative
stretch is impossible in O(1) query time.
Lot’s of followup work, alternate constructions, etc.
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 -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?– (Kapralov-Panigrahy’12): Build Õ(ne-2)-size spectral
sparsifiers using spanners as a “black box.”
€
d +O( d )