#### Transcript Slides - Worker 2013

```Everything you always wanted
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)
(1+e,b)-spanner
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.
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
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
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
Spanners
Woodruff’06
Vertices in k+1 columns named: {1,…, N1/k}k ((k+1)N
total)
Spanners
Woodruff’06
Edges in layer i connect vertices that may only
differ in their ith coordinate. (kN1+1/k edges in
total)
Spanners
Spanner size 
excluded
Woodruff’06
1+1/k
N
 some
shortest path
Spanners
Woodruff’06
Spanner path < 3k  some layer crossed just
once
Spanners
Woodruff’06
Baswana, Kavitha, Mehlhorn, Pettie’09
(edges not shown)
Baswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at
random.
Baswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at
random.
• Every vertex includes 1 edge to an adjacent
center.
Baswana, Kavitha, Mehlhorn, Pettie’09
• Sample n2/3 cluster centers uniformly at
random.
• Put all edges adjacent to unclustered vertices
in the spanner.
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).
H ← edges selected by clustering procedure
Evaluate every shortest path P
If cost(P) < value(P) then H ← H∪P
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’)
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
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
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

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.
impossible:
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
```