470 likes | 671 Views
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.
E N D
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 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 subgraphH = (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
heaviest edge on the cycle 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.
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, 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 + bAdditiveb-spanner f(d) = (1+e)d + b(1+e,b)-spanner f(d) = d + O(d1-e) Sublinear additive 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 vertex-pairs? • Defn. H is a pairwisef-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.)
A big open problem: are there +Õ(1) spanners with size n4/3–e?
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)
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)
Lower Bounds on Additive SpannersWoodruff’06 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)
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09 (edges not shown)
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09 Sample n2/3cluster centers uniformly at random.
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09 Sample n2/3cluster centers uniformly at random. Every vertex includes 1 edge to an adjacent center.
Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09 Sample n2/3cluster 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 procedure Evaluate every shortest path P Ifcost(P) < value(P) then H ← H∪P
The Path-Buying AlgorithmBaswana, 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 AlgorithmBaswana, 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 by H.
Pairwise Distance PreserversCoppersmith, 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 PreserversCoppersmith, Elkin’06 branch point for (green,blue) and (green,red) branch points for (red,blue)
A -spannerThorup-Zwick’06 C1 = set of n2/3 level-1centers. Include BFS tree from v to radius dist(v,C1)–1
A -spannerThorup-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 -spannerThorup-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 steps toward v in BFS(w), if possible (b) Walk 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 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.”