Everything you always wanted to know about spanners * * But were afraid to ask
description
Transcript of Everything you always wanted to know about spanners * * But were afraid to ask
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 PdistH(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 (n1+1/k)
(Woodruff’06) Any additive 2k–2 spanner has size (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
Additive Spanners: Lower Bounds
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)
Spanner size N1+1/k some shortest path excluded
Lower Bounds on Additive SpannersWoodruff’06
Spanner path < 3k some layer crossed just once
Lower Bounds on Additive SpannersWoodruff’06
e = e (contradiction)
Lower Bounds on Additive SpannersWoodruff’06
Additive Spanners: Upper Bounds
(edges not shown)
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09
• 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 Spanners: Upper Bounds
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)
Pairwise Distance PreserversCoppersmith, Elkin’06
Pairwise Distance PreserversCoppersmith, Elkin’06
Sublinear Additive Spanners
Sublinear Additive ErrorStretch Function
(d=distance) Spanner Size
Thorup-Zwick’06
€
d +O( d )
€
d + O(d1−1/ k )
€
n4 / 3
€
n1+ 1k+1
Sublinear Additive ErrorStretch 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+ 1k+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 allother 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 (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.
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 -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 )
The End