additive spanners for k -chordal graphs
DESCRIPTION
Additive Spanners for k -Chordal Graphs. V. D. Chepoi, F.F. Dragan , C. Yan. University Aix-Marseille II, France Kent State University, Ohio, USA. Sparse t -Spanner Problem. Given unweighted undirected graph G=(V,E) and integers t, m. - PowerPoint PPT PresentationTRANSCRIPT
Additive Spanners for Additive Spanners for
kk-Chordal Graphs-Chordal Graphs
V. D. Chepoi, F.F. Dragan, C. Yan
University Aix-Marseille II, France
Kent State University, Ohio, USA
G multiplicative 2- and additive 1-spanner of G
Sparse t -Spanner Problem Given unweighted undirected graph G=(V,E) and integers t, m. Does G admit a spanning graph H =(V,E’) with |E’| m such that
),(),(,, uvdisttuvdistVvu GH
tvudistvudistVvu GH ),(),(,,
(a multiplicative t-spanner of G) or
(an additive t-spanner of G)?
G multiplicative 2- and additive 1-spanner of G
Sparse t -Spanner Problem Given unweighted undirected graph G=(V,E) and integers t, m. Does G admit a spanning graph H =(V,E’) with |E’| m such that
),(),(,, uvdisttuvdistVvu GH
tvudistvudistVvu GH ),(),(,,
(a multiplicative t-spanner of G) or
(an additive t-spanner of G)?
Applications
in distributed systems and communication networks– synchronizers in parallel systems
• Close relationship were established between the quality of spanners for a given undirected graph (in terms of the stretch factor t and the number of edges |E’|), and the time and communication complexities of any synchronizer for the network based on this graph
– topology for message routing• efficient routing schemes can use only the
edges of the spanner
G
2-spanner for G
Applications
in distributed systems and communication networks– synchronizers in parallel systems
• Close relationship were established between the quality of spanners for a given undirected graph (in terms of the stretch factor t and the number of edges |E’|), and the time and communication complexities of any synchronizer for the network based on this graph
– topology for message routing• efficient routing schemes can use only the
edges of the spanner
G
2-spanner for G
Some Known Results
• general graphs [Peleg&Schaffer’89]– given a graph G=(V, E) and two integers t, m1, whether G has a
t-spanner with m or fewer edges, is NP-complete
• chordal graphs [Peleg&Schaffer’89]
G is chordal if it has no chordless cycles of length >3– every n-vertex chordal graph G=(V, E) admits a 2-spanner with
O(n1.5) edges– there exist (infinitely many) n-vertex chordal graphs G=(V, E) for
which every 2-spanner requires (n1.5) edges– every n-vertex chordal graph G=(V, E) admits a 3-spanner with
O(n logn) edges– every n-vertex chordal graph G=(V, E) admits a 5-spanner with at
most 2n-2 edges
(multiplicative case)
Some Known Results
• general graphs [Peleg&Schaffer’89]– given a graph G=(V, E) and two integers t, m1, whether G has a
t-spanner with m or fewer edges, is NP-complete
• chordal graphs [Peleg&Schaffer’89]
G is chordal if it has no chordless cycles of length >3– every n-vertex chordal graph G=(V, E) admits a 3-spanner with
O(n logn) edges– every n-vertex chordal graph G=(V, E) admits a 5-spanner with at
most 2n-2 edges
• tree spanner [BDLL’2002] – given a chordal graph G=(V, E) and an integer t>3, whether G has
a t-spanner with n-1 edges (tree t-spanner), is NP-complete
(multiplicative case)
Some Known Results
• general graphs [Peleg&Schaffer’89]– given a graph G=(V, E) and two integers t, m1, whether G has a
t-spanner with m or fewer edges, is NP-complete
• chordal graphs [Peleg&Schaffer’89]
G is chordal if it has no chordless cycles of length >3– every n-vertex chordal graph G=(V, E) admits a 3-spanner with
O(n logn) edges– every n-vertex chordal graph G=(V, E) admits a 5-spanner with at
most 2n-2 edges 2-appr. algorithm for any t 5
• tree spanner [BDLL’2002] – given a chordal graph G=(V, E) and an integer t>3, whether G has
a t-spanner with n-1 edges (tree t-spanner), is NP-complete
(multiplicative case)
This Talk• From multiplicative to additive
– every chordal graph admits an additive 4-spanner with at most 2n-2 edges which can be constructed in linear time
– every chordal graph admits an additive 3-spanner with O(n logn) edges which can be constructed in polynomial time
• Extension to k-chordal graphs G is k-chordal if it has no chordless cycle of length >k– Every k-chordal graph admits an additive (k+1)-spanner with at
most 2n-2 edges which can be constructed in O(nk+m)
• Better bounds for subclasses of 4-chordal graphs – Every HH-free graph (or chordal bipartite graph) admits an
additive 4-spanner with at most 2n-2 edges which can be constructed in linear time
• Note that any additive t-spanner is a multiplicative (t+1)-spanner
Method:Constructing Additive 4-
Spanner• Given a chordal graph G=(V, E) and an arbitrary vertex u
u
BFS-Ordering and BFS-Tree up-phase
• We start from u and construct a BFS tree. The red edges are tree edges.
• First layer.
17 15
16
18 u
BFS-Ordering and BFS-Tree up-phase
• Second layer
1114
17 15
16
12
13
18 u
BFS-Ordering and BFS-Tree up-phase
• Third layer
5
11
78
14
17 15
16
12
13
18
6910
u
BFS-Ordering and BFS-Tree up-phase
• Fourth Layer
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
u
Constructing Spanner down-phase
• Start from the last layer. For vertices of each connected component in the layer create a star for the fathers.
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
u
connected components
Constructing Spanner down-phase
• Third Layer
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
u
connected components
Constructing Spanner down-phase
• Second layer
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
u
connected components
Final Spanner• The final spanner is showed in red
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
u
Final Spanner• The final spanner is showed in red
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
u
1 vs 3
4 vs 5
Analysis Of The Algorithm• Given a chordal graph G=(V, E), we produce a
spanning graph H=(V,E’) such that – H is an additive 4-spanner of G
– H contains at most 2n-2 edges
– H can be constructed in O(n+m) time
Analysis Of The Algorithm• Given a chordal graph G=(V, E), we produce a
spanning graph H=(V,E’) such that – H is an additive 4-spanner of G
– H contains at most 2n-2 edges
– H can be constructed in O(n+m) timex
y
u
Layer i
Layer i-1c
Constructing Additive 3-Spanner
• G is a chordal graph with n vertices and with a BFS ordering (started at u)– Take all the edges of the
additive 4-spanner– in each connected
component S induced by layer r, we run the algorithm presented in [Peleg&Schaffer’89], to construct a multiplicative 3-spanner for S
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
Constructing Additive 3-Spanner
• G is a chordal graph with n vertices and with a BFS ordering (started at u)– Take all the edges of the
additive 4-spanner– in each connected
component S induced by layer r, we run the algorithm presented in [Peleg&Schaffer’89], to construct a multiplicative 3-spanner for S
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
Analysis Of The Algorithm
• Given a chordal graph G=(V, E) with n vertices and m edges, we produce a spanning graph H=(V,E’) such that – H is an additive 3-spanner of G – H contains O(n logn) edges– H can be constructed in polynomial time
Method:Constructing Additive (k+1)-Spanner
u
Given a k-chordal graph G=(V, E) and an arbitrary vertex u
BFS-Ordering and BFS-Tree up-phase
• We start from u and construct a BFS tree. The red edges are tree edges.
5
1
4
8 97
3
6
10
2
u12
11
Constructing Spanner down-phase
• Start from the last layer. For vertices of each component,choose the smallest one. Then try to connect others to it or its ancestor.
5
1
4
8 97
3
6
10
2
u12
11
3
a component on layer 3
Constructing Spanner down-phase
• Start from the last layer. For vertices of each component,choose the smallest one. Then try to connect others to it or its ancestor.
edge used toconnect 3 and 5
5
1
4
8 97
3
6
10
2
u12
11
5
97
3
a component on layer 3
Constructing Spanner down-phase
5
1
4
8 97
3
6
10
2
u12
11
a component on layer 3
• Start from the last layer. For vertices of each component,choose the smallest one. Then try to connect others to it or its ancestor.
edge used toconnect 3 and 5
Final Spanner
• Final spanner is shown in red.
5
1
4
8 97
3
6
10
2
u12
11
Analysis Of The Algorithm
• G is k-chordal if it has no chordless cycles of length >k• The spanner constructed by the above algorithm has the
following properties– It is an additive (k+1)-spanner– It contains at most 2n-2 edges– It can be constructed in O(k·n+m) time
Open questions and future directions
• Can these ideas be applied to other graph families to obtain good sparse additive spanners?
• Can one get a constant approximation for the additive 3-spanner problem on chordal graphs?– so far,
• only a log-approximation for t=3
• 2-approximation for t>3
• What about t=2 (additive)? – so far, (from Peleg&Schaffer’89)
• a log-approximation for multiplicative 3-spanner
• for t=1, the lower bound is (n1.5) edges (as multiplicative 2-spanner)
Thank You
Layering
• Given a graph G=(V, E) and an arbitrary vertex uV, the
sphere of u is defined as
}),(:{)( rvudistVvuN Gr
• The ball of radius centered at u is defined as
}),(:{)( rvudistVvuB Gr
• A layering of G with respect to some vertex u is a partition of V into the spheres
r
thr
BFS Ordering
• G=(V, E) is a graph with n vertices • In Breadth-First-Search (BFS), started at vertex u, we
number the vertices from n to 1 as follows– u is numbered by n and is put on an initially empty queue– a vertex v is repeatedly removed from the head of the queue and
the neighbors of v which are still unnumbered are consequently numbered and placed onto the queue
– we call v the father of those vertices which are placed onto the queue when v is removed from the queue. We use f(v) to denote the father of v
• An ordering generated by BFS is called BFS-ordering
Layering and BFS-ordering, an example
• The vertices are numbered in BFS-ordering and the BFS tree is shown in red
10
7
3
6
9 8
1
5 4
2
Layer 0
Layer 1
Layer 2
Layer 3
Constructing Additive 4-Spanner
• Method of constructing spanner H=(V, E’)– let be arbitrary vertex of G and ,
we use Breadth-First-Search (BFS) rooted at to label all the vertices of G.
– start from the layer of , for each vertex we add into
– start from the layer and for each connected component induced by we find its projection on layer and make it star and put all the edges in the star into
}:),(max{ Vvvudq G
thq v)(vvf 'E
thq
u
u
)(uN rth)1( r
'E
u
Example• The following is an example. The think red lines consists the spanners for the chordal graph
5
11
78
14
17 15
16
12
13
18
4 3 2 1
6910
Definitions and Symbols for k-chordal graph
• G is k-chordal if it has no chordless cycles of length>k• Let u be an arbitrary vertex of G. We define a graph
with the lth sphere as a vertex set. Two vertices are adjacent in if and only if they can be connected by a path outside the ball . We use to denote all the connected component of
• Also we define
lQ
)(uN l yx,lQ
)(1 uBl lp
l
lQQ ,,1
lQ
}:),(max{ Vvvudq G
Constructing Spanners
• G is k-chordal if it has no chordless cycles of length>k• Method of constructing a spanner H=(V, E’)
1. for each vertex , we add into E’
2. for each connected component we identify a vertex such that is the minimum in BFS-ordering among all vertices in
3. check if then we add to
4. check if then we add to
5. If none of the above is true, we let and repeat 3 and 4
liQ
liQc
cliQ
v )(vvf
)(GEvc
)()( GEcvf
vc )(GE
)(cvf )(GE
)(),( cfcvfv