Everything you always wanted to know about spanners * * But were afraid to ask

46
Everything you always wanted to know about spanners* *But were afraid to ask Seth Pettie University of Michigan, Ann Arbor

description

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. - PowerPoint PPT Presentation

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

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

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

Additive Spanners: Lower Bounds

Page 18: Everything you always wanted to know about spanners * * But were afraid to ask

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

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

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

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

e = e (contradiction)

Lower Bounds on Additive SpannersWoodruff’06

Page 23: Everything you always wanted to know about spanners * * But were afraid to ask

Additive Spanners: Upper Bounds

Page 24: Everything you always wanted to know about spanners * * But were afraid to ask

(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

• 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

• 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

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

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

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

• 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

Pairwise Spanners: Upper Bounds

Page 32: Everything you always wanted to know about spanners * * But were afraid to ask

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

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

Pairwise Distance PreserversCoppersmith, Elkin’06

Page 35: Everything you always wanted to know about spanners * * But were afraid to ask

Pairwise Distance PreserversCoppersmith, Elkin’06

Page 36: Everything you always wanted to know about spanners * * But were afraid to ask

Sublinear Additive Spanners

Page 37: Everything you always wanted to know about spanners * * But were afraid to ask

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

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

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

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

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

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

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

Graph Spanners vs. Geometric Spanners

Page 45: Everything you always wanted to know about spanners * * But were afraid to ask

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

The End