Download presentation
Presentation is loading. Please wait.
Published byMadison Harrington Modified over 9 years ago
1
A randomized linear time algorithm for graph spanners Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science Saarbruecken, Germany
2
Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties
3
Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse
4
Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse 2. preserves approximate distances pair-wise.
5
Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse 2. preserves approximate distances pair-wise. δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v) for some constant t ≥ 1
6
Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse 2. preserves approximate distances pair-wise. δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v) for some constant t ≥ 1 t : stretch of the spanner
7
Communication network : Motivation for spanners
8
Each edge has cost weight (length)
9
Communication network : Motivation for spanners Minimizing the total cost :sparseness is desirable
10
Communication network : Motivation for spanners Minimizing the total cost :sparseness is desirable u v
11
Communication network : Motivation for spanners Minimizing the pair-wise distances : small stretch is desirable
12
Communication network : Motivation for spanners Minimizing the pair-wise distances : small stretch is desirable
13
Graph spanners A trade off between sparseness and stretch
14
Graph spanners A trade off between sparseness and stretch Sparse δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v)
15
Graph spanners A trade off between sparseness and stretch Sparse δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v) t-Spanner
16
Aim : To compute the sparsest spanner of a weighted graph with stretch t.
17
Applications of Graph Spanner Distributed Computing Design of Synchronizers Compact routing tables Computational Biology Reconstruction of Phylogenetic trees All-pairs Approximate Shortest Paths
18
Organization of the talk Optimal size of a t-spanner Earlier algorithms A algorithm
19
Optimal size of a t-spanner
20
u v
21
u v
22
u v ???Length of Smallest cycle= t
23
Optimal size of a t-spanner u v stretch ≥ t-1Length of Smallest cycle= t
24
Optimal size of a t-spanner u v stretch ≥ t-1Length of Smallest cycle= t How dense can a graph with shortest cycle length ≥ t be ?
25
Optimal size of a t-spanner u v stretch ≥ t-1 Girth Conjecture [ Erdös[1960], Bondy & Simonovits [1974], Bollobas [1978] ] There are graph with shortest cycle length > 2k and Ω(n 1+1/k ) edges Length of Smallest cycle= t
26
Optimal size of a t-spanner Let k be any positive integer There are graphs whose (2k-1)-spanner (a 2k-spanner) must have Ω(n 1+1/k ) edges
27
Optimal size of a t-spanner Let k be any positive integer There are graphs whose (2k-1)-spanner (a 2k-spanner) must have Ω(n 1+1/k ) edges 4- spanner and 3-spanner : Ω(n 3/2 ) 6-spanner and 5-spanner : Ω(n 5/4 ) 8-spanner and 7-spanner : Ω(n 7/6 )
28
Aim of an Algorithmist A To design an algorithm A such that A G=(V, E) G=(V, E s ) |E S | = O (minimum (m, n 1+1/k )) Input Graph (2k-1)-Spanner
29
Earlier algorithms for (2k-1)-spanner
30
Earlier algorithms for graph spanners Althofer, Das, Dobkin,Joseph, Soares DCG 19932k-1 O(mn 1+1/k )O(n 1+1/k ) Cohen SIAM J. Computing 1998 (2k-1)(1+ε) O(mn 1/k )O(n 1+1/k ) Thorup, Zwick JACM 20052k-1 O(mn 1/k ) (randomized) O(n 1+1/k ) StretchConstruction Time Size
31
Althofer, Das, Dobkin,Joseph, Soares DCG 19932k-1 O(mn 1+1/k )O(n 1+1/k ) Cohen SIAM J. Computing 1998 (2k-1)(1+ε) O(mn 1/k )O(n 1+1/k ) Thorup, Zwick JACM 20052k-1 O(mn 1/k ) (randomized) O(n 1+1/k ) StretchConstruction Time Size Can we Compute (2k-1)-spanners in linear time ?
32
Computing a (2k-1)-spanner in expected O(m) time A algorithm Computing a (2k-1)-spanner in expected O(m) time
33
Local approach Let G=(V,E S ) be a spanner of G=(V,E) Edge in Spanner Edge not in Spanner
34
Local approach Let G=(V,E S ) be a spanner of G=(V,E) Edge in Spanner Edge not in Spanner
35
Local approach Let G=(V,E S ) be a spanner of G=(V,E) 2 1t-1 ≤w≤w ≤w≤w ≤w≤w ≤w≤w w P t : For each edge not in the spanner, there is a path in the spanner connecting its endpoints with at-most t edges none heavier than the edge Edge not in Spanner Edge in Spanner
36
Local approach Let G=(V,E S ) be a spanner of G=(V,E) uv 2 1t-1 ≤w≤w ≤w≤w ≤w≤w ≤w≤w w P t : For each edge not in the spanner, there is a path in the spanner connecting its endpoints with at-most t edges none heavier than the edge Edge not in Spanner Edge in Spanner
37
Local approach Let G=(V,E S ) be a spanner of G=(V,E) uv 2 1t-1 ≤w≤w ≤w≤w ≤w≤w ≤w≤w w P t : For each edge not in the spanner, there is a path in the spanner connecting its endpoints with at-most t edges none heavier than the edge Edge not in Spanner Edge in Spanner t-spanner
38
New Algorithms for (2k-1)-spanner An External-memory algorithm for (2k-1)-spanner Time complexity : Integer sorting
39
New Algorithms for (2k-1)-spanner A distributed algorithm for (2k-1)-spanner : Number of Rounds : O(1), Communication complexity : O(m) (linear)
40
New Algorithms for (2k-1)-spanner A streaming algorithm for (2k-1)-spanner Number of passes : O(1) Processing time per edge : O(1)
41
Algorithm for 3-spanner
42
Algorithm for 3-spanner Easy case : fewer than edges Algorithm for 3-spanner Easy case : fewer than n ½ edges
43
Algorithm for 3-spanner Difficult case : much more than edges Algorithm for 3-spanner Difficult case : much more than n ½ edges
44
Which n ½ edges to select ?
45
Algorithm for 3-spanner Phase 1 : Clustering Phase 2 : Adding edges between vertices and clusters Initially all edges are Red
46
Algorithm for 3-spanner Phase 1 : Clustering Phase 2 : Adding edges between vertices and clusters center Initially all edges are Red
47
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p.
48
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows
49
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex
50
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. v S V \S
51
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. v S V \S
52
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex S V \S
53
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights v x S V \S
54
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights v x S V \S
55
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights v x S V \S
56
Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights x v S V \S
57
Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Phase 1 Spanner (partial) Remaining Red edges
58
Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered vo Phase 1 Spanner (partial) Remaining Red edges
59
Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered Every red edge (w-v) Є E 1 is...... vo Phase 1 Spanner (partial) Remaining Red edges
60
Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered Every red edge (w-v) Є E 1 is at-least as heavy as (v-o) vo Phase 1 Spanner (partial) Remaining Red edges
61
Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered Every red edge (w-v) Є E 1 is at-least as heavy as (v-o) vo Phase 1 Spanner (partial) Observation I Red edgesRemaining Red edges
62
Algorithm for 3-spanner Difficult case : much more than edges Algorithm for 3-spanner Difficult case : much more than n ½ edges Which n ½ edges to select ?
63
Algorithm for 3-spanner Difficult case : much more than edges Algorithm for 3-spanner Difficult case : much more than n ½ edges v
64
Algorithm for 3-spanner Phase 2 : adding edges between vertices and clusters v
65
Analysis of the algorithm Size of the spanner Edges added during Phase 1 + Edges added during Phase 2 n/p + n 2 p = n 3/2, for p = 1/√n Correctness ??
66
Spanner has stretch 3 Property holds Spanner has stretch 3 Property P 3 holds xy
67
xy Both x and y are clustered
68
Spanner has stretch 3 Property holds Spanner has stretch 3 Property P 3 holds xy yx
69
xy yx Observation I
70
Spanner has stretch 3 Property holds Spanner has stretch 3 Property P 3 holds xy yx yx o
71
xy yx yx o ß α z
72
xy yx yx o ß α z Observation I
73
Algorithm for (2k-1)-spanner
74
n n 1-1/k n 1/k V0V0 V1V1 V k-1 #Vertices#Clusters
75
Algorithm for (2k-1)-spanner Invariant : At level i, we have graph G=(V i,E i ) Every vertex in V i is clustered For every edge e Є E i i edges e
76
An open problem Fully Dynamic algorithm for (2k-1)-spanner ?
77
Thank you
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.