In SIAM J. Computing, 1993, pp. 587-616.

FINDING TRICONNECTED COMPONENTS BY LOCAL

1

REPLACEMENT

3;5 2;3

DONALD FUSSELL , VIJAYA RAMACHANDRAN AND RAMAKRISHNA

4;5

THURIMELLA

Abstract. We present a parallel algorithm for nding triconnected comp onents on a CRCW

PRAM. The time complexity of our algorithm is O log n and the pro cessor-time pro duct is O m +

n log log n where n is the number of vertices, and m is the numb er of edges of the input graph. Our

algorithm, like other parallel algorithms for this problem, is based on op en ear decomp osition but it

employs a new technique, lo cal replacement, to improve the complexity. Only the need to use the

subroutines for connected comp onents and integer sorting, for which no optimal parallel algorithm

that runs in O log n time is known, prevents our algorithm from achieving optimality.

1. Intro duction. A connected graph G = V; E  is k - connected if it has

at least k +1vertices and removal of anyk 1 vertices leaves the graph connected.

Designing ecient algorithms for determining the connectivity of graphs has b een a

sub ject of great interest in the last two decades. Applications of graph connectivity

to problems in computer science are numerous. Network reliability is one of them:

algorithms for edge and vertex connectivity can be used to check the robustness of

a network against link and no de failures resp ectively. In spite of all the attention

this sub ject has received, O m + n-time sequential algorithms for testing k -edge and

k -vertex connectivity of an n no de m vertex graph are known only for k < 3 [5],[12].

Recently, Gab ow has devised a very nice algorithm for edge connectivity. His algorithm,

unlike previous algorithms for connectivity, do es not app eal to Menger's theorem. It

2

runs in O km logn =m time [9]. The algorithms for vertex connectivity for 3

p

2 2

n currently require O k n  time [14], [2], [20].

The sub ject of this pap er is the parallel complexity of 3-vertex connectivity. The

imp ortance of 3-vertex connectivity stems from the fact that if a planar graph is 3-

vertex connected triconnected, then it has a unique emb edding on a sphere. Hence

an ecient algorithm that divides a graph into triconnected comp onents is sometimes

useful as a subroutine in problems like planarity testing and planar graph isomorphism.

We present in this pap er an algorithm, based on op en ear decomp osition, for di-

viding a biconnected graph into triconnected comp onents. The mo del of computation

1

A preliminary version of this pap er was presented at the 16th International Collo quium on Au-

tomata, Languages, and Programming.

2

This work was supp orted in part by Joint Services Electronics Program under Contract N00014-

85-C-0149 at the Co ordinated Science Lab oratory, University of Illinois, Urbana, IL 61801, and by

NSF Contract CCR 89-10707.

3

Department of Computer Sciences, UniversityofTexas at Austin, Austin, TX 78712.

4

This work was done while this author was with the UniversityofTexas at Austin. Presently with

Department of Mathematics and Computer Science, University of Denver, Denver, CO 80208.

5

Supp orted in part by the ONR under Contracts N00014-86-K-0763 and N00014-86-K-0597. 1

used in this pap er is a concurrent-read-concurrent-write PRAM where write con icts

are resolved arbitrarily the ARBITRARY CRCW PRAM mo del. See [15] for a dis-

cussion on the PRAM mo del. Our algorithm runs in O log n time p erforming at most

O m + n log log n work where m and n are the number of edges and the number of

vertices of the input graph resp ectively.

The rst optimal sequential triconnected comp onent algorithm based on depth-

rst search DFS was given by Hop croft and Tarjan in 1972 [11]. Several parallel

algorithms e.g. [13], [16] have b een develop ed since then for the triconnected com-

p onent problem using techniques other than DFS, since the question of nding a DFS

spanning tree eciently in parallel remains one of the ma jor op en problems in the area

of parallel algorithm design. The algorithms in [13], [16] use parallel matrix multiplica-

tion as a subroutine, hence their pro cessor complexity is far from optimal. Signi cant

progress has b een made in recent years: rst, Miller and Ramachandran [18] gave an

2

O log n parallel algorithm; later, Ramachandran and Vishkin [22] gave an algorithm

with O log n parallel time for the more restricted problem of nding separating pairs.

A drawback with b oth these algorithms is that the work p erformed by them in the

2

worst-case is O log n factor o the optimal. Indep endent of [18] and [22], Fussell and

Thurimella [7] came up with a parallel algorithm for nding separating pairs whose

time complexityisO log n while the work p erformed is only O log n factor o the op-

timal; detecting separating pairs forms the central part of any triconnected comp onent

algorithm.

The chief metho d employed by [18] and [22] can b e broadly classi ed as divide-and-

conquer. Additional complexity improvements are unlikely using this approach due to

the \end-no de sharing" problem: the diculty arising from two or more ears sharing

an end vertex. Anovel technique known as local replacement was intro duced in [7] as a

metho d for obtaining ecient parallel reductions.

Using the lo cal replacement technique and building on the algorithm in [7], we ob-

tain an algorithm for triconnected comp onents. A new linear-time sequential algorithm,

an alternative to the algorithm of Hop croft and Tarjan, for nding triconnected comp o-

nents can be easily extracted from our pap er. We remark that a di erent presentation

of the results of this pap er is available in [21].

2. Preliminaries . Let V G and E G stand, resp ectively, for the vertex set and

the edge set of a graph G. Assume jV Gj = n and jE Gj = m. We denote an edge

between x and y as x; y  or simply xy . A connected graph G is k -vertex connected

if jV Gj > k and at least k vertices must be removed to disconnect the graph. A

biconnectedgraph or a blockisa2-vertex connected graph. A pair of vertices fx; y g of

a biconnected graph is a separating pair if the number of comp onents of the subgraph

induced by V G fx; y g is more than one. An ear decomposition starting with a vertex

P of an undirected graph G is a partition of E G into an ordered collection of edge

0

disjoint simple paths P ;P ; :::; P such that P is a simple cycle starting and ending at

0 1 k 1 2

P , and for P ,1 i  k , each end p oint is contained in some P for some j

0 i j

internal vertex of P is contained in any P ;j

i j i 0

is called the root of the decomp osition and is referred to as r . If the two end vertices of

a path P do not coincide, then P is an open ear. In an open ear decomposition every

i i

ear P ,1

i

Theorem 2.1. [Whitney] [27] A graph has an open ear decomposition i it is

biconnected.

From the ab ove theorem, we can conclude that the subgraph induced by the vertices of

the ears of P ;P ; :::; P , for all i, 1  i  k , is biconnected.

1 2 i

An ear is a nontrivial ear if it consists of more than one edge; otherwise it is a

trivial ear. For an ear P , and twovertices x and y of P , P [x; y ] resp. P x; y  denotes

the segment of P that is between x and y , inclusive resp. exclusive of x and y . The

segments P x; y ] and P [x; y of P are de ned similarly. Avertex is internal to an ear if

it is not one of the end vertices of that ear. For twovertices v and w on P , P P [v; w]

refers to the segments of P formed by V P  V P [v; w].

As an ear decomp osition is a partition on the edge set of a graph, each edge v; w

b elongs to an unique ear denoted by ear vw. Notice that, except for the ro ot, each

v is internal to exactly one ear; call it ear v . Refer to Fig. 2 for an example of a

biconnected graph and an op en ear decomp osition for it. The following de nition lab els

each vertex v dep ending on the position of v on ear v .

Starting with an arbitrary end vertex p of P , de ne the p osition of p on P , posp; P ,

to be zero. For every vertex v of P , v 6= r , the p osition of v on P , posv; P  is

equal to the number of edges between p and v on P . When a vertex v is an internal

vertex of P , we omit the second argument and write simply posv . The value of

posx; P , for x 62 V P  is unde ned. Some example pos values for the graph of Fig.

2 are posg  = posg; 2 = 3, posd; 6 = 0, posr; 1 = 0, pos4;e = 4 and pos1;j

is unde ned. For a pair of vertices u; v of P , u is to the left resp. right of v if

posu; P  < posv; P  resp. posu; P  > posv; P . The vertex of P that has no

vertices of P to its left resp. right is called the left end point of P resp. right end

point of P .

For the sake of completeness, we include the de nition of bridges. Let G =V; E 

be a biconnected graph, and let Q be a subgraph of G. We de ne the bridges of Q

0

in G as follows see, e.g., [5], p. 148: Let V be the vertices in G Q, and consider

0

the partition of V into classes such that two vertices are in the same class if and only

if there is a path connecting them which do es not use any vertex of Q. Each such

class K de nes a nontrivial bridge B = V ;P  of Q, where B is the subgraph of G

B B

with V = K [fvertices of Q that are connected by an edge to a vertex in K g, and

B

P containing the edges of G incident on a vertex in K . The vertices of Q that are

B

connected by an edge to a vertex in K are called the attachments of B and these edges

are called the attachment edges of B . An edge u; v inG Q, with b oth u and v in Q, 3

is a trivial bridge of Q, with attachments u and v . The trivial and nontrivial bridges

together constitute the bridges of Q.

Remark : Throughout the pap er, we will only address how to detect pairs where r 62

fx; y g. The pairs in which one of the vertices is r can be detected as a sp ecial case by

nding the articulation p oints of the graph induced by V G fr g within the claimed

resource b ounds.

Lemma 2.2. If fx; y g is a separating pair of a graph G, then there exists a nontrivial

ear P in any open ear decomposition of G such that fx; y g is a pair of non-adjacent

vertices on P .

Proof. Let C be a connected comp onent induced by V G fx; y g such that

r 62 V C . Then, P is the minimum of fear v  j v 2 V C g.

Definition 1. An ear P is separated by fx; y g , if x and y are non-adjacent

vertices of P , and P x; y  is separated from the lower-numb ered ears in G fx; y g.

Notice that the number of ears separated by a pair of vertices fx; y g is one less

than the number of connected comp onents of G fx; y g. The lo cation of separating

pairs on an ear P can b e stated precisely in terms of the attachments of the bridges of

P .

Theorem 2.3. fx; y g is a separating pair that separates ear P i i there exists

a nontrivial ear P containing x and y as non-adjacent vertices, ii the bridge B of P

r

in G that contains r has no attachments on P x; y , and iii for al l other bridges B of

P in G, if B has an attachment on P x; y , then al l attachments of B are on P [x; y ].

Proof. = Let P be an ear separated by fx; y g. Assume, for contradiction, that

the forward implication is not true. From De nition 1, we know that x and y are not

adjacent on P . For P , either B has an attachment P x; y  or there is a B with one

r

attachmentonP x; y  and one on P P [x; y ]. In either case, there is a path from one

of the vertices of P x; y tor in G fx; y g which contradicts the assumption that P is

separated by fx; y g.

= There must b e at least one vertex v of P between x and y as they are not adjacent

on P . For all such v , there cannot be a path in G fx; y g from v to r as that would

imply a bridge of P in G with at least two attachments|one on P x; y  and the other

on P P [x; y ]. Therefore, the segment P x; y  is disconnected from the comp onents

containing lower-numb ered ears when x and y are deleted from G.

The theorem given ab ove assures that each ear P together with the bridges of P

are sucient for extracting separating pairs and that each ear with its bridges can be

considered in isolation. But if we were to consider each ear and all its bridges in their

entirety, the number of edges involved could be far more than O m. However, notice

that for an ear P , the information ab out its bridges that is of relevance in nding

separating pairs is contained only in those edges of the bridges which are incident on

P . We can succinctly enco de the information ab out separating pairs by building a

collection of simple graphs as shown in the following. 4

Definition 2. The collection H consists of simple graphs one for each nontrivial

ear of G. The graph H 2H for the ear P is as follows. Supp ose that x and y are the

P

end p oints of P and that posx < posy . Each H is such that V H =V P  [fr g

P P P

and E H  is as follows. i For each vertex v 2 V P , an edge v; r  is added, if

P P

the bridge of P that contains the ro ot r has an attachment at v . Otherwise, ii at

most two edges are added to E H  by considering the bridges p ossibly trivial of P

P

which have an attachment at v . Let a be the leftmost attachment of one such bridge

where a is further to the left than the leftmost attachment for any other bridge that

has an attachmentatv . The edge v; a is added, if a b elongs to P [x; v . Similarly,an

edge v; b is added where b the rightmost vertex that can b e reached from v through a

bridge of P . See Fig. 2.

An example of an ear P with its bridges and its corresp onding H is illustrated

P

in Fig. 2. Supp ose that v and w are on P with posv  < posw . From the de nition

of H , it follows that there is a bridge of P in G with one attachment on P v; w and

P

another on P P [v; w] i there is a bridge of P in H with one attachmentonP v; w

P

and another on P P [v; w]. Hence, by Theorem 2.3,

Corollary 2.4. fv; wg is separating pair that separates P i fv; wg is a separat-

ing pair in H .

P

3. An Algorithm for Separating Pairs. Lemma 2.2 tells us that, in our search

for separating pairs, we do not have to consider those vertex pairs for which there is no

single ear containing them. If we are further assured some how that every separating

pair b elongs to the internal vertices of some ear, then we can eciently reduce the

problem of nding separating pairs to that of nding biconnected comp onents. The

idea is to build a multigraph by collapsing the internal vertices of every nontrivial ear

to a single vertex. Observe that if fx; y g is a separating pair that is internal to P and

P x; y  contains a vertex of degree greater than two, then the vertex in the multigraph

that is obtained by shrinking the internal vertices of P is an articulation p oint. We

elab orate more on this reduction in Section 3.2. But b efore we pro ceed to this reduction,

we need to address a more serious diculty: For a separating pair fx; y g, there need not

be any ear in an op en ear decomp osition, for which x and y are internal. Section 3.1

shows how to circumvent this problem. In Section 3.2 we showhow to nd a collection

of graphs similar to H that succinctly enco de separating pairs. Finally, in Section 3.3

we address the extraction and the output representation of separating pairs.

3.1. Making Separating Pairs Internal to an Ear. In this subsection we show

0

how to build a graph G , the local replacement graph. This graph is such that for

every separating pair fx; y g that separates P in G, there is a corresp onding separating

0 0 0

pair fx ;y g and an ear P in G such that x and y are internal vertices of P .

P P P P

0

Furthermore, for every separating pair fx ;y g of G , fx; y g is a separating pair in G.

P Q

Roughly, the strategy is to divide the graph G into a set of paths by splitting at the end 5

vertices of the nontrivial ears of an op en ear decomp osition. This would result in making

several copies of a vertex, i.e. one copy for each nontrivial ear that contains it. Next,

we add new edges to connect up the di erent copies of a vertex. The main diculty

is in guring out an ecientway to connect the split vertices without jeopardizing the

primary goal of preserving the overall structure of separating pairs.

!

Definition 3. i De ne to b e a directed acyclic version of G which is obtained

G

by the following construction. Supp ose a; b is one of the end edges of P , and that

1

b; c is next to a; b on P . Then, give a direction to a; b. Orient the rest of P in

1 1

!

the opp osite direction. Now, is obtained by giving directions to the remaining ears

G

of G so that the resulting digraph is acyclic.

!

ii De ne to be directed spanning tree ro oted at a obtained by removing the last

T

!

edge in each directed ear, P , i>1, in , and deleting b; c in the case of P .

G

i 1



to be the directed spanning tree ro oted at b obtained as shown b elow. iii De ne

T

 ! 

Let be the graph resulting form reversing the directions of the edges of . Then,

G G T



is obtained by deleting the last edge of each ear P , i > 1, in , and deleting the end

G

i

edge of P other than a; b, in the case of P .

1 1

!

, for a given Fig. 3.1 illustrates the ab ove de nitions. One ecientway to obtain

G

G, is by st-numb ering the vertices of G where s; t is an edge of P with s = r , and

1

directing each edge of an ear from the lower-numb ered vertex to the higher-numb ered.

As each end p ointofevery nontrivial ear b elongs to a lower-numb ered ear, we have

Proposition 3.1. The ear numbers of the edges of the tree path from any vertex

!

decrease monotonical ly. v to the root r in

T

Definition 4. P refers to an ear P with fx; y g as the end p oints. If P is directed

xy

!

!

, then we denote it as P . from x to y in

G

xy

!

. The following useful lemma relates the attachments of a bridge and

G

!

Lemma 3.2. Let B be a bridge of P that contains no edge with an ear number

xy

less than P . Then, if B has an attachment edge z; y resp. x; z aty resp. x, then

! !

zy resp. xz  is directed from z to y resp. x to z  in , i.e. xz 62 E  .

G T

Proof. We will only prove the case when B has an attachmentaty . A similar pro of

can be derived when B has an attachment at x. Fig. 3.1 illustrates the statement of

the lemma. Let ear z =Q where the edges of Q b elong to E B . Supp ose the lemma

do es not hold, i.e. Q is directed such that the edge zy is directed from y to z . Trace a

!

path as shown in the following. Start from y and traverse until the last vertex of Q,

G

say w , is encountered. Supp ose ear w =S , for some S that b elongs to B . In an ear

decomp osition, as an end p oint of each ear b elongs to a lower-numb ered ear, we have

S

vertex of S is reached. This pro cess, when continued in this fashion, uses edges of B

with monotonically decreasing ear lab els. Therefore, we must eventually encounter a 6

vertex of P . From that vertex of P , we can reach y by going along the direction given

to P . In other words, if the lemma do es not hold, we can trace a cycle starting and

! !

ending at y in which contradicts the fact that is acyclic.

G G

Using these directed graphs, we show how to build the lo cal replacement graph in the

following.

0

Algorithm Build G

!

Input: A graph G, an op en ear decomp osition of G, and the and its

G

! 

asso ciated spanning trees , .

T T

0

Output: A graph G lo cal replacement graph in which each separating pair of G is

0

internal to some ear of G .

0

1. Construction of V G 

0

V G = fv j v 2 V P  for some nontrivial ear P g. Refer to v as a copy of

P P

v .

0

2. Construction of E G 

0

a Initialize E G tofu ;v  j u; v  2 E P g.

P P

!

b For every nontrivial ear P , add an edge as follows. If the least-common-

vw

!

is v , then let ancestor of v and w henceforth denoted as lcav; w in

T

!

. Q be the ear number of the rst tree edge in the path from v to w in

T

!

0

, then add v ;v  to Then, add v ;v  to E G . If lcau; w  6= v in

T

P Q P Q

0

E G  where Q is such that v is internal to Q.

! !  

c Rep eat Step 2b with and replaced by and , resp ectively.

T G T G

d For all trivial ears uv ,ifu and v are internal to ears P and Q, resp ectively,

0

then add u ;v  to E G .

P Q

Fig. 3.1 shows various stages of Step 2 on an example graph. The ab ove algorithm

do es not quite suce for our purp oses, i.e. it need not be the case that there is a

separating pair fx; y g in G that separates an ear P i fx ;y g is a separating pair in

P P

0

G . This happ ens if the input graph G contains two or more ears with the same end

p oints. Consider an example. Refer to the graph G of Fig. 3.1i and consider the

subgraph G fhg obtained by deleting h and edges incident on h. In G fhg, the

separating pair fb; dg separates the ear 2, but not 1. In the lo cal replacement graph

0

corresp onding to G fhg, i.e. in G fh ;b ;d g of Fig. 3.1, the pair fb ;d g is not

4 4 4 2 2

0

a separating pair. Before we give the nal step of Build G , we need the following

de nitions.

Definition 5. i An ear is a paral lel ear if there is another ear with the same

end p oints.

ii Consider the following partition on a set of parallel ears with fx; y g as the end p oints.

For each connected comp onent C of G fx; y g, denote the minimum of fear v  j v 2

V C g by P . Each such P is in a di erent partition. Additionally, if the end p oints of P

are x and y , then the partition containing P contains exactly no more or no less those 7

ears parallel to P whose internal vertices b elong to C . Remaining ears with fx; y g as

the end p oints, can b e put in other or additional partitions arbitrarily. Each partition

is called a bund le of parallel ears.

iii The ear with the smallest lab el of a bundle is called the representative for that

bundle.

In the example graph of Fig. 3.1, ears 2, 3 are in one bundle and 4 is in a bundle by

itself. Now, we describ e a metho d to handle parallel ears.

Algorithmically, partitioning a collection of ears into sets of parallel ears is easy,as

it is just grouping ears according to the end p oints. However, to further classify them

into bundles is nontrivial. In the following, we give an alternate de nition for a bundle

of parallel ears that is equivalent to De nition 5ii.

Definition 6. De ne, recursively, when an ear Q depends on an ear P as follows.

a P depends on P . b An ear Q dep ends on P ,ifQ is not parallel to P and for each

of the end p oints v of Q, there exists an ear R that dep ends on P such that v 2 V R .

Definition 7. De ne, recursively,abund le of parallel ears as follows. Two parallel

ears P and Q are in the same bundle if one of the following holds. a There is a path

from an internal vertex of P to an internal vertex of Q such that for every edge uv of

that path, if ear uv = R , then there exists ears that dep end on either P or Q which

ab

contain ear a and ear b. b There is another parallel ear R such that P; R and R; Q

are in the same bundle.

Supp ose that fx; y g separates a parallel ear P and that the comp onent C of G

fx; y g containing P x; y  also contains the internal vertices of Q . Then, notice that

xy

for all v 2 V C , ear v  dep ends on P or an ear parallel to P suchasQ whose internal

vertices b elongs to C . Therefore, it follows that the ab ove de nition is equivalent to

De nition 5ii.

In the following, the rst step shows how to partition parallel ears into bundles

eciently. Informally, it is as follows. First, we build an auxiliary graph G based on

p

the parallel ears of G. G is such that P and Q b elong to the same bundle i the

p

corresp onding pair of vertices p and q are in the same connected comp onent in G .

p

The graph G is built by making use of the lo cal replacement graph that is available

p

after Step 2b. Observe that after Step 2b, each ear is ho oked only at one of its ends.

!

0

Therefore, the partial G after Step 2b is a tree. Denote it by T . Now, we describ e the

l

metho d.

0

Algorithm Build G continued

0

3. Adjust E G  for paral lel ears

a Identify bund les

Let G be an auxiliary graph whose vertices p corresp ond to the parallel

p

!

ears P of G. The edges of G are added by making use of the tree T .

p l

! !

. An edge p; q  2 E G  i there and Q Consider two parallel ears P

p

xy xy

!

exists an ear R p ossibly, a trivial ear that satis es the following two

ab 8

prop erties. i fa; bg\ fx; y g = ;. ii Let a and b are internal to the ears

!

U and W , resp ectively. Then, the tree paths in T from the lcaa ;b 

l U W

to a and b start with the edges added by Step 2b for P and Q.

U W

0

b Adjust E G  for paral lel ears

For each connected comp onent C of G do the following. Find a spanning

p

tree T and ro ot it at the vertex with the smallest lab el say p. Let P be

!

the ear corresp onding to p. For each ear Q , Q 6= P , such that q b elongs

vw

0

to T : i delete the end edges of Q added to E G  in Step 2, and ii add

0

v ;v  and w ;w toE G  where s is the parent of q in T .

S Q S Q

0

At the end of Step 3 of Build G , we still have a partition of the edge set into

disjoint paths. However, b ecause of the rearrangement of edges in Step 3b, the end

p oints of an ear may not lie on a lower-numb ered ear if we continue to use the old ear

0

lab els for G . But this de ciency is inconsequential to the rest of our algorithm and

hence we continue to use old ear lab els. Notationally, if P is an ear of G, the path in

0

G consisting P together with two new end edges created by lo cal mo di cations will b e

0

referred to as P .

The following two prop ositions can be proved by induction and De nition 6 and De -

nition 7.

0

!

Proposition 3.3. If an ear Q depends on P , then both end points of Q belong

xy

!

to the subtree of T rooted at x .

l P

Proposition 3.4. If an ear Q depends on P , then thereisapath from any vertex

of Q to an internal vertex of P such that if uv belongs to this path, then ear uv  depends

on P .

!

Theorem 3.5. Two paral lel ears P and Q are in the same bund le i p and q are

xy

in the same connected component in G .

p

Proof. In what follows, we use the notation Step 3. Since, P and Q are parallel, Q

!

is directed from x to y in . Furthermore, from the construction in Step 2 it follows

G

! !

that they have the same parent in T ; Call it x . Denote the subtrees of T ro oted at

l S l

x and at x by T and T , resp ectively. Assume w.l.o.g. that a is in T .

P Q p q U p

= Assume p; q  2 E G . If an ear R satis es the condition ii of Step 3a, then

p

by Prop osition 3.3, R dep ends neither on P nor on Q. Conversely, if R is the ear

with smallest lab el that dep ends on neither P nor Q, then, by De nition 6, R cannot

have b oth its ends p oints in one of T ;T . Hence, R satis es the conditions of Step 3a.

p q

Assume w.l.o.g. that R is the ear with the smallest lab el that satis es the conditions of

Step 3a. As U and W contain the end vertices of R , U

ear with smallest lab el that satis es the conditions of Step 3a, U dep ends on P and W

dep ends on Q. Then, by condition i of Step 3a and Prop osition 3.4, there is a path

from an internal vertex of P to an internal vertex of Q which satis es the condition a

of De nition 7. 9

= Assume there are no ears parallel to P except Q in the bundle containing P . As

the condition b of De nition 7 is transitive, it suces to prove just this case. Supp ose

that P < Q. We are required to show that there exists an ear R that satis es the

conditions of Step 3. Consider the subgraph D of G formed by P , Q, and all those

ears of G that dep end on either P or Q. It can be proved by induction that P and Q

are in di erent bridges of fx; y g in D , i.e. there is no path from an internal vertex of

P to that of Q. Denote the bridge of fx; y g in D containing P and Q by D and D ,

p q

resp ectively. If P and Q are in the same bundle, then, by De nition 6 and the fact

that there are no other parallel ears in D , there must exist an ear R that connects a

non-attachmentvertex of D ,say a, to a non-attachmentvertex of D ,say b. As a and

p q

b are non-attachmentvertices of D and D , neither of them is from fx; y g. Therefore,

p q

R satis es condition i of Step 3a. Since a and b are internal to ears that dep end on

0

b elong to T and T by Prop osition 3.3. P and Q, resp ectively, the end vertices of R

p q

That is, R satis es condition ii of Step 3a.

The reverse direction of the ab ove theorem can b e stated equivalently as follows.

Corollary 3.6. If p; q  2 G , then there is a path from an internal vertex of P

p

to an internal vertex of Q such that this path does not use any vertices of P or of ears

paral lel to P .

0

Next, we prove the correctness of Build G . The following simple facts are useful

0

in the pro ofs. Observe that the number of copies of a vertex v in G is one more than

the number of nontrivial ears for which v is an end p oint, i.e. it is 1 + degreev  2.

0

The algorithm Build G adds an edge only between two copies of the same vertex and

it adds one edge for every end p ointofevery nontrivial ear. See Fig. ??. Therefore,

Proposition 3.7. i The edges that connect di erent copies of a single vertex v

0

form a tree. Therefore, there is a path between any two copies of v in G that uses only

other copies v . As a consequence, for a vertex v 62 V P , al l copies of v belong to a

0 0 0

single bridge of P in G . ii The graph G can be obtained from G by col lapsing, for

each v , al l copies of v into one.

Definition 8. For an ear P , we say a bridge of P is a relevant bridge if for each

ear Q that b elongs to it a Q >P, and b if Q parallel to P , then Q is in the same

bundle as P . If a bridge is not relevant, then it is said to be irrelevant.

Observe that for a set of parallel ears with x and y as the end vertices, if one of the

!

is directed from x to y , then all of them are directed from x to y . After Step ears in

G

0 0 0

2 but b efore Step 3, if P and Q are parallel in G, then P and Q are parallel in G by

the construction of Step 2. As Step 3 do es not change the end edges created in Step 2

for the representatives, we have

Proposition 3.8. If P and Q are paral lel ears such that each is a representative

0 0 0

of its bund le, then P and Q have the same end points in G .

For a subgraph D of G, let E D  = fear uv  j uv 2 E D g. The following can be

derived from De nition 8 and the de nition of op en ear decomp osition. 10

Proposition 3.9. Suppose that B is a relevant bridge of P . If B contains an

edge of an ear Q, then B contains al l edges of Q,i.e. if Q 2EB , then al l edges of Q

belong to B .

Another useful fact can be derived from the de nition of op en ear decomp osition by

using the minimum of E B .

Proposition 3.10. If B is a bridge of an ear P that contains an edge whose ear

label is less than P , then B has attachments at the end vertices of P .

! 

Lemma 3.11. Consider a relevant bridge B of P resp. P  in G. Suppose it

xy xy

contains an ear Q with one end point at x resp. y  and the other at v 62 V P . Then,

! !

 is x resp. y . resp. the lcax; v  resp. lcay; v in

T T

Proof. We will prove the lemma when Q has an attachment at y . A similar pro of

works when Q has an attachment at y . We will show that x is an ancestor of v in

!

. Observe that all paths from v to r in G must go through a vertex of P b ecause v

T

b elongs to a bridge of P and this bridge do es not contain r . Sp eci cally, the tree path

from v to r must have avertex, say w ,of P . This vertex w of P cannot b e y , b ecause,

!

by Lemma 3.2, y is not reachable in from v . Hence, the tree path from v to r must

T

encounter a vertex w from P [x; y . Now, the last vertex of P on this tree path is x

!

b ecause of the direction given to P . Therefore, the tree path from v to r in contains

T

!

x. In other words, x is an ancestor of v in .

T

!

Lemma 3.12. Consider a relevant bridge B of P in G. Suppose it contains an

xy

ear Q with one end point at u 2 V P  and the other at v 62 V P . If lcau; v  = u,

!

then the edges on the tree path from v to u in belong to either P or to those ears of

T

B whose label is less than Q.

Proof. Assume ear v  is U for some U 2 E B . By the de nition of a relevant

bridge, U >P. We traverse the tree path from v to u. As argued in the pro of for the

previous lemma, wemust encounter a vertex z of P from P [x; y  in this traversal. Now,

u is an ancestor of v b ecause lcau; v  = u. Therefore, z is a descendant of u. Finish

the traversal of the tree path from z to u by taking the edges of P from z to u. In this

traversal, initially U b elongs to a relevant bridge, namely B . Also, whenever the ear

lab els change from, say, P to P , for P ;P 6= P , the switch o ccurs at the end vertex of

1 2 1 2

P . This end vertex is a non-attachmentvertex of B , b ecause otherwise wewould have

1

moved from P to P instead of to P . Hence, P and P are in the same bridge of P .

1 2 1 2

Since U b elongs to P , P and, hence, P b elongs to B . In summary, we showed that

1 2

the traversal of the tree path from v to u uses the edges of the ears of B and p ossibly

some of P .

!

Theorem 3.13. Let B be the bridge of P in G containing the ear Q. Let BL

q q

xy

0 0 0

be the bridge of P in G containing the ear Q . Then, i for every ear S ,ifS 2EB ,

q

0 0

then S 2 E BL . Additional ly, ii if B is relevant bridge, then for every S , if

q q

0

S 2EBL , then S 2EB .

q q 11

Proof. If two ears Q and S are in the same bridge B of P in G, then there must b e

a path between a vertex of Q and a vertex of S consisting of only the non-attachment

0

vertices of B . Then, by Prop osition 3.7, it follows that there is a single bridge of P in

0 0 0

G containing Q and S . That proves part i.

Next, we will prove using induction that if two ears b elong to two di erent bridges

0 0

B and B in G, then they b elong to two di erent bridges of P in G provided at least

1 2

one of B ;B is a relevant bridge. For the base of the induction, we start with the

1 2

0 0 0

subgraph D of G formed by P plus fQ j either Q

1

ear of a bridge of P ,orQ is parallel to P and Q is the representative of its bundleg. The

ith induction step consists of building D from D by adding the smallest ear from

i i1

E G ED . This ear is added in a manner that conforms with the construction

i1

rules of Step 2 and Step 3, and thus we maintain the invariant that D is a subgraph of

i

0

at all times. G

To show that D satis es the base case, we claim that each ear of a relevant bridge

1

0

of P in G is in a bridge of P  by itself in D . First, observe these ears have their

1

0

end p oints on P in G. In Build G , the end edges for the minimum lab eled ears of a

relevant bridge of P are decided in Step 2 and these are not changed later in Step 3. To

prove the claim, it suces to show that each of these ears is attached in Step 2 to some

0 0

vertices of P . All parallel ears are attached to the end vertices of P by Prop osition

!

3.8. For any other ear Q , v; w 2 V P , if w = y , then v 6= x b ecause we assumed

vw

!

b ecause the end edge of P that Q is not parallel to P . In that case, lcav; w 6= v in

T

!

 and v is attached to v . The other end p oint w is incident on y is not present in

T

Q P



and the tree path from w to v starts attached to w , b ecause lcaw; v = w = y in

T

P

with an edge of P . The cases arising from the other p ositions for v and w on P can b e

analyzed similarly to conclude that v and w are attached to v and w resp ectively.

Q Q P P

Now, we prove the induction step. Assume, inductively, the theorem holds when

the smallest i 1 ears from E G ED  are added. Consider the ith smallest ear

1

!

Q .

uv

!

Supp ose there is an ear p ossibly P  parallel to Q . Then, from the construction

uv

of Step 3b we notice that Q is attached to the copies of u and v say u and v where

S S

s is in the notation of Step 3b the parent of q in T . The case when S = P results

0

in creating a new bridge when Q is added to D and the induction step is trivially

i1

true. But if s 6= p and s; q  2 E G , then by Corollary 3.6 there is a path between

p

an internal vertex of Q to an internal vertex of S that do es not use anyvertices of ears

parallel to Q. Sp eci cally, this path do es not use anyvertices of P . Hence S and Q are

in the same bridge of P in G.

!

Next, assume Q has no parallel ears. Let ear u and ear v beS and U , resp ec-

uv

tively. We will do a case analysis dep ending on the p osition of u and v .

0

Assume neither u nor v b elong P . Then, by Prop osition 3.7, Q is connected to

0 0

a non-attachment vertex of the bridge of P in D  containing S call it BL  to a

i1 s 12

0

non-attachmentvertex of the bridge containing U call it BL . Clearly S and U and

u

hence the ears of G corresp onding to the ears of BL and BL  are in one bridge of P

s u

in G b ecause of the path namely Qbetween them that uses no vertices of P .

Now, consider the case when b oth u and v b elong to P , i.e. P = S = U . Then, it

cannot b e that u = x and v = y as that would make Q have an ear namely P  parallel

to it. Hence one of the end vertices of Q must b e internal to P . In this case, by a pro of

0

similar to the one used for the base case, it can b e argued that Q is attached to twoof

0

the vertices of P . In other words, if b oth u and v b elong to V P , then a new bridge

gets created and the induction step holds.

Next, assume that one of u; v b elongs to P and the other do es not. Assume w.l.o.g.

u b elongs P . Clearly, U and Q are in a single bridge of P in G b ecause they are

0 0

connected at v . Therefore, if Q attaches itself to the bridge of P in D that contains

i1

0

denote this bridge by BL , then the induction step holds b ecause U and all the U

u

ears corresp onding to the ears of BL  and Q are in a single bridge of P in G. We

u

0

will show that this is indeed the case, i.e. Q attaches itself to BL . Notice that, by

u

0

Prop osition 3.7, as v 62 V P , there exists a bridge of P in D that contains all copies

i1

of v . Therefore, v is connected to a copy of v that b elongs to BL . It remains to

Q u

be shown that v is not connected to a non-attachment vertex of a bridge other than

Q

!

BL . Consider the lcau; v  in . If lcau; v  6= u, then u is connected to u by

T

u Q P

!

Step 2. Otherwise, by Lemma 3.12, the tree path in from v to u consists of edges of

T

either P or of the ears from E BL . Therefore, u is connected to u or u where

u Q P W

W 2EBL .

u

3.2. A Reduction to Biconnected Comp onents. We brie y alluded to reduc-

ing triconnectivityto biconnectivity at the b eginning of Section 3. We elab orate more

on this reduction here. In this subsection, we show how to nd a collection similar to

H that enco des separating pairs. There are two reasons for nding a collection that is

only similar to H and not H itself as de ned b efore. The rst is that the new collection

suces for our purp oses, and the second reason is that it can be computed by an easy

reduction to any biconnected comp onent algorithm.

Recall the de nition of H from De nition 2. It consists of a graph H for each

P

!

. We slightly change the de nition of H as it is dicult to eciently nontrivial ear P

P

xy

check, for v 2 V P , if the bridge of P containing the ro ot r is adjacent to v .

Definition 9. The graph H is de ned as in De nition 2 with the following

P

mo di cation to part i of that de nition. We say that v; r  is added to E H  if v

P P

is adjacent to w and w b elongs to an irrelevant bridge of P .

Even though the resulting collection is slightly di erent, we will continue to denote

it by H . Let us examine and see whether this new de nition of graph H also enco des

P

the set of separating pairs of G. If the bridge containing w also contains the ro ot r ,

then the new rule results in the same H . Otherwise, the bridge containing w must

P 13

necessarily have attachments at x and y by Prop osition 3.10. Therefore, wewould have

added v; x and v; y to E H  instead of v; r . A pair of vertices of P that is

P P

not a separating pair b efore would not be a separating pair now. The converse also

holds except for the pair fx; y g. In this case, notice that we would detect fx; y g as a

separating pair on H where fx; y g separates Q. This is b ecause, by De nition 1, all

Q

vertices of Qx; y  are adjacenttovertices of bridges of Q relevanttoQ. Therefore, the

edges added to E H  for the vertices of Qx; y  are identical irresp ective of whether

Q

the old rule is used or the new one.

Next, we show how to build H by a reduction to biconnected comp onents. The

biconnected comp onent algorithm is run on a multigraph G the subscript e to indicate

e

0 0

that G is built from the ears of G  constructed from G and its ears.

e

0

Definition 10. Let P be a nontrivial ear hv ;v ;:::;v i of length greater than

0 1 k

0 0

by contracting all such ears P by two, i.e. k  3. The graph G is obtained from G

e

merging the internal vertices v ;v ; :::; v into a single vertex p.

1 2 k 1

Fig. 3.2 shows the multigraph G for the lo cal replacement graph and its ear

e

decomp osition shown Fig. ??. Recall that the representative say P  of a bundle of

parallel ears is the ear of that bundle with the smallest lab el. Observe that the end

p oints P b elong to a lower-numb ered ear that is not parallel to P . This observation

together with the de nition of op en ear decomp osition imply the following simple fact.

Proposition 3.14. If D is a of G , then the vertex of D

e

with the minimum label is either r or an articulation point of G .

e

There is a corresp ondence between the relevant bridges of P in G, the bridges

xy

0 0

of P [x ;y ] in G , and the connected comp onents resulting from deleting p from G .

P P e

The relation b etween the latter two is simple: From the de nition of G , it follows that

e

0 0

the ears Q and R are in the same bridge of P [x ;y ]inG i q and r are in the same

P P

comp onent in G fpg. The relation between the attachments of the bridges of P in

e

0 0

G and that of the bridges of P [x ;y ] in G is stated b elow.

P P

0

!

Theorem 3.15. Suppose that B resp. BL  is a bridge of P resp. P  in G

q q

xy

0 0

resp. G  containing Q resp. Q .

0 0

i B relevant to P i BL has no attachments at the end vertices of P in G .

q q

ii Assume that B is relevant to P . Then, B has an attachment at v i BL has an

q q q

attachment at v .

P

Proof. i Assume B is a relevant bridge for P . It can be proved that the attach-

q

0

ments of BL are from P [x ;y ]by an inductive pro of similar to the one used to show

q P P

part ii of Theorem 3.13. The invariant that should b e maintained at all times is that

0 0

if Q b elongs to a relevant bridge, then the bridge of P containing Q in D has all its

i

0

attachments on P [x ;y ].

P P

Assume B is not a relevant bridge. There are two kinds of irrelevant bridges. The

q

ones that have an ear less than P and the ones that have an ear say Q parallel to P

from a di erent bundle. If B is of the rst kind, then BL contains an ear less than

q q 14

0

P by Theorem 3.13i. If in addition BL contains a parallel ear to P from the bundle

q

of P , then from the construction of Step 3b it follows that BL has attachments at the

q

0 0 0

end vertices of P . Otherwise, consider the subgraph of G consisting of P , the ears

of BL that have no parallel ears, plus the representatives of the bundles of ears that

q

b elong to BL . Clearly, this subgraph is biconnected and the lab els on the ears de ne

q

an op en ear decomp osition. Therefore, by Prop osition 3.10, BL has attachments at

q

0

the end vertices of P . Next, assume that B is an irrelevant bridge b ecause it contains

q

an ear S parallel to P such that P and S are in di erent bundles. Assume w.l.o.g. that

0

S is the representative of its bundle. By Prop osition 3.8, the end p oints of S and the

0

end p oints of the representative of the bundle of P are the same. Therefore, BL has

q

0

attachments at the end vertices of P .

ii Assume BL has an attachment at v and that this attachment b elongs to an ear

q P

0

of BL . Since B is a relevant bridge, by part ii of Theorem 3.13, S 2EB . By S

q q q

Prop osition 3.7, v 2 V S . Therefore, B has an attachment at v .

q

!

Consider the only if direction of the theorem. Let S denote the ear from the

vw

!

bridge B with the least lab el that has an attachmentatv . Then, if lcav; w 6= v in ,

T

q

then, by Lemma 3.11, v is an internal vertex of P . Therefore, by Step 2c, v is attached

S

to v . Otherwise, i.e. lcav; w = v , then, by Lemma 3.12, the tree path from u to v

P

consists of the edges from either P or the ears of B with a lab el less than S . As there

q

are no ears of B less than S incident v , the tree path must end with the edges of P .

q

Hence, by Step 2, v is attached to the vertex v .

S P

The iind part of the ab ove theorem implies the following.

Corollary 3.16. fx; y g is a separating pair that separates P in G i fx ;y g

P P

0 0

separates P in G .

0 0

Proof. Consider the bridges of P [x; y ]in G and that of P [x ;y ]inG .

P P

We exploit this corresp ondence in building H . The nontrivial part in building H

P

is in identifying which edges to add, if any, for a vertex v of P [x; y ]. This involves

knowing the extreme attachments of the relevant bridges of P adjacent to v . If there

are any bridges of P that are relevant, then p would b e an articulation p ointinG ; and

e

0

each blo ck D of G attached to p that do es not contain r corresp onds to a relevant

e

bridge of P . Therefore, we give a common lab el, called lab el, to all vertices except

p of each such blo ck D of G . This lab el is a 3-tuple hP ; a; bi: a and b are the pos

e

lab els of the extreme attachments of the bridge of P that corresp onds to D and the

rst tuple re ects the fact that these attachments are on P . We will denote the rst,

second and the third tuple of q by q :1, q :2 and q :3, resp ectively.

It turns out that the lab eling can b e computed eciently by a slight mo di cation

of any biconnected comp onent algorithm as shown b elow. Given lab eling, the edges

that need to b e added to build H can b e gured out quite easily.

P

Algorithm Build H

Input: A graph G, an op en ear decomp osition of G, pos lab eling for each ear, and the 15

0

lo cal replacement graph G for that decomp osition.

Output: A collection of graphs H built on the top of each nontrivial ear of G that

enco de separating pairs succinctly.

0

1. Build a multigraph G from G by merging the internal vertices of each non-

e

0

trivial ear P into a single vertex p. Discard the self lo ops from G .

e

2. Find the biconnected comp onents D ;D ; :::; D of G .

1 2 k e

3. Lab el the vertices of G with 3-tuples:

e

For each D do the following. Let p b e the vertex of D with the smallest lab el.

i i

For each q 2 V D  fpg, set the 1st comp onentof q toP . Of all edges ps

i

of D incident on p, consider those that have an image, say cd, in G. Assume

i

c 2 V P . See Fig. 3.2. Let a and b the minimum and the maximum,

resp ectively, of the pos lab els of all such c. Then, a and b are the second and

third comp onents of q .

4. Build H for each nontrivial ear P using the lab els:

P

a Assign V H =V P  [fr g.

P P

b Initialize E H  = E P . For every vertex v 2 V P , add the following

P

edges. For an edge vw 2 E G, w 62 V P , denote ear w by Q.

i If q :1 is less than P , then add v; r  to E H . Otherwise, add

P P

two edges as shown in the next step.

ii Let a be such that posa = minff q :2 j ear w  = q and vw 2

E G, w 62 V P g[ fposw  j vw 2 E G and v; w 2 V P gg. Add

v; a to E H . Also, add v; b where b is obtained similarly by

P

using max and q :3.

Lemma 3.17. Consider an ear P , and an edge vw 2 E G, w 62 V P , where v

is an internal vertex of P . Let ear w  be Q. Then, if the bridge B of P containing Q

q

contains no ear less than P , then q :1=P .

Proof. If B contains ears parallel to P , then they would have to be in the same

q

bundle with P b ecause of the the edge vw. Therefore, B is a relevant bridge of P .

q

0

Now, it follows from part i of Theorem 3.15, that the bridge containing Q would have

0

all its attachments on the internal vertices of P . Then, p would b e an articulation p oint

that is on every path between q and the ro ot vertex r in G . Therefore, q :1  P .

e

But p and q are in the same blo ck b ecause the edge vw of G causes an edge between p

and q in G . Hence, q :1= P .

e

Theorem 3.18. Algorithm Build H computes H as de ned in De nition 9.

!

Proof. Consider an ear P and an internal vertex v of P . We need to argue that

xy

the construction carried out in Step 4 is correct. Supp ose there is an edge vw 2 E G,

w 62 V P . Denote ear w  by Q. Denote the bridge of P containing Q by B and the

q

minfE B g by N . Note that whether vw is a trivial ear or one of the end edges of Q,

q

it causes an edge to be added between p and q in G . Therefore, there is a blo ck that

e

contains b oth p and q . 16

According to De nition 9, the edge v; r  is added to E H i N is less than P .

P P

Consider the construction in Step 4. We claim that N < P i q :1 is less than P .

To prove the forward direction of the claim, we need to prove that the blo ck D of G

e

containing p and q contains an articulation p oint m such that M

3.14, it is sucient to show that p is not the articulation p oint in D with the smallest

lab el. Because N < P , the bridge B is irrelevant to P . Now, if p is an articulation

q

0 0 0

p oint that app ears on every path from q to the ro ot r , then BL of P containing Q

q

0

in G has all its attachments on P [x ;y ]. This contradicts part i of Theorem 3.15.

P P

Hence, p cannot be the articulation p oint with the smallest lab el in D . Consider the

reverse direction. Assume for contradiction that q :1 less than P but N  P . Clearly,

N 6= P b ecause N b elongs to a bridge of P . But if N > P , then, from Lemma 3.17,

q :1 is exactly P and not less than P .

Next, consider the case when there is an edge vw 2 E G, w 62 V P , but for all

such edges q :1 is not less than P . By the claim of the previous paragraph, if q :1

is not less than P , then N >P. Therefore, by Lemma 3.17, q :1= P . That is, every

0 0

bridge of P with an attachment at v has all its attachments on P [x ;y ]. Because of

P P

the edge vw, each such bridge B is a relevant bridge of P . Therefore, by part ii of

q

0

Theorem 3.15, the attachments of BL on P are identical to the attachments of B on

q q

P . From the de nition of G , the attachments of B b ecome the edges of G incidenton

e q e

p where these edges b elong to the blo ck containing q . The attachments of B that are

q

closest to x and y are re ected in the second and third tuples of q , as computed in

Step 3. Therefore, Step 4bii computes the E H  as de ned in part ii of De nition

P

2.

3.3. The Extraction and Output Representation of Separating Pairs. Ob-

serve that in O m + n time we cannot p ossibly list all separating pairs of a graph as

2

there could b e O n  of them. For example, in a simple cycle every pair of non-adjacent

vertices is a separating pair. That is, a cycle of n vertices has nn 3=2 separating

pairs. Our output representation is a set of paths referred to as candidate lists such

that a pair of vertices fu; v g separates P i u and v are non-adjacent on P and there

is a candidate list generated from H that contains u and v . Such a representation of

P

separating pairs is sucient to divide a graph into triconnected comp onents.

Let us reexamine the graph H of H from the previous subsection. Assume H

P P

happ ens to be planar and that it is drawn in the plane as shown in Fig. 3.3, i.e.

P app ears as a horizontal line and all its bridges in H are drawn on the top. This

P

emb edding will b e referred, henceforth, as a canonical emb edding. Then, an imp ortant,

but easy to see, observation that follows from Theorem 2.3 is that a pair of vertices x

and y separates P i a b ounded region in the canonical emb edding of H contains x and

P

y . This fact can b e used quite e ectively in pro ducing candidate lists as demonstrated

b elow.

Algorithm Find Candidate Lists 17

Input: A collection of planar graphs enco ding separating pairs.

Output: A set of paths, called candidate lists, enco ding separating pairs. The output

representation is a linked list.

1. For every bridge B of P in H that do es not contain r , let u and v , resp ectively,

P P

be the attachments of B with the minimum and maximum pos value.

i output the edge u; v ,

ii if v is not adjacent to r in H and if the furthest vertex to the left that

P P

is reachable from v through a bridge is u, then p erform this step. Let

w be the furthest vertex to the right that is reachable through a bridge

adjacenttov . Add a p ointer from the output lo cation of u; v  to that of

v; x where x = w if w 6= v ; otherwise, x is the successor of v on P . See

Fig. 3.3.

2. For every edge a; b of P , posa < posb, that is not part of a triangular

region,

i output the edge a; b,

ii if the furthest vertex to the left that is reachable from b through a bridge

is b, then p erform this step. Let c be the furthest vertex to the right

that is reachable through a bridge adjacent to b. Add a p ointer from the

output lo cation of a; b to that of b; d where d = c if c 6= b; otherwise,

d is the successor of b on P . See Fig. 3.3.

In the rest of this subsection, we show how to take a non-planar H and pro duce

P

a planar graph I on the same set of vertices such that the set of separating pairs of

P

H and that of I are identical. We will denote the resulting planar collection by I .

P P

The pro cess of planarizing H involves coalescing interlacing bridges. Call a pair of

P

bridges B and B of P as interlacing bridges if two of the attachments of B and B

1 2 1 2

are at x; y and u; v , resp ectively, such that that posx < posu < posy  < posv .

The op eration of coalescing is to discard the bridges B and B and to put in a new,

1 2

single bridge whose attachments are a union of the attachments of B and B . A nice

1 2

prop erty of the op eration coalescing that follows from Theorem 2.3 is that it preserves

the set of separating pairs. Now, if bridges of H are coalesced until no more bridges

P

are interlacing, then the resulting graph is planar; this fact can easily be proven by

constructing a canonical emb edding of the resulting graph. Denote the resulting planar

graph by I .

P

In the following, we give a fast parallel algorithm for nding I . At a high level, the

algorithm reduces the problem of planarizing H to that of nding connected comp o-

P

nents of a graph G . The vertices of G corresp ond to bridges of P . Twovertices b and

b b 1

b of G are in the same connected comp onents i the bridges corresp onding to the two

2 b

vertices B and B are interlacing. In constructing G ,ifwe add edges between b and

1 2 b 1

all vertices whose corresp onding bridges in H interlace with B , then there could be

P 1

2

far to o many edges in G as manyasO n . The trick is to add at most two edges p er

b 18

vertex. Add b ;b  resp. b ;b  where B resp. B  interlaces B and furthermore

1 2 1 3 2 3 1

it is the bridge with an attachment that is furthest to the left resp. right with resp ect

to the leftmost resp. rightmost attachment of B . It turns out that employing this

1

trick do es not alter the connected comp onents of G . See App endix A for a pro of of

b

this fact. We summarize the ideas b elow.

Algorithm Planarize H

Input: The collection H of graphs enco ding separating pairs of G.

Output: A collection I of planar graphs enco ding separating pairs of G succinctly.

1. For each H , build a graph G based on the bridges of P in H that do not

P b xy P

contain r . These bridges are all single edges u; v .

P

i For each such u; v , create avertex in G denoted by the 2-tuple hu; v i.

b

ii Find the bridge a; b resp. c; d with one attachment on P u; v  and

the other furthest to the left resp. right from u resp. v  on P [x; u

resp. P v; y].

iii Add an edge b etween hu; v i and ha; bi, and b etween hu; v i and hc; di in G .

b

2. Find the connected comp onents C ;C ; :::; C of G .

1 2 k b

3. Build I using the connected comp onents of G .

P b

i V I = V H  [fc j C is a comp onent of G g

P P i i b

ii E I  = E P . Add the edges incident on r to E I . In addition,

P P P

include the following edges. Add c ;u if there a vertex in C with u as

i i

one of the 2-tuples in its lab el.

3.4. Complexity on a CRCW Pram. The results of the previous subsections

show that the following algorithm generates all separating pairs as candidate lists of

a given biconnected graph G.

Algorithm Separating Pairs

1. Find an op en ear decomp osition of G.

0 0

2. Construct the lo cal replacement graph G by executing Build G .

3. Succinctly enco de separating pairs using Build H .

4. Use Planarize H and obtain the collection I .

5. Generate separating pairs as candidate lists by invoking Find Candidate Lists

with I as its input.

The most exp ensive step of the ab ove algorithm from the deterministic complexity

p oint of view is providing the required input representations to some of the subroutines

we use, and building the adjacency lists of the auxiliary graphs. We show in App endix

B how to construct the needed representation of graphs assuming that the input is a

list of edges. This construction runs in O log n time with m + n log log nwork. In

the remainder of this subsection we will argue that the complexity of the rest of the

algorithm is identical to that of the b est known parallel connected comp onent algorithm.

Let G have n vertices and m edges. We say an algorithm has an `almost-optimal'

pro cessor-time b ound, if it runs in O log n parallel time with O m + n m; n= log n 19

pro cessors on a CRCW PRAM, where is the inverse Ackermann function. We rst

note the following results on optimal and almost-optimal parallel algorithms.

A List ranking on n elements can b e p erformed optimally in O log n on an EREW

PRAM [3].

B Connected comp onents and spanning tree of an n-no de, m-edge graph can be

found in time O log n with O m + n m; n= log n on an ARBITRARY

CRCW PRAM [3] provided the input is presented as an adjacency list.

C Least common ancestors of k pairs of vertices in an n-no de tree can b e found in

O 1 time with k pro cessors after O log n time prepro cessing using O n= log n

pro cessors on an EREW PRAM using the algorithm in [24].

D The Euler-tour technique on trees of [25] can be implemented optimally in

O log n time with O n= log n pro cessors on an EREW PRAM using A.

E Using the ab ove mentioned results as subroutines, we obtain an almost-optimal

parallel algorithm for nding an op en ear decomp osition from the algorithm in

[19], [17], for nding biconnected comp onents from the algorithm of [25], and

for nding an st-numb ering in a biconnected graph from the algorithm of [19].

We will refer to the ab ove ve results while describing the pro cessor-time complexity

of Algorithm Separating Pairs.

Step 1 can be done almost optimally by E.

  ! !

can b e constructed almost optimally , and , , Consider Step 2. The digraphs

T G T G

using the st-numb ering algorithm of E. Splitting and renaming can be achieved by

making the vertex lab els a 2-tuple: the rst comp onent representing the vertex lab el,

and the second representing the ear lab el of the edge that is incident on that vertex.

We can implement this in constant time p er split no de. The pro cessors assigned to the

end edges of each ear can be made resp onsible for adding the edge to attach that ear.

The lca values of non-tree edges can be computed optimally by C. Step 3a of Build

0

G identi es the bundles of parallel ears. Let us analyze its complexity. For building

G , the pro cessor assigned to the last edge a; b of each ear examines the ear lab els of

p

the two edges incident on the lcaa; b in the fundamental cycle created by including

!

T . Let the ear lab els be P and Q. Next, it checks to see if P and Q have a; b in

l

identical pair of end vertices. If so, an edge is added in G between p and q . Now using

p

the almost-optimal connected comp onent algorithm of B we can implement Step 3b of

0 0

Build G . This leads to an almost-optimal algorithm to implement Build G .

Let us examine the complexity of Build H . The pos lab eling can be computed

optimally in O log n time using the Euler-tour technique by D. The auxiliary multi-

graph G can b e constructed as follows. The vertex set is easy to create. The pro cessor

e

assigned to the rst edge of an ear R do es the following. i It nds the end vertices u

and v of that ear. ii It also nds the ears P and Q where P = ear u and Q = ear v ,

and the values posu; P  and posv; Q. Assume that the vertices corresp onding to P; Q

and R in G are p; q and r resp ectively. Finally, iii it creates edges p; r  and r;q

e 20

and lab els these edge with a 2-tuple hposu; P ; posv; Qi.

The lab eling of the vertices of G consists of the following steps. Find the blo cks

e

of G almost optimally as in E.Treat each blo ck D separately and construct a spanning

e

tree T in each blo ck almost optimally as in B. The articulation p oint q with the smallest

b

lab el in a blo ck D can b e found optimally by using the Euler-tour technique. That gives

us the rst comp onent of , i.e. Q. The values a and b can be found by examining

the 2-tuple lab els of the edges of D incident on q . These values are broadcast to all

the vertices in the blo ck D using, again, the Euler-tour technique. Finally, building

H involves computing the minimum and maximum of the lab els of edges incident on

P

avertex. This can be done optimally in O log n time using A.

In Planarize H , the only nontrivial step is implementing the algorithm of App endix

A, i.e. the construction of the G . It involves the identi cation of the arcs a; b and

p

c; d for each arc x; y . An optimal algorithm for this problem is given in [1] this

problem is also known as the range-minima problem. The building of I can be done

P

almost-optimally by an easy reduction to the connected comp onents.

Finally, Find Candidate Lists requires computing the minimum and the maximum

of the lab els of edges incidentonavertex. This can b e done optimally in O log n time

using A.

4. An Algorithm for Finding Triconnected Comp onents. We start with

some de nitions.

Let G =V; E  be a biconnected graph, and let Q be a subgraph of G. We de ne

the bridge graph of Q, S =V ;P  as follows this is a little mo di ed from the usual

S S

de nition as in [5], [18], [22]. Let the bridges of Q in G be B ;i = 1; :::; k . Then

i

V = V Q [fB ; :::; B g and P = E Q [fedge v; B  for each edge v; w 2 B with

S 1 k S i i

w 2 V Q; 1  i  k g. Note that S is a multigraph, i.e., a graph in which there can be

several edges between the same pair of vertices. Each B 2 V together with the edges

i S

incidenton B is a bridge of Q in S .

i

A star is a connected graph with a vertex v such that every edge in the graph is

incident on v . A star graph GP  is a graph G consisting of a simple path P , each of

whose bridges is a star. Thus if Q is a simple path in G, then S , the bridge graph of

Q, is a star graph. Let B be a star in a star graph GP , where for convenience let

P = h0; :::; k 1i. Let the attachments of B on P be v ; :::; v , with v

0 j 0 1 j

Then the vertices v and v are the end attachments of B and the remaining attachments

0 j

are its internal attachments. We will also refer to v as the left attachment of B and v

0 j

as its right attachment. The closed interval [v ;v ] is the span of B and it contains all

0 j

of the vertices on P between v and v b oth vertices inclusive.

0 j

We now review some material from [26], [12], [18] relating to triconnected comp o-

nents. This material deals with multigraphs. An edge e in a multigraph is denoted by

a; b; i to indicate that it is an edge between a and b; here i is the lab el that distin-

guishes e from the other edges between a and b. The third entry in the triplet may be 21

omitted for one of the edges between a and b.

A pair of vertices a; b in a multigraph G = V; E  is a separating pair if and only

if there are two nontrivial bridges, or at least three bridges, one of which is nontrivial,

of fa; bg in G. If G has no separating pair, then G is triconnected. The pair a; b is a

nontrivial separating pair if there are two nontrivial bridges of fa; bg in G.

Let fa; bg be a separating pair for a biconnected multigraph G =V; E . For any



bridge X of fa; bg, let X be the induced subgraph on V V X  [fa; bg. Let B be

 

a bridge of G such that jE B j  2; jE B j  2 and either B or B is biconnected.

We can apply a Tutte split [26], [12] sa; b; i to G by forming G and G from G,

1 2



where G is B [fa; b; ig and G is B [fa; b; ig. Note that we consider G and

1 2 1

G to be two separate graphs. Thus it should cause no confusion that there are two

2

edges a; b; i since one of these edges is in G and the other is in G . The graphs G

1 2 1

and G are called the split graphs of G with respect to fa; bg. The Tutte components

2

of G are obtained by successively applying a Tutte split to split graphs until no Tutte

split is p ossible. Every Tutte comp onent is one of three typ es: i a triconnected simple

graph; ii a simple cycle a polygon; or iii a pair of vertices with at least three edges

between them a bond; the Tutte comp onents of a biconnected multigraph G are the

unique triconnectedcomponents of G. In this section we give an almost-optimal O log n

time parallel algorithm to nd the triconnected comp onents of G corresp onding to

triconnected simple graphs and p olygons. The b onds can be inferred, if necessary, by

counting the number of triconnected comp onents with resp ect to each separating pair.

Let G = V; E  be a biconnected graph with an op en ear decomp osition D =

[P ; :::; P ]. When referring to vertices on a sp eci ed ear P or on a path P , we will

0 r 1 i

assume for convenience that they are numb ered in sequence from one end p oint of the

path its left end point to the other its right end point. Let fa; bg b e a pair separating

P . Let B ; :::; B b e the bridges of P with no attachments outside the interval [a; b]on

i 1 k i

k

B  [ P a; b, where P a; b is the segmentofP between and P , and let T a; b=[

j i i i i i

j =1

including vertices a and b. Then the ear split ea; b; i consists of forming the upper split



graph G = T a; b [fa; b; ig and the lower split graph G = T a; b [fa; b; ig. An

1 i 2 i

ear split ea; b; i isaTutte split if either G fa; b; ig or G fa; b; ig is biconnected.

1 2

Let S b e a nontrivial candidate list for ear P . Twovertices u; v in S are an adjacent

i

separating pair for P if u and v are not adjacent to each other on P and S contains

i i

no vertex in the interval u; v on P . Two vertices a; b in S are an extremal separating

i

pair for P if jS j 3 and S contains no vertex in the interval outside [a; b]. An ear split

i

on an adjacent or extremal separating pair is a Tutte split, and the Tutte comp onents

of G are obtained by p erforming an ear split on each adjacent and extremal separating

pair [18].

With each ear split ea; b; i corresp onding to an adjacent or extremal pair sepa-

rating P , we can asso ciate a unique Tutte comp onent of G as follows. Let ea; b; i be

i

such a split. Then by de nition T a; b [fa; b; ig is the upp er split graph asso ciated

i 22

with the ear split ea; b; i. The triconnected component of the ear split ea; b; i de-

noted by TCa; b; iisT a; b [fa; b; ig with the following mo di cations: Call a pair

i

fc; dg separating an ear P in T a; b a maximal pair for T a; b if there is no e; f in

j i i

T a; b such that fe; f g separates some ear P in T a; b and c and d are in T e; f .

i k i k

In T a; b [fa; b; ig replace T c; d together with all two-attachment bridges with

i j

attachments at c and d, for each maximal pair fc; dg of T a; b, by the edge c; d; j , to

i

obtain TCa; b; i. We denote by TC0; 0; 0, the unique triconnected comp onent that

contains a sp eci ed edge on P .

0

We note that TCa; b; i as de ned ab ove is a triconnected comp onent of G since

each split of T a; b in the ab ove de nition is a valid Tutte split, and the nal resulting

i

graph contains no unpro cessed separating pair. Further, we also note that every tricon-

nected comp onentofG app ears as TCa; b; i for some adjacent or extremal separating

pair. This is seen as follows. Let T be a triconnected comp onent of G. By the results

in [18] we know that T can be obtained by a sequence of ear splits at adjacent and

extremal pairs separating ears in the op en ear decomp osition D of G. Since the order

of pro cessing these ear splits is arbitrary, let us consider a sequence in which these

splits are p erformed in nonincreasing order of ear numb er. In this case, every upp er

split graph formed at the end of pro cessing ear P must be a triconnected comp onent

i

since it will contain no unpro cessed separating pairs. Let P be the lowest numb ered

i

ear that contains a separating pair whose copies are present in T and let ea; b; i be

the last ear split p erformed while generating T . Then clearly, T = TCa; b; i.

In our parallel algorithm, we will make the collection of splits S corresp onding

1

to adjacent separating pairs simultaneously, followed by the collection of splits S for

2

extremal separating pairs. We will call each comp onent present after completion of

splits in S an adjacent triconnected component, and denote it by TC a; b; i. Since

1 A

the virtual edges corresp onding to the splits will be inserted by concurrent writes, we

will have only one copy of each such edge between a given pair of vertices. Hence we

will not generate the triconnected comp onents corresp onding to b onds. These can be

inferred, if necessary, by counting the numb er of triconnected comp onents of the other

two typ es that are present at each separating pair.

The rest of this section is devoted to describing an almost-optimal algorithm for

p erforming these op erations. We rst review some further material from [18] and [22].

Let G be a biconnected graph with an op en ear decomp osition D = [P ; :::; P ].

0 r 1

Let B ; :::; B be the bridges of P that contain a non-attachment vertex on an ear

1 l i

numb ered lower than i; we call these the anchor bridges of P . The ear graph of P ,

i i

denoted by G P  is the graph obtained from the bridge graph of P by

i i i

a Replacing all of the anchor bridges by a new star whose attachments edges are

the union of the internal attachments edges of all anchor bridges, deleting the

attachments of anchor bridges to the end p oints of P , and replacing them by

i

one new edge to each end p oint. We will call this new star the anchoring star 23

of G P .

i i

b Removing anymultiple two-attachment bridges with the same two attachments,

and also removing any two-attachment bridge with the end p oints of P as

i

attachments.

Note that G P isamultigraph. This de nition of ear graph is slightly mo di ed

i i

from that in [18], [22] to re ect the change made in the de nition of bridge graph.

G P  is also a star graph.

i i

Two stars S and S in a star graph GP  interlace see also [5], page 149 if one

j k

of following two hold:

1. There exist four distinct vertices a; b; c; d in increasing order in P such that a

and c b elong to S S  and b and d b elong to S S ; or

j k k j

2. There are three distinct vertices on P that b elong to b oth S and S .

j k

The op eration of coalescing two stars S and S is the pro cess of forming a single

j k

new star S from S and S by combining the attachments of S and S , and deleting

l j k j k

S and S . Given a star graph GP , the coalesced graph G P  of GP  is the graph

j k c

obtained from G by coalescing all pairs of stars that interlace. Note that G P  is a

c

star graph with resp ect to P , and G P  has a planar emb edding with P on the outer

c

face, since no pair of stars interlace on P .

Let GP  be a star graph in which no pair of stars interlace. If GP  contains

no star that has attachments to the end p oints x and y of P , then add a virtual star



X to GP  with attachments to x and y . The star embedding G P  of GP  is the

planar emb edding of the p ossibly augmented GP  with P on the outer face. A star

0 0

B is the parent-star of star B and B a child-star of B if there is a face in the star

 0

emb edding G P  that contains the left and right attachments x and y of B as well as

an attachment edge of B in each of the intervals [l; x] and [y; r], where l and r are the

left and right end p oints of P .

The following lemma is shown in [18].

Lemma 4.1. A pair fa; bg separates P in the coalesced graph G P  if and only

i i i

c

if fa; bg separates P in G.

i

We will use the following corollary to the lemma given ab ove.

Corollary 4.2. Anedge x; y  incident on P is in TCa; b; i if and only if x; y 

i

is in the triconnected component associated with pair fa; bg separating P in G P .

i i i

c

Proof. Let C P  be the bridge graph of P and let C P  be its coalesced graph.

i i i i i

c

A straightforward extension of the pro of of Lemma 4.1 given in [18] Theorem 1 of that

pap er shows that an edge incident on P is in TCa; b; i if and only if it is in the

i

triconnected comp onent asso ciated with the pair fa; bg separating P in C P . We

i i i

c

then observe that the edges of C P  that are deleted in the ear graph G P  cannot

i i i i

app ear in TCx; y ; i for any pair x; y separating P .

i

P by G P . [22] give an almost- For convenience of notation, we will denote G

i c i i

c

optimal algorithm to form the coalesced graph of a star graph GP  that runs in logarith- 24

mic time on a CRCW PRAM. This algorithm has the same pro cessor-time complexity

as that of nding connected comp onents.

Lemma 4.3. In the coalescedgraph G P , for each adjacent pair fa; bg separating

c i

P , there is at most one bridge of P with attachments on a; b and a vertex in a; b, the

i i

portion of P between a and b.

i

Proof. Supp ose not, and let B and B be two bridges of P in G P  that have

1 2 i c i

attachments on a, b and a vertex in a; b. Then B and B must interlace, which

1 2

contradicts the fact that G P  is the coalesced graph of the ear graph G P .

c i i i

Lemma 4.4. Let B be a two-attachment bridge of P in G P  with attachments a

i c i

and b. Then

a If the span [a; b] is degenerate i.e., a; b is an edge in P  or if there is a

i

0

bridge B of P with attachments on a and b and at least one other vertex,

i

then G P  fB g de nes the same set of polygons and simple triconnected

c i

components TCx; y ; i, for i xed, as G P .

c i

b If part a does not hold, then fa; bg is an extremal pair separating P as wel l as

i

an adjacent pair separating P .

i

Proof. Let P be the lowest-numb ered ear in B . Then, j >i and a and b are the

j

end p oints of P . Hence the ear split ea; b; j  separates B from P , and thus B is not

j i

part of TCx; y ; i for any pair fx; y g separating P . So a 2-attachment bridge on P is

i i

never a part of a triconnected comp onent asso ciated with a pair separating P , though

i

it may de ne some adjacent and extremal separating pairs as in case b of the lemma.

We now prove parts a and b of the lemma.

a Supp ose span [a; b] is degenerate. Then the triconnected comp onent asso ciated

with split ea; b; i is the single edge a; b, which is a b ond. Otherwise, if there

0

is a bridge B with attachments on a; b and at least one other vertex v , then

the triconnected comp onent asso ciated with split ea; b; i contains a p ortion

0

of P between a and b, together with B if v is in the interval a; b and is a

i

p olygon if v is not in [a; b]. Both of these situations can be inferred without

0

the presence of B . Note that it is not p ossible for B to have an attachment v

in the interval a; b and another attachment w that is not in [a; b], since the

0

bridge B would interlace with B in such a case.

b Let the span [a; b] be non-degenerate and let the p ortion of P between a and

i

b be ha = a ;a ; :::; a = bi. Since there is no k -attachment bridge, k > 2,

1 2 k

with span [a; b], there must exist an a ; 1 < i

i i

the same candidate list C , and no vertex outside [a; b] is in C . Hence fa; bg is

an extremal separating pair. Also, since there is no bridge with attachments

on a; b and some other vertex c outside [a; b], there must be some vertex c on

P such that either c < a < b or a < b < c, and a; b and c are in the same

i

0 0

candidate list C . Further, no vertex in the interval a; b can b elong to C .

0

Hence fa; bg is an adjacent pair in the candidate list C . 25

Let fa; bg b e an adjacent separating pair for ear P . The pair a; b is a non-vacuous

i

adjacent separating pair for P if there is a bridge of P in G P  with attachments

i i c i

on a; b and one other vertex in the interval a; b on P ; otherwise the pair fa; bg is a

i

vacuous adjacent separating pair. We leave it as an exercise to verify that if fa; bg is

a non-vacuous adjacent separating pair then TCa; b; i is a simple triconnected graph

and if fa; bg is a vacuous adjacent separating pair, then TCa; b; i is a b ond; if fa; bg

is an extremal separating pair then TCa; b; iis a p olygon.

Lemmas 4.3 and 4.4, in conjunction with Corollary 4.2 tell us that we can compute

the triconnected comp onents of G by the following metho d. Make the splits corresp ond-

ing to the adjacent separating pairs by p erforming, for each star B in G P , an ear

c i

split ea; b; i, where [a; b] is the span of B . Then, break o chains of degree-2 vertices

on the paths in the resulting star graphs to p erform the splits corresp onding to the

extremal separating pairs.

There are two problems with using the ab ove approach in an ecient logarithmic

time algorithm for forming the triconnected comp onents of a graph. One is that we

are working with the ear graphs of the ears and the total size of these graphs need not

be linear in the size of G. The second is that this approach will not work if a vertex

a app ears in an ear split for two di erent ears. In particular, two-attachment bridges

corresp onding to adjacent separating pairs will b e separated on two di erent ears and

this would cause pro cessor con icts.

0

We now turn to G , the lo cal replacement graph of G which we de ned in Section

3.1, in order to develop an ecient metho d of identifying the asso ciated triconnected

comp onents.

0 0 0 0

Let G be the lo cal replacement graph of G and let D = [P ; :::; P ] be the

0 r 1

corresp onding op en ear decomp osition. By Corollary 3.16, a pair fa; bg separates P in

i

0 0

in G . Further, neither a nor b is an G if and only if the pair fa ;b g separates P

P P P P

i

i i i i

0 0

end p oint of P . The following lemma shows that in G we can eciently identify any

i

0 0

bridge B of an ear P which has no attachment to an end p ointofP .

i i

0

Lemma 4.5. Let G be the graph obtainedfrom G by col lapsing al l internal vertices

e

0

of each ear into a single vertex. Let vertex v represent ear P in G . Then the edges

i e

i

incident on v in each block of G whose lowest-numbered vertex is v correspond to the

i e i

0 0 0 0

attachment edges of a bridge of P in G and conversely, each bridge of P in G that

i i

0

has no attachments to the end points of P corresponds to a block of G .

e

i

Proof. Let e and e be any pair of edges incident on v that lie in the same blo ck

1 2 i

B of G whose lowest-numb ered vertex is v . Then there is a path b etween e and e in

e i 1 2

0

B that avoids v and hence in G there is a path b etween e and e that avoids internal

i 1 2

0

vertices of P . But since the lowest-numb ered vertex in B is v , the path between e

i 1

i

and e in B do es not contain any vertex on an ear numb ered lower than i, and hence

2

0 0

e and e must lie in a connected comp onent in G fP g.

1 2

i 26

0 0

Conversely, let B b e a bridge of P in G that has no attachments to the end p oints

i

0 0

of P . Then, when the internal vertices of P are collapsed into v , all of the attachments

i

i i

0

of B on P b ecome incident on v . Thus B b ecomes a blo ck in G with articulation

i e

i

0

p oint v . Further since B has no attachments to the end p oints of P , B is not an anchor

i

i

0

bridge of P and hence v is the minimum-numb ered vertex in B in G .

i e

i

0

Recall that Prop osition 3.7 the copies of a vertex v in G are connected in the

form of a tree. For the following lemma, assume this lo cal tree that replaces v is ro oted

at v where ear v =S .

S

Lemma 4.6. Let fx; y g be a separating pair that separates P in G. Let C be a

connected component in G fx; y g that contains P x; y . If Q is an ear label of one of

the edges of C and if x is one the end points of Q, then x is an ancestor of x in the

P Q

local tree that replaces x.

Proof. If Q is parallel to P , then as fx; y g separates P it has the smallest ear lab el

among the lab els of edges of C . Hence, P would have to be the representative of the

bundle containing Q and the lemma is clearly true. Otherwise, notice that V C  V P 

consists of non-attachmentvertices of a relevant bridge of P . If the lca of the end p oints

0

of Q is not x, then x is a child of x by Step 2 of Build G . Otherwise, by Lemma

Q P

3.12, x is a descendant of x .

Q P

0 0 0

Lemma 4.7. Any bridge of P in G with an attachment to an end point of P must

i i

0 0 0

be either part of the anchoring star of G P  or a bridge of P with attachments only

i i i

0

to the end points of P .

i

0 0

Proof. Let B be a bridge of P in G with an attachment to one of its end p oints

i

x .

P

j

0 0

We rst show that the internal vertices on P are part of the anchoring star of P .

j i

If P is not parallel to P , then j

j i j

P , then let C be the connected comp onent constructed in Step 3 of Algorithm Build

i

0

G that contains P and P and let P b e the ro ot of the spanning tree of C constructed

i j l

in that step. Hence l  j and x is an ancestor of x in LT where LT the lo cal tree

P P x x

j

l

0

that replaces the vertex x in G . Further, by the construction in Step 3 of Algorithm

0 0 0

Build G there is a path in G between an internal vertex of P and an internal vertex of

j

0 0 0

P that avoids all vertices on P . Hence the vertices on P b elong to an anchor bridge

l i j

0

of P .

i

0

Let e =y; x  be an attachment edge of bridge B of P . We will show that B is

P

i

j

0 0

an anchor bridge of P . Let e b elong to ear P .

i k

0

If y 6= x , then e is an edge on P . Hence e, and thus B , is part of the anchoring

P

j

k

0

star of P . If y = x then consider the fundamental cycle completed by the non-tree

P

i

k

!

0

edge u; v in P in the tree in whichx ;x  is a tree edge. If P is not parallel to

T

P P k

k j

k

0

;x inG implies that either this fundamental cycle P , then the presence of edge x

P i P

j

k

0 0

contains an edge on P and no vertex on P , or there is a path from v to the ro ot s of

j i

0 0 0

G that avoids all vertices in P . In either case, e is part of a bridge of P that contains

i i 27

a non-attachment vertex on an ear numb ered lower than i.

If P and P are parallel to each other, then if P is not parallel to P , eachofP and

k i j i i

P corresp ond to the ro ot of the spanning tree of a connected comp onent constructed

k

0 0

in Step 3 of Algorithm Build G . Hence by Lemma 4.6, B is a bridge of P with no

i

0

internal attachment on P . Finally,if P , P and P are all parallel to each other, then

i j k

i

0

since x is the parent of x in LT , there is a path in G between an internal vertex

P P x

j

k

0 0 0

of P and an internal vertex of P that avoids all vertices in P . Hence e is part of the

k j i

0 0

bridge of P that contains the internal vertices of P . This bridge was shown to be an

i j

0

anchor bridge of P .

i

Lemmas 4.5 and 4.7 tell us that the following algorithm generates the ear graph of

0

each ear in G .

0

Algorithm Ear Graphs of G

0 0

Input A lo cal replacement graph G with its asso ciated op en ear decomp osition D =

0 0

[P ; :::; P ].

0 r 1

1. Form G .

e

0

2. For each blo ck B in G do

0

a Let the minimum-numb ered vertex in B be v . Make the image e in G

i

0

of each edge e in B incident on v as an attachment edge of non-anchor

i

0

bridge B in the ear graph of P .

i

0 0

b for each vertex v 6= v in B make the image e in G of each edge e of

j i

B incident on v as an attachment edge of the anchoring star of the ear

j

0

graph of P .

j

0 0

3. For each ear P , add attachment edges to the end p oints of P for the anchoring

i i

star created in Step 2b.

0

Step 1 is the same as Step 1 of Algorithm Build H applied to G Section 3.2.

Steps 2 and 3 can b e implemented in constant time p er edge using the -values of each

vertex computed in Step 3 of Algorithm Build H . The total size of all of the ear graphs

0 0

is O m, where m is the numb er of edges in G , since each edge in G app ears in at most

two ear graphs corresp onding to the ears containing the two end p oints of the edge.

0 0 0

Having obtained the ear graph G P  of each ear in G ,we can obtain the coalesced

i i

0 0

graph G P  of each of the ear graphs using the algorithm of [22]. By Corollary 3.16

c i

0 0 0

and Lemma 4.1, a pair fx ;y g is an adjacent extremal pair separating P in G P 

P P

i c i

i i

if and only if fx; y g is an adjacent extremal pair separating P in G P . It turns out

i c i

0

that the relation between G and G extends beyond separating pairs to triconnected

0

comp onents. The following two lemmas allow us to relate the bridges of ears in G

with the bridges of ears in G, and hence develop an ecient algorithm to nd the

triconnected comp onents of G.

Lemma 4.8. Let x be a vertex in P in G possibly its end point and let e =

i 1

u ;x 2 P and e = u ;x 2 P be two edges incident on x that belong to di erent

1 j 2 2 k

bridges B and B respectively of P , each of which has an internal attachment on P .

1 2 i i 28

Then the least common ancestor lca of x and x in LT is x , where x is an

P P x P P

p p

j

k

ancestor of x in LT .

P x

i

Proof. Supp ose not and let x be lcax ;x , where x is a prop er descendant

P P P P

j

l k l

of x .

P

i

Case 1: There are no parallel ears incidenton x in G.

Let the vertices on the path from x to x in LT be x = x ;x ; :::; x = P .

P P x P P P P l

j j j j j

l

r

1 2

Then by construction the fundamental cycle of P contains an edge in P ;h =

j j

h h+1

1; :::; r 1, and no edge in P in G. A similar situation holds for x . But then all of

i P

k

these ears would lie in the same bridge of P .

i

Case 2: There are some parallel ears incidenton x in G.

Again, by construction, a pair of parallel ears have an ancestor-descendant relationship

in LT only if they are connected to each other by a path that avoids P and their two

v i

end p oints. Hence again, by a combination of this observation and the argument in

case 1 we deduce that P and P must b e in the same bridge of P .

j k i

Lemma 4.9. Let fa; bg be an adjacent or extremal pair separating P in G and let

i

B = fB ; :::; B g be the bridges of P with an internal attachment in a; b. Similarly,

1 r i

0 0 0 0 0

let B = fB ; :::; B g be the bridges of P in G with an internal attachment in a ;b .

0

P P

1 r i i i

0

Then, r = r , and there is a one-to-one correspondencebetween the bridges in B and the

0

bridges in B without loss of generality we assume that the correspondence is between

0

B and B for i =1; :::; r  such that an edge e is in B if and only if the corresponding

i i

i

0 0

edge e is in B .

i

0 0

Proof. We only need to verify that the connectivityatLT in G fP g, for v 2 P ,

v i

i

since the connectedness in the rest of the graph remains unaltered when a vertex u in

0

G is replaced by the tree LT in G . But we note from Lemma 4.8 that if two edges

u

e =u; v  2 P and e =u ;v 2 P , v 2 P are in di erent bridges of P , then e and

1 j 2 2 k i i 1

0

e are separated from each other in G fv g. The lemma follows.

2 P

i

From Lemma 4.9, we see that given an adjacent pair fa; bg separating P , the bridges

i

0

of P with no attachments outside the interval [a ;b ] on P , together with the path

P P i

i i i

0

from a to b on P will corresp ond to the upp er split graph of the ear split ea; b; iin

P P

i

i i

0 0 0

G. Now, we can further apply the Corollary 4.2 to G , and work with G P  to directly

c i

identify the triconnected comp onents of G. This is done in the following algorithm.

Algorithm Triconnected Components

Input A biconnected graph G with an op en ear decomp osition D = [P ; :::; P ],

0 r 1

0

its lo cal replacement graph G , together with its asso ciated op en ear decomp osition

0 0 0 0 0

D =[P ; :::; P ], and the coalesced graph G P ofthe ear graph of each ear in D .

c

0 r 1 i

0

1. For each ear P do

i

0 0

for eachvertex v on P , make a copy, v ,ofv for each star B in G P  that

B c

i i

has an attachment on v . If there is no star with an internal attachment

on v , then make an additional copy v of v to represent the lower split

P

graph formed when all adjacent pairs containing v have b een pro cessed. 29

0

2. Assign vertices to edges on P

i

a For j =0; 1; :::; k 1 do

If there is no bridge with its leftmost attachment on j , then replace

0

edge j; j +1on P by an edge incidenton j , where C is B if there

C

i

is a bridge B with an internal attachment on j and is P otherwise.

b For j =1; :::; k do

If there is no bridge with its rightmost attachmentonj , then replace

0 0

edge j 1;jon P by an edge incidenton j , where D is B if there

D

i

0

is a bridge B with an internal attachmenton j and is P otherwise.

3. Make the splits corresp onding to adjacent separating pairs:

0

For each star B in G P  do

c

i

0

Let the end attachments of B on P be v and w , v

i

a Replace all edges in B incidentonv by edges incidentonv . Similarly

B

replace all edges in B incidenton w by edges incidenton w .

B

b If B has no child-star with an attachment at v , then replace edge

v; v +1on P by an edge incidentonv . Similarly,if B has no child

B

star with an attachmentatw , then replace edge w 1;wby an edge

incidenton w .

B

c Place a virtual edge between v and w , and another virtual edge

B B

between v and w , where C resp. D  is the parent-star of B if the

C D

parent star of B has an attachmentatv resp. w  and is P otherwise.

0

d Replace eachinternal attachment edge of B on a vertex u in P byan

i

edge incidenton u .

P

4. Pro cess extremal pairs:

0

For each star B in G P  do

c

i

0

Let the attachments of B on P be v

0 1 l

i

For j =0; :::; l 1do

if v ;v  is not an edge in the current comp onent containing B ,

j j +1

B B

then

For convenience of notation let x denote v and let y denote v +1.

j j

a Make a copy x of x and a copy y of y .

B B

r

l

0

b Replace the edge on P connecting x to the next larger vertex

B

i

in the current graph by an edge incidenton x .

B

r

0

c Replace the edge on P connecting y to the next smaller vertex

B

i

in the current graph by an edge incidenton y .

B

l

d Place a virtual edge b etween x and y and another virtual edge

B B

between x and y .

B B

r

l

0

5. Convert the vertices in G into vertices in G.

In each of the comp onents formed, collapse all vertices that corresp ond to

a given vertex v in G into a single copyofv to construct the triconnected 30

comp onents of G.

Theorem 4.10. Algorithm Triconnected Components correctly nds the simple

triconnected components and the polygons of G.

0 0

Proof. Consider a bridge B in G P  with span [x ;y ]. By Corollary 3.16 and

c P P

i i i

0 0

Lemma 4.9 we can map each edge e in B that is not in any LT  to an edge e in

v

0

a bridge B of G P  with span [x; y ]. A similar argument holds for the bridges of P

c i

i

0

in G P  corresp onding to the maximal pairs in T x; y . Finally,any two-attachment

c i

i

00 0 0 0

bridge B with attachments c and d on P is split o in P at c and d , where P is

P P P P

i i i j j j j

00 0

the minimum-numb ered ear in B . Hence when we make the split corresp onding to B

in Step 3 of Algorithm Triconnected Comp onents, the edges in the comp onent formed

must corresp ond to the edges in the adjacent triconnected comp onent TC x; y ; i.

A

Finally, the p olygons generated in Step 4 are clearly the p olygons of the triconnected

comp onents of G since all vertices on a p olygon are lo cal to a given ear.

Thus, when we implement Step 5 of the algorithm in a comp onent to get back

original vertices of G, we get back a triconnected comp onent of G.

For the pro cessor-time complexity of Algorithm Triconnected Comp onents, we note

that steps 1, 2 and 4 can be p erformed optimally in logarithmic time. So can all of

the steps in Step 3 except Step 3c, which requires identifying the parent-star of a star

in a star emb edding. This step can be p erformed using the bucket-sort algorithm of

Hagerup [10]. It can also b e p erformed optimally in logarithmic time using list ranking

0

and making use of the fact that G P  is planar. The details of this implementation

c

i

are given in [8]. They are omitted here, since the overall complexity of the algorithm is

dominated by the need to p erform bucket sort in order to obtain the adjacency lists of

the various graphs. Step 5 can be p erformed with the same b ounds as that of nding

the connected comp onents of a graph.

Hence Algorithm Triconnected Comp onents runs in O log n time deterministically

on a CRCW PRAM while p erforming O m + n log log nwork.

5. Conclusion. We have presented an ecient parallel algorithm for dividing a

graph into triconnected comp onents. We conclude the pap er by mentioning the follow-

ing remarks.

1. Our algorithm can be adapted to test 3-edge connectivity within the same

b ounds. For this we use an ear decomp osition instead of an op en ear decomp o-

sition and lo ok for separating pairs of edges. It turns out that in this case it is

not necessary to construct the lo cal replacement graph since each edge of the

graph is contained in exactly one ear. Hence the resulting algorithm is simpler

than the one we have presented for testing vertex triconnectivity.

2. Our parallel algorithm is slightly sub-optimal in the work it p erforms due to the

sub-optimality of the currently known parallel algorithms for nding connected

comp onents and p erforming bucket sort. It will b e interesting to nd improve-

ments in these parallel algorithms, which in turn will lead to improvements in 31

the b ounds for our algorithm.

REFERENCES

[1] N. Alon and B. Schieb er, \Optimal prepro cessing for answering on-line pro duct queries," tech.

rep ort 71/87, Tel Aviv University, Israel, 1987.

[2] J. Cheriyan and R. Thurimella, \Algorithms for parallel k-vertex connectivity and sparse certi -

cates," Proc. 23rdAnn. ACM Symp. on Theory of Computing, 1991, pp. 391-401.

[3] R. Cole and U. Vishkin, \Approximate and exact parallel scheduling with applications to list,

tree, and graph problems," Proc. 27th Symp. Found. Comp. Sci., 1986, pp. 478-491.

[4] S. Even, \An algorithm for determining whether the connectivity of a graph is at least k ," SIAM

J. Computing,vol. 4, 1975, pp. 393-396.

[5] S. Even, Graph Algorithms, Computer Science Press, Ro ckville, MD, 1979.

[6] S. Even, and R. E. Tarjan, \Network ow and testing graph connectivity," SIAM J. Computing,

vol. 4, 1975, pp. 507-518.

[7] D. Fussell and R. Thurimella, \Separation pair detection," VLSI Algorithms and Architectures,

Springer-Verlag LNCS, vol. 319, 1988, pp. 149-159.

[8] D. Fussell, V. Ramachandran and R. Thurimella, \Finding triconnected comp onents by lo cal

replacements," Proc. of ICALP 89, Springer-Verlag LNCS, vol. 372, 1989, pp. 379-393.

[9] H.N. Gab ow, \A matroid approach to nding edge connectivity and packing arb orescences,"

Proc. 23rdAnn. ACM Symp. on Theory of Computing, 1991, pp. 112-122.

[10] T. Hagerup, \Towards optimal parallel bucket sorting," Information and Computation,vol. 75,

pp. 39-51.

[11] J. E. Hop croft, and R. E. Tarjan, \Finding the triconnected comp onents of a graph," TR 72-140,

Computer Science Department, Cornell University, Ithaca, NY, 1972.

[12] J. E. Hop croft, and R. E. Tarjan, \Dividing a graph into triconnected comp onents," SIAM J.

Computing,vol. 2, 1973, pp. 135-158.

[13] J. J aJ a, and J. Simon, \Parallel algorithms in : Planarity Testing," SIAM J.

Computing,vol. 11, 1982, pp. 314-328.

[14] A. Kanevsky, V. Ramachandran, \Improved algorithms for graph four-connectivity," Journal of

Computer and System Sciences, 42 1991, pp. 288{306.

[15] R. M. Karp, V. Ramachandran, \Parallel algorithms for shared-memory machines," Handbook of

Theoretical Computer Science, North-Holland, 1990, pp. 869-941.

[16] G.L. Miller, and J. Reif, \Parallel tree contraction and its applications," Proc. 26th Symp. Found.

Comp. Sci., Octob er 1985, pp. 478-489.

[17] G.L. Miller, an V. Ramachandran, \Ecient parallel ear decomp osition with applications,"

Manuscript, MSRI, Berkeley, CA, January 1986.

[18] G.L. Miller, and V. Ramachandran, \A new triconnectivity algorithm and its applications," Proc.

19th Ann. ACM Symp. on Theory of Computing,May 1987, pp. 335-344; also, Combinatorica,

vol. 12, 1992, to app ear.

[19] Y. Maon, B. Schieb er, and U. Vishkin, \Parallel ear decomp osition search EDS and ST-

numb ering in graphs," Theoretical Computer Science, vol. 47, 1986, pp. 277-298. vol. 227, 32

1986, pp. 34-45.

[20] H. Nagamo chi and T. Ibaraki, \Linear time algorithms for nding a sparse k-connected spanning

subgraph of a k-connected graph," Algorithmica, to app ear.

[21] V. Ramachandran, \Parallel op en ear decomp osition and its application to graph biconnectivity

and triconnectivity," to app ear as a chapter in Synthesis of Paral lel Algorithms, J.H. Reif,

ed., Morgan-Kaufmann.

[22] V. Ramachandran, and U. Vishkin, \Ecient parallel triconnectivity in logarithmic time," VLSI

Algorithms and Architectures, Springer-Verlag LNCS, vol. 319, 1988, pp. 33-42.

[23] S. Ra jasekaran and J. H. Reif, \Optimal and sublogarithmic time randomized parallel sorting

algorithms," SIAM J. Computing,vol. 18, 1989, pp. 594-607.

[24] B. Schieb er, U. Vishkin, \On nding lowest common ancestors: simpli cation and paralleliza-

tion," VLSI Algorithms and Architectures, Springer-Verlag LNCS 319, 1988, pp. 111-123.

[25] R. E. Tarjan, and U. Vishkin, \An ecient parallel biconnectivity algorithm," SIAM J. Comput-

ing, 14 1984, pp. 862-874.

[26] W. T. Tutte, Connectivity in Graphs, UniversityofToronto Press, 1966.

[27] H. Whitney, \Non-separable and Planar Graphs," Trans. Amer. Math. Soc., 34 1932, pp. 339-

362. 33

App endix

A. Keeping G Sparse. Recall, from Section 3.3, the trick to keep G sparse

b b

Step 1 of Planarize H . We add at most two edges for eachvertex b . The edge b ;b 

1 1 2

resp. b ;b  is such that B resp. B interlaces B and furthermore it is the bridge

1 3 2 3 1

with an attachment that is furthest to the left resp. right with resp ect to the leftmost

resp. rightmost attachmentofB .

1

We show that the connected comp onents of the graph obtained by adding an edge

between b and b for every interlacing pair of bridges B and B , and that of G are

1 2 1 2 b

identical. Consider a pro of by contradiction. Let B = s; t be the rightmost bridge

1

i.e. highest post value with an interlacing bridge B = u; v , posu < poss <

2

posv  < post, such that b ;b  62 E G . Then, by our construction, there must

1 2 b

exist of b ;r  and b ;l  in G where the bridges R =a; b and L =c; d interlace

2 1 1 1 b

with B and B , resp ectively. Further, R and L are such that posd < posu and

2 1

posb > post. Now, since R interlaces with B , a 2 P u; v . If a 2 P s; v , then

2

R and B interlace. As we assumed that B is the rightmost bridge that b elongs to a

1 1

\bad" interlacement pair, we can conclude that r;b  2 E G . On the other hand, if

1 b

a 2 P u; s, R and L interlace and r;l 2 E G . In either case, b and b b elong to

b 1 2

the same connected comp onentinG . A contradiction.

b

B. Building an Adjacency list using Bucket Sort. The complexity of the

pro cedure we are ab ove to describ e is O log n time using O m + n log log n pro cessors.

The needed representation is a sp ecial kind of adjacency list. In this representation,

every edge u; v  app ears as two directed edges hu; v i and hv; ui, i.e., the vertices u and

v app ear in each others adjacency lists. Given a list of edges, we can accomplish this

by 1 sorting the edges to make sure that no edge app ears twice initially, 2 creating

hv; ui for every hu; v i, 3 evaluating the degree of eachvertex v by using the di erence

in the addresses in the sorted array of the rst o ccurrence and last o ccurrence of v ,

4 allo cating in memory one arrayof size degreev  for each v , and nally 5 making

the pro cessor allo cated to u; v  resp onsible for creating the entry in the list of u. We

use the parallel bucket-sort algorithm of Hagerup [10] which runs in O log n time with

n log log n op erations to sort n numb ers to achieve the desired complexity. 34