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
![Page 1: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/1.jpg)
Everything you always wanted to know about spanners*
*But were afraid to ask
Seth PettieUniversity of Michigan,
Ann Arbor
![Page 2: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/2.jpg)
What is a spanner?• Spanner (English) : wrench
• Spanner (German) : voyeur, peeping tom.
• Spanner (CS) : sparse subgraph that preserves distances up to some stretch.
![Page 3: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/3.jpg)
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
![Page 4: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/4.jpg)
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
![Page 5: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/5.jpg)
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
![Page 6: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/6.jpg)
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)
![Page 7: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/7.jpg)
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:
![Page 8: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/8.jpg)
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)
![Page 9: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/9.jpg)
The Girth Conjecture• Conjecture: m2k+2(n) = (n1+1/k)• Confirmed for k = 1, 2, 3, 5 ((n2)
edges, girth 4)
![Page 10: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/10.jpg)
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:
![Page 11: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/11.jpg)
(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.
![Page 12: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/12.jpg)
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
![Page 13: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/13.jpg)
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.)
![Page 14: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/14.jpg)
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 ?
![Page 15: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/15.jpg)
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
![Page 16: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/16.jpg)
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
![Page 17: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/17.jpg)
Additive Spanners: Lower Bounds
![Page 18: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/18.jpg)
Lower Bounds on Additive SpannersWoodruff’06
Vertices in k+1 columns named: {1, …, N1/k}k ((k+1)N total)
![Page 19: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/19.jpg)
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)
![Page 20: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/20.jpg)
Spanner size N1+1/k some shortest path excluded
Lower Bounds on Additive SpannersWoodruff’06
![Page 21: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/21.jpg)
Spanner path < 3k some layer crossed just once
Lower Bounds on Additive SpannersWoodruff’06
![Page 22: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/22.jpg)
e = e (contradiction)
Lower Bounds on Additive SpannersWoodruff’06
![Page 23: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/23.jpg)
Additive Spanners: Upper Bounds
![Page 24: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/24.jpg)
(edges not shown)
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09
![Page 25: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/25.jpg)
• Sample n2/3 cluster centers uniformly at random.
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09
![Page 26: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/26.jpg)
• Sample n2/3 cluster centers uniformly at random.
• Every vertex includes 1 edge to an adjacent center.
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09
![Page 27: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/27.jpg)
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.
![Page 28: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/28.jpg)
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
![Page 29: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/29.jpg)
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)
![Page 30: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/30.jpg)
• 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
![Page 31: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/31.jpg)
Pairwise Spanners: Upper Bounds
![Page 32: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/32.jpg)
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,
![Page 33: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/33.jpg)
Pairwise Distance PreserversCoppersmith, Elkin’06
branch points for (red,blue)
branch pointfor (green,blue) and (green,red)
![Page 34: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/34.jpg)
Pairwise Distance PreserversCoppersmith, Elkin’06
![Page 35: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/35.jpg)
Pairwise Distance PreserversCoppersmith, Elkin’06
![Page 36: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/36.jpg)
Sublinear Additive Spanners
![Page 37: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/37.jpg)
Sublinear Additive ErrorStretch Function
(d=distance) Spanner Size
Thorup-Zwick’06
€
d +O( d )
€
d + O(d1−1/ k )
€
n4 / 3
€
n1+ 1k+1
![Page 38: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/38.jpg)
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 )
![Page 39: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/39.jpg)
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 )
![Page 40: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/40.jpg)
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 )
![Page 41: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/41.jpg)
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 )
![Page 42: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/42.jpg)
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
![Page 43: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/43.jpg)
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.
![Page 44: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/44.jpg)
Graph Spanners vs. Geometric Spanners
![Page 45: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/45.jpg)
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 )
![Page 46: Everything you always wanted to know about spanners * * But were afraid to ask](https://reader033.fdocuments.in/reader033/viewer/2022061511/5681640d550346895dd5b4fa/html5/thumbnails/46.jpg)
The End