A randomized linear time algorithm for graph spanners PowerPoint PPT Presentation

presentation player overlay
1 / 77
About This Presentation
Transcript and Presenter's Notes

Title: A randomized linear time algorithm for graph spanners


1
A randomized linear time algorithm forgraph
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,Es) 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,Es) which has the following two crucial
    properties
  • sparse

4
Graph Spanners
  • Definition
  • Given a graph G(V,E), a spanner is a sub-graph
    G(V,Es) which has the following two crucial
    properties
  • sparse
  • preserves approximate distances pair-wise.

5
Graph Spanners
  • Definition
  • Given a graph G(V,E), a spanner is a sub-graph
    G(V,Es) which has the following two crucial
    properties
  • sparse
  • preserves approximate distances pair-wise.
  • d(u,v) ds(u,v) t d(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,Es) which has the following two crucial
    properties
  • sparse
  • preserves approximate distances pair-wise.
  • d(u,v) ds(u,v) t d(u,v) for some
    constant t 1

t stretch of the spanner
7
Communication network Motivation for spanners
8
Communication network Motivation for spanners
  • 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
  • d(u,v) ds(u,v) t d(u,v)

15
Graph spanners
  • A trade off between sparseness and stretch
  • Sparse
  • d(u,v) ds(u,v) t d(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

New
19
Optimal size of a t-spanner
20
Optimal size of a t-spanner
v
u
21
Optimal size of a t-spanner
v
u
22
Optimal size of a t-spanner
v
u
???
Length of Smallest cycle t
23
Optimal size of a t-spanner
v
u
stretch t-1
Length of Smallest cycle t
24
Optimal size of a t-spanner
v
u
stretch t-1
Length of Smallest cycle t
How dense can a graph with shortest cycle length
t be ?
25
Optimal size of a t-spanner
v
u
stretch t-1
Length of Smallest cycle t
Girth Conjecture Erdös1960, Bondy
Simonovits 1974, Bollobas 1978
There are graph with shortest cycle length gt 2k
and O(n11/k) edges
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 O(n11/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 O(n11/k) edges

4- spanner and 3-spanner O(n3/2) 6-spanner and
5-spanner O(n5/4) 8-spanner and 7-spanner
O(n7/6)
28
Aim of an Algorithmist
  • To design an algorithm A such that

A
G(V, Es)
G(V, E)
(2k-1)-Spanner
Input Graph
ES O (minimum (m , n11/k))
29
Earlier algorithms for (2k-1)-spanner
30
Earlier algorithms for graph spanners
31
Can we Compute (2k-1)-spanners in linear time ?
32
A algorithm Computing a (2k-1)-spanner
in expected O(m) time
New
33
Local approach
  • Let G(V,ES) be a spanner of G(V,E)

Edge in Spanner
Edge not in Spanner
34
Local approach
  • Let G(V,ES) be a spanner of G(V,E)

Edge in Spanner
Edge not in Spanner
35
Local approach
  • Let G(V,ES) be a spanner of G(V,E)

Edge in Spanner
2
Edge not in Spanner
w
w
1
t-1
w
w
w
  • Pt 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

36
Local approach
  • Let G(V,ES) be a spanner of G(V,E)

Edge in Spanner
2
Edge not in Spanner
w
w
1
t-1
w
w
w
u
v
  • Pt 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

37
Local approach
  • Let G(V,ES) be a spanner of G(V,E)

Edge in Spanner
2
Edge not in Spanner
w
w
1
t-1
t-spanner
w
w
w
u
v
  • Pt 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

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-spannerEasy case fewer than n½
edges
43
Algorithm for 3-spannerDifficult case much
more than n½ edges
44
Algorithm for 3-spannerDifficult case much
more than n½ edges
Which n½ edges to select ?
45
Algorithm for 3-spanner
Initially all edges are Red
  • Phase 1 Clustering
  • Phase 2 Adding edges between vertices and
    clusters

46
Algorithm for 3-spanner
Initially all edges are Red
  • Phase 1 Clustering
  • Phase 2 Adding edges between vertices and
    clusters

center
47
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p.

48
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p.
  • Process each v ? V \S as follows

49
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p.
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex

50
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p .
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex.

v
S
V \S
51
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p .
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex. add
    all its edges.

v
S
V \S
52
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p.
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex. add
    all its edges.
  • If v is adjacent to some sampled vertex

S
V \S
53
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p .
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex. add
    all its edges.
  • If v is adjacent to some sampled vertex.

v
S
V \S
x
weights
54
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p.
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex. add
    all its edges.
  • If v is adjacent to some sampled vertex.

v
S
V \S
x
weights
55
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex. add
    all its edges.
  • If v is adjacent to some sampled vertex.

v
S
V \S
x
weights
56
Algorithm for 3-spannerPhase 1 Clustering
  • S select each vertex independently with
    probability p
  • Process each v ? V \S as follows
  • If v is not adjacent to any sampled vertex. add
    all its edges.
  • If v is adjacent to some sampled vertex.

v
S
V \S
x
weights
57
Algorithm for 3-spannerPhase 1 Clustering
  • G(V,E) G(V1,E1)

Remaining Red edges
Red edges
58
Algorithm for 3-spannerPhase 1 Clustering
  • G(V,E) G(V1,E1)
  • Every v ? V1 is clustered

Remaining Red edges
Red edges
v
o
59
Algorithm for 3-spannerPhase 1 Clustering
  • G(V,E) G(V1,E1)
  • Every v ? V1 is clustered
  • Every red edge (w-v) ? E1 is ......

Remaining Red edges
Red edges
v
o
60
Algorithm for 3-spannerPhase 1 Clustering
  • G(V,E) G(V1,E1)
  • Every v ? V1 is clustered
  • Every red edge (w-v) ? E1 is at-least as heavy as
    (v-o)

Remaining Red edges
Red edges
v
o
61
Algorithm for 3-spannerPhase 1 Clustering
  • G(V,E) G(V1,E1)
  • Every v ? V1 is clustered
  • Every red edge (w-v) ? E1 is at-least as heavy as
    (v-o)

Red edges
Remaining Red edges
v
o
Observation I
62
Algorithm for 3-spannerDifficult case much
more than n½ edges
Which n½ edges to select ?
63
Algorithm for 3-spannerDifficult case much
more than n½ edges
v
64
Algorithm for 3-spannerPhase 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 n2p
  • n3/2 , for p 1/vn
  • Correctness ??

66
Spanner has stretch 3Property P3 holds
x
y
67
Spanner has stretch 3Property P3 holds
x
y
Both x and y are clustered
68
Spanner has stretch 3Property P3 holds
x
y
y
x
69
Spanner has stretch 3Property P3 holds
x
y
y
x
Observation I
70
Spanner has stretch 3Property P3 holds
x
y
o
y
x
y
x
71
Spanner has stretch 3Property P3 holds
x
y
z
a
o
y
x
ß
y
x
72
Spanner has stretch 3Property P3 holds
x
y
z
a
o
y
x
ß
y
x
Observation I
73
Algorithm for (2k-1)-spanner
74
Algorithm for (2k-1)-spanner
Vertices
Clusters
n1/k
n1-1/k
n
75
Algorithm for (2k-1)-spanner
  • Invariant At level i, we have graph G(Vi,Ei)
  • Every vertex in Vi is clustered
  • For every edge e ? Ei

e
76
An open problem
Fully Dynamic algorithm for (2k-1)-spanner ?
77
Thank you
Write a Comment
User Comments (0)
About PowerShow.com