27
algorithm for checking a graph for 3-edge- connectivity Feng Sun Advisor: Dr. Robert W. Robinson Committee: Dr. E. Rodney Can field Dr. Eile en T. Kraemer 2003. 2

A new linear algorithm for checking a graph for 3-edge-connectivity

  • Upload
    devika

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

A new linear algorithm for checking a graph for 3-edge-connectivity. Feng Sun. Advisor: Dr. Robert W. Robinson Committee: Dr. E. Rodney Canfield Dr. Eileen T. Kraemer. 2003.2. Outline. Overview Concepts and definitions Analysis of separation pairs - PowerPoint PPT Presentation

Citation preview

Page 1: A new linear algorithm for checking a graph for 3-edge-connectivity

A new linear algorithm for checking a graph for

3-edge-connectivity

Feng Sun

Advisor: Dr. Robert W. RobinsonCommittee: Dr. E. Rodney Canfield Dr. Eileen T. Kraemer

2003.2

Page 2: A new linear algorithm for checking a graph for 3-edge-connectivity

Outline

Overview Concepts and definitions Analysis of separation pairs Test results

Page 3: A new linear algorithm for checking a graph for 3-edge-connectivity

Graph Connectivity

Applications Network reliability Planar graph

Vertex Connectivity (κ) Edge Connectivity (λ) Our algorithm

Check whether a graph is 3-edge-connected in O(m+n) time

Based on Depth-first search Modified from the algorithm of Hopcroft and Tarjan t

o divide a graph into 3-vertex-connected components

Page 4: A new linear algorithm for checking a graph for 3-edge-connectivity

An example of a 3-edge-connnected graph

Page 5: A new linear algorithm for checking a graph for 3-edge-connectivity

Concepts

Graph An ordered pair of disjoint sets (V, E), where V is the vertex set and E

is the edge set. E is a subset of the set V(2) of unordered pairs from V. The order of a graph is |V| and the size of a graph is |E|. A graph is labeled if the integers from 1 through n are assigned to its

vertices. An unlabeled graph is an isomorphism class of labeled graphs.

Tree Acyclic connected graph A subgraph which contains all the vertices of a graph is the spanning

tree of the graph Edge separator

A minimal edge set S such that removal of S from a graph G disconnect G.

A graph is k-edge-connected if every edge-separator has at least k edges.

The edge connectivity of a graph G of order n ≥ 2 is the minimum cardinality of an edge-separator.

Page 6: A new linear algorithm for checking a graph for 3-edge-connectivity

Concepts (cont.) Palm tree

Let P be a directed graph consisting of two disjoint sets of edges denoted by v→w and v --→w. P is a palm tree if P satisfies the following properties: The subgraph T containing the edges v→w is a spanning tree

of P. If v --→w, then w*→v. That is, each edge not in the spanning

tree of P connects a vertex with one of its ancestors in T. The edges v --→w are called the fronds of P.

4

21

3

Page 7: A new linear algorithm for checking a graph for 3-edge-connectivity

Depth-first Search

ALGORITHM DFS(G) 1 FOR each vertex v in V(G) 2 NUMBER(v) = FATHER(v) = 0; 3 time = 0; 4 DFS-VISIT(root); END ALGORITHM

PROCEDURE DFS-VISIT(v) 1 NUMBER(v) = time = time + 1 2 FOR w in the adjacency list of v DO 3 { 4 IF NUMBER(w) == 0 THEN 5 { 6 mark vw as a tree edge in P; 7 FATHER(w) = v; 8 DFS-VISIT(w); 9 } 10 ELSE IF NUMBER(w) < NUMBER(v) and w != FATHER(v) THEN 11 mark vw as a frond in P; 12 }

Page 8: A new linear algorithm for checking a graph for 3-edge-connectivity

Identifying separation pairs

Three cases if a graph G is not 3-edge-connected Not connected Connected but not 2-

edge-connected 2-edge-connected but

not 3-edge-connected Separation pair

Page 9: A new linear algorithm for checking a graph for 3-edge-connectivity

Two types of separation pairs in a palm tree Type 1: One tree edge, one frond Type 2: Two tree edges

G1

a

u

v

x

(a) Type 1 (b) Type 2

v

d

tw

G1

Page 10: A new linear algorithm for checking a graph for 3-edge-connectivity

Important values for identifying type 1 pair

Page 11: A new linear algorithm for checking a graph for 3-edge-connectivity

An Expanded DFS

PROCEDURE FIRSTDFS-VISIT(v) 1 NUMBER(v) = time = time + 1; 2 LOWPT1(v) = LOWPT2(v) = NUMBER(v); 3 ND(v) = 1; 4 FOR w in the adjacency list of v DO 5 { 6 IF NUMBER(w) == 0 THEN 7 { 8 mark vw as a tree edge in P; 9 FATHER(w) = v; 10 FIRSTDFS-VISIT(w); 10.1 IF ( LOWPT1(w) < v and LOWPT2(w) >= w ) THEN 10.2 detect a type 1 separation pair, procedure stop; 11 IF LOWPT1(w) < LOWPT1(v) THEN 12 { 13 LOWPT2(v) = MIN{LOWPT1(v), LOWPT2(w)}; 14 LOWPT1(v) = LOWPT1(w); 15 } 16 ELSE IF LOWPT1(w) == LOWPT1(v) THEN 17 LOWPT2(v) = LOWPT1(w); 18 ELSE 19 LOWPT2(v) = MIN{LOWPT2(v), LOWPT1(w)}; 20 ND(v) = ND(v) + ND(w); 21 } 22 ELSE IF NUMBER(w) < NUMBER(v) and w != FATHER(v) THEN 23 { 24 mark vw as a frond in P; 25 IF NUMBER(w) < LOWPT1(v) THEN 26 { 27 LOWPT2(v) = LOWPT1(v); 28 LOWPT1(v) = NUMBER(w); 29 } 30 ELSE IF NUMBER(w) == LOWPT1(v) THEN 31 LOWPT2(v) = NUMBER(w); 32 ELSE 33 LOWPT2(v) = MIN{LOWPT2(v), NUMBER(w)}; 34 } 35 }

Page 12: A new linear algorithm for checking a graph for 3-edge-connectivity

Identify type 1 separation pair

a

u

w

LOWPT1(w)

LOWPT2(w) ≥ w x

Page 13: A new linear algorithm for checking a graph for 3-edge-connectivity

Preparation steps for type 2 pair

Page 14: A new linear algorithm for checking a graph for 3-edge-connectivity

Preparation Steps for type 2 pair (cont.)

E(5)

(i) Before

(ii) After

D(4)

A(1)

B(2)

C(3) H(8)

F(6)

G(7)

D(5)

A(1)

B(2)

E(4)

F(6)

C(3)H(8)

G(7)

Decrease

Decrease

Page 15: A new linear algorithm for checking a graph for 3-edge-connectivity

Properties of the palm tree

Page 16: A new linear algorithm for checking a graph for 3-edge-connectivity

Identify type 2 separation pair

2

u

a

3

vb

1

x1

y1

y2

x2

Page 17: A new linear algorithm for checking a graph for 3-edge-connectivity

Step to identify type 2 pair

Page 18: A new linear algorithm for checking a graph for 3-edge-connectivity

The DFS to identify type 2 pairPROCEDURE PATHSEARCH-DFS(v) (input: vertex v is the current vertex in the depth-first search) 1 FOR w IN A(v) DO 2 { 3 IF vw is a tree edge THEN 4 { 5 IF vw is a first edge of a path THEN 6 { 7 IF LOWPT1(w) < LOWEST(v) and w is not A1(v) THEN 8 LOWEST(v) = LOWPT1(w); 9 add end-of-stack marker to PStack; 10 } 11 returnVal = PATHSEARCH-DFS(w); 12 IF returnVal == 0 THEN 13 return 0; 14 } 15 ELSE // vw is a frond 16 IF NUMBER(w) < LOWEST(v) THEN 17 LOWEST(v) = NUMBER(w); 18 } 19 WHILE (a, b) on PStack satisfies a <= NUMBER(v) < b and LOWEST(v) < a 20 remove (a, b) from PStack; 21 IF no pair deleted from PStack THEN 22 add ( LOWEST(v), A1(v) ) to PStack; 23 IF (a, b) is the last pair deleted from PStack THEN 24 add ( LOWEST(v), b ) to PStack; 25 WHILE (a, b) on PStack satisfies a <= NUMBER(v) < b and HIGHPT(v) >= b 26 remove (a, b) from PStack; 27 WHILE (a, b) on PStack satisfies a = v 28 { 29 IF ( b <= a or a == 0 ) THEN 30 delete (a, b) from PStack; 31 ELSE //we find type 2 pair {(FATHER(a), a), (FATHER(b), b)} 32 return 0; 33 } 34 IF ( FATHER(v), v) is a first edge of a path THEN 35 delete all entries on PStack down to and including end-of-stack marker; 36 return 1;

Page 19: A new linear algorithm for checking a graph for 3-edge-connectivity

Cases for lines 20 and 26

a

v

w

x

b

LOWEST(v)

parent(LOWEST(v)) a’

If LOWEST(v) < a, (parent(LOWPT1(w)), LOWPT1(w)) and (parent(b), b) become the new potential separation pair. We use (b, lowest(v) ) to substitute (b, a) in the PStack.

a

v

wb

highpt(v)

If hightpt(v) >= b, (a, b) will be deleted from PStack.

Page 20: A new linear algorithm for checking a graph for 3-edge-connectivity

Implementation and Test Results

General graph Check graphs generated by Nauty

Numbers of labeled and unlabeled 3-edge-connected graphs up to order 11. Numbers of labeled and unlabeled 3-edge-connected blocks up to order 11. The above numbers for labeled graphs and for unlabeled 3-edge-connected

blocks were provided by S. K. Pootheri. Compare with Z. Chen’s algorithm for higher order random graphs

Feynman diagrams Compare with Qun Wang’s quadratic algorithm

5

4

0 2

31

Page 21: A new linear algorithm for checking a graph for 3-edge-connectivity

Numbers of unlabeled and labeled 3-edge-connected graphs by order n

Page 22: A new linear algorithm for checking a graph for 3-edge-connectivity

Numbers of unlabeled 3-edge-connected graphs by order n and size m

Page 23: A new linear algorithm for checking a graph for 3-edge-connectivity

Average testing times and scaled times for two algorithms on random graphs

• For each 100 random graphs were generated and about half of them are 3-edge-connected

•The scaled time is the actual testing time divided by m+n

Page 24: A new linear algorithm for checking a graph for 3-edge-connectivity

Comparison of running times and scaled times for 3-edge-connectivity

0

1

2

3

4

5

6

7

8

0 200 400 600 800 1000

Order of graphs

Te

sti

ng

tim

es

an

d s

ca

led

tim

es

(in

ms

ec

)

Testing time by Chen Testing time by Sun

Scaled time by Chen Scaled time by Sun

Page 25: A new linear algorithm for checking a graph for 3-edge-connectivity

Comparison of running times for our linear algorithm and a quadratic algorithm on Feynman diagrams

Use a simplified algorithm for Feynman diagram Feynman diagrams were generated by a program wrote by Dr. Robinson Q. Wang developed three algorithm for testing 3-edge-connectivity of a Feynman diagram. The quadratic

algorithm is the best for order less than 12

Page 26: A new linear algorithm for checking a graph for 3-edge-connectivity

Conclusions and future work

A new linear algorithm for determining whether a graph is 3-edge-connected is presented.

A variation of the algorithm was developed specifically for testing Feynman diagrams.

Tests showed that the implementations are correct and also faster than the available alternatives.

A promising future direction is to extend our algorithm to deal with fully dynamic 3-edge-connectivity problem.

Page 27: A new linear algorithm for checking a graph for 3-edge-connectivity

Acknowledgements

Dr. Robert W. Robinson Dr. E. Rodney Canfield Dr. Eileen T. Kraemer Dr. David K. Lowenthal Other professors, staffs and students in our d

epartment