Additive Spanners for k -Chordal Graphs

Post on 31-Dec-2015

46 views 0 download

Tags:

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 Presentation

transcript

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