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 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) Additive b-spanner (1+e,b)-spanner Sublinear additive 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. Additive 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 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 1/2 – 3d/2 1+d 20/17 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 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 Additive Spanners: Lower Bounds Lower Bounds on Additive Spanners Woodruff’06 Vertices in k+1 columns named: {1,…, N1/k}k ((k+1)N total) Lower Bounds on Additive Spanners Woodruff’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 Spanners Spanner size excluded Woodruff’06 1+1/k N some shortest path Lower Bounds on Additive Spanners Woodruff’06 Spanner path < 3k some layer crossed just once Lower Bounds on Additive Spanners Woodruff’06 e = e (contradiction) Additive Spanners: Upper Bounds Additive 6-Spanners Baswana, Kavitha, Mehlhorn, Pettie’09 (edges not shown) Additive 6-Spanners Baswana, Kavitha, Mehlhorn, Pettie’09 • Sample n2/3 cluster centers uniformly at random. Additive 6-Spanners Baswana, Kavitha, Mehlhorn, Pettie’09 • Sample n2/3 cluster centers uniformly at random. • Every vertex includes 1 edge to an adjacent center. Additive 6-Spanners Baswana, 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 Algorithm 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). To compute an additive 6-Spanner: H ← edges selected by clustering procedure Evaluate every shortest path P If cost(P) < value(P) then H ← H∪P The Path-Buying Algorithm 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’) The Path-Buying Algorithm 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 Sublinear Additive Spanners Sublinear Additive Error Stretch Function (d=distance) d + O( d ) ThorupZwick’06 d + O(d 11/ k Spanner Size 4 /3 ) n 1 1+ k+1 n Sublinear Additive Error Stretch Function (d=distance) d + O( d ) ThorupZwick’06 Pettie’09 Chechik’12 d + O(d 11/ k 4 /3 ) d + O( d ) 11/ k d + O(d ) d + O( d) Spanner Size n 1 1+ k+1 n n 6/5 3 / 4 )k2 ( 1+ 72 (3 / 4 )k2 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 from v with radius 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. 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. 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? Õ(ne2)-size spectral sparsifiers using spanners as a “black box.” – (Kapralov-Panigrahy’12): Build The End