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

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

Embed Size (px)

Citation preview

Everything you always wanted to know about spanners*

*But were afraid to ask

Seth PettieUniversity 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 subgraph H = (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

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

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, 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

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 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.)

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 ?

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

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)

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

Additive Spanners: Lower Bounds

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)

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)

Lower Bounds on Additive SpannersWoodruff’06

Additive Spanners: Upper Bounds

(edges not shown)

Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09

• Sample n2/3 cluster centers uniformly at random.

Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09

• Sample n2/3 cluster centers uniformly at random.

• Every vertex includes 1 edge to an adjacent center.

Additive 6-SpannersBaswana, Kavitha, Mehlhorn, Pettie’09

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.

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

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)

• 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

Pairwise Spanners: Upper Bounds

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,

Pairwise Distance PreserversCoppersmith, Elkin’06

branch points for (red,blue)

branch pointfor (green,blue) and (green,red)

Pairwise Distance PreserversCoppersmith, Elkin’06

Pairwise Distance PreserversCoppersmith, Elkin’06

Sublinear Additive Spanners

Sublinear Additive Error

Stretch Function (d=distance)

Spanner Size

Thorup-Zwick’06

d +O( d )

d + O(d1−1/ k )

n4 / 3

n1+ 1

k+1

Sublinear Additive Error

Stretch 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+ 1

k+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 )

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 )

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 all

other vertices.

d +O( d )

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 )

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.

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 -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 )

The End