Graph spanners : static, dynamic and fault tolerant - PowerPoint PPT Presentation

1 / 94
About This Presentation
Title:

Graph spanners : static, dynamic and fault tolerant

Description:

Given a graph G=(V,E), a spanner is a sub-graph G=(V,Es) which has the following ... Girth Conjecture [Erd s[1960], Bondy & Simonovits [1974], Bollobas [1978] ... – PowerPoint PPT presentation

Number of Views:251
Avg rating:3.0/5.0
Slides: 95
Provided by: sba115
Category:

less

Transcript and Presenter's Notes

Title: Graph spanners : static, dynamic and fault tolerant


1
Graph spanners static, dynamic and fault
tolerant
  • Surender Baswana
  • Department of CSE
  • IIT Kanpur

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
  • The sparsest spanner of a weighted graph with
    stretch t.

17
Organization of the talk
  • Optimal size of a t-spanner
  • Spanners
  • Static Spanner
  • Dynamic spanners
  • Fault Tolerant Spanners
  • A simple and linear time algorithm for static
    spanner (how problem itself guides to its
    solution)
  • A simple algorithm for fault-tolerant spanner

18
Optimal size of a t-spanner
19
Optimal size of a t-spanner
v
u
20
Optimal size of a t-spanner
v
u
21
Optimal size of a t-spanner
v
u
???
Length of Smallest cycle t
22
Optimal size of a t-spanner
v
u
stretch t-1
Length of Smallest cycle t
23
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 ?
24
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
25
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

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

4- spanner and 3-spanner O(n3/2) 6-spanner and
5-spanner O(n5/4) 8-spanner and 7-spanner
O(n7/6)
27
Static spanners
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
Dynamic spanners
30
A dynamic spanner
  • an initial graph G(V,E) followed by an online
    sequence of updates
  • i,i,d,i,d,i,i,d,d,i,i,d, ....

Deletion of an edge
Insertion of an edge
31
A dynamic spanner
  • an initial graph G(V,E) followed by an online
    sequence of updates
  • i,i,d,i,d,i,i,d,d,i,i,d, ....
  • Aim
  • To maintain a t-spanner in online manner
    efficiently

Deletion of an edge
Insertion of an edge
32
Dynamic algorithms for graph spanners
33
Fault Tolerant spanners
34
Why do we need a fault tolerant spanner ?
  • For networks where
  • Failures occur rarely
  • There is simultaneous repair going on
  • At any time, there are at most f edges which may
    be dead.

35
What is a fault tolerant spanner ?
  • A subgraph Es is called f-fault tolerant spanner
    if for any set F
  • of f edges from E,
  • Es -F is a (2k-1)-spanner
    of E-F

36
Results on size of fault tolerant spanners
37
A simple and linear time algorithm for static
spanner
38
Earlier algorithms for graph spanners
39
Can we compute a (2k-1)-spanner in O(m) time ?
Question
40
Local approach
  • Let G(V,ES) be a spanner of G(V,E)

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

Edge in Spanner
Edge not in Spanner
42
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

43
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

44
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

45
External memory algorithms for (2k-1)-spanner
  • Time complexity Integer sorting

46
Distributed Algorithms for (2k-1)-spanner
  • Number of Rounds O(k) ,
  • Communication complexity O(km) (linear)

47
Streaming Algorithm for (2k-1)-spanner
  • For Unweighted graphs
  • Number of passes 1
  • Processing time per edge O(1)

48
Algorithm for 3-spanner
49
Aims
  • Given a graph G(V,E)
  • The number of edges O(n3/2 )
  • Stretch 3
  • Computation time O(m)

50
Algorithm for 3-spannerEasy case fewer than n½
edges
51
Algorithm for 3-spannerDifficult case much
more than n½ edges
52
Algorithm for 3-spannerDifficult case much
more than n½ edges
Which n½ edges to select ?
53
Algorithm for 3-spanner
Initially all edges are Red
  • Phase 1 Clustering
  • Phase 2 Adding edges between vertices and
    clusters

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

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

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

57
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

58
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
59
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
60
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
61
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
62
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
63
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
64
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
65
Algorithm for 3-spannerPhase 1 Clustering
  • G(V,E) G(V1,E1)

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

Remaining Red edges
Red edges
v
o
67
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
68
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
69
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
70
Algorithm for 3-spannerDifficult case much
more than n½ edges
Which n½ edges to select ?
71
Algorithm for 3-spannerDifficult case much
more than n½ edges
v
72
Algorithm for 3-spannerPhase 2 adding edges
between vertices and clusters
v
73
Analysis of the algorithm
  • Size of the spanner
  • Edges added during Phase 1 Edges added during
    Phase 2
  • Correctness ??

74
Analysis of the algorithm
  • Size of the spanner
  • Edges added during Phase 1 Edges added during
    Phase 2
  • Correctness ??

How many coin tosses to get a HEAD
75
Analysis of the algorithm
  • Size of the spanner
  • Edges added during Phase 1 Edges added during
    Phase 2
  • n/p
  • Correctness ??

76
Analysis of the algorithm
  • Size of the spanner
  • Edges added during Phase 1 Edges added during
    Phase 2
  • n/p n2p
  • Correctness ??

77
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 ??

78
Spanner has stretch 3Property P3 holds
x
y
79
Spanner has stretch 3Property P3 holds
x
y
Both x and y are clustered
80
Spanner has stretch 3Property P3 holds
x
y
y
x
81
Spanner has stretch 3Property P3 holds
x
y
y
x
Observation I
82
Spanner has stretch 3Property P3 holds
x
y
o
y
x
y
x
83
Spanner has stretch 3Property P3 holds
x
y
z
a
o
y
x
ß
y
x
84
Spanner has stretch 3Property P3 holds
x
y
z
a
o
y
x
ß
y
x
Observation I
85
Algorithm for (2k-1)-spanner
86
Algorithm for (2k-1)-spanner
Vertices
Clusters
n1/k
n1-1/k
n
87
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
88
Algorithm for fault tolerant spanner
89
Algorithm for f-edge fault tolerant spanners
  • Given graph (V,E)
  • Es F
  • For i1 to f1 do
  • Ei spanner(E-Es ,2k-1)
  • Es Es U Ei
  • return Es

90
Algorithm for f-edge fault tolerant spanners
  • Given graph G(V,E)
  • Es F
  • For i1 to f1 do
  • Ei spanner(E-Es ,2k-1)
  • Es Es U Ei
  • return Es
  • Observation Ei and Ej are edge disjoint for
    iltgtj.

91
Algorithm for f-edge fault tolerant spanners
  • Let F be any set of f edges.
  • Let (u,v) ? E-F
  • Aim
  • There has to be a path of length at most 2k-1
    between u and v in E-Es

92
Algorithm for f-edge fault tolerant spanners
  • Let F be any set of i edges.
  • Let (u,v) ? E-F
  • Aim
  • There is a path of length 2k-1 between u and v in
    E-Es
  • (follows from observation)

93
Summary
  • Simple and efficient algorithms exist for graph
    spanners
  • Static spanners
  • Dynamic spanners
  • Fault tolerant spanners
  • Open problems (exist for additive spanners)

94
Thank you
Write a Comment
User Comments (0)
About PowerShow.com