You are on page 1of 2

Biconnectivity 5/7/2002 11:09 AM

Outline and Reading


Definitions (§6.3.2)
Biconnectivity „ Separation vertices and edges
„ Biconnected graph
„ Biconnected components
SEA PVD „ Equivalence classes
ORD „ Linked edges and link components
FCO
Algorithms (§6.3.2)
SNA MIA
„ Auxiliary graph
„ Proxy graph

5/7/2002 11:09 AM Biconnectivity 1 5/7/2002 11:09 AM Biconnectivity 2

Separation Edges and Vertices Biconnected Graph


Definitions Equivalent definitions of a biconnected graph G
„ Let G be a connected graph
„ Graph G has no separation edges and no separation vertices
„ A separation edge of G is an edge whose removal disconnects G
„ For any two vertices u and v of G, there are two disjoint
„ A separation vertex of G is a vertex whose removal disconnects G
simple paths between u and v (i.e., two simple paths
Applications between u and v that share no other vertices or edges)
„ Separation edges and vertices represent single points of failure in a „ For any two vertices u and v of G, there is a simple cycle
network and are critical to the operation of the network
containing u and v
Example
„ DFW, LGA and LAX are separation vertices Example
PVD
„ (DFW,LAX) is a separation edge ORD
ORD PVD SFO
SFO
LGA LGA
HNL
HNL
LAX LAX
DFW MIA DFW MIA

5/7/2002 11:09 AM Biconnectivity 3 5/7/2002 11:09 AM Biconnectivity 4

Biconnected Components Equivalence Classes


Biconnected component of a graph G Given a set S, a relation R on S is a set of ordered pairs of
„ A maximal biconnected subgraph of G, or elements of S, i.e., R is a subset of S×S
„ A subgraph consisting of a separation edge of G and its end vertices An equivalence relation R on S satisfies the following properties
Interaction of biconnected components Reflexive: (x,x) ∈ R
„ An edge belongs to exactly one biconnected component Symmetric: (x,y) ∈ R ⇒ (y,x) ∈ R
„ A nonseparation vertex belongs to exactly one biconnected component Transitive: (x,y) ∈ R ∧ (y,z) ∈ R ⇒ (x,z) ∈ R
„ A separation vertex belongs to two or more biconnected components An equivalence relation R on S induces a partition of the
Example of a graph with four biconnected components elements of S into equivalence classes
Example (connectivity relation among the vertices of a graph):
ORD PVD „ Let V be the set of vertices of a graph G
SFO „ Define the relation
LGA C = {(v,w) ∈ V×V such that G has a path from v to w}
RDU „ Relation C is an equivalence relation
HNL
LAX „ The equivalence classes of relation C are the vertices in each
DFW MIA connected component of graph G

5/7/2002 11:09 AM Biconnectivity 5 5/7/2002 11:09 AM Biconnectivity 6

1
Biconnectivity 5/7/2002 11:09 AM

Link Relation Link Components


Edges e and f of connected
graph G are linked if i The link components of a connected graph G are the equivalence
g classes of edges with respect to the link relation
„ e = f, or e
b A biconnected component of G is the subgraph of G induced by an
„ G has a simple cycle a d
containing e and f j equivalence class of linked edges
Theorem: c f A separation edge is a single-element equivalence class of linked
edges
The link relation on the Equivalence classes of linked edges:
edges of a graph is an A separation vertex has incident edges in at least two distinct
{a} {b, c, d, e, f} {g, i, j} equivalence classes of linked edge
equivalence relation
Proof Sketch:
„ The reflexive and ORD PVD
i
symmetric properties e g SFO
follow from the definition b LGA
„ For the transitive a d RDU
property, consider two j HNL
c f LAX
simple cycles sharing an DFW MIA
edge
5/7/2002 11:09 AM Biconnectivity 7 5/7/2002 11:09 AM Biconnectivity 8

Auxiliary Graph h
Auxiliary Graph (cont.)
g
Auxiliary graph B for a connected i
graph G
b e In the worst case, the number of edges of the
j i
„ Associated with a DFS traversal
auxiliary graph is proportional to nm
c d
of G f
„ The vertices of B are the edges
a
of G
„ For each back edge e of G, B has DFS on graph G
edges (e,f1), (e,f2) , …, (e,fk),
where f1, f2, …, fk are the g
e
discovery edges of G that form a i
h
simple cycle with e b
„ Its connected components f j
correspond to the the link d
c
components of G a DFS on graph G Auxiliary graph B
Auxiliary graph B
5/7/2002 11:09 AM Biconnectivity 9 5/7/2002 11:09 AM Biconnectivity 10

Proxy Graph Proxy Graph (cont.)


h h
Algorithm proxyGraph(G) g g
i Proxy graph F for a connected i
Input connected graph G b e b e
Output proxy graph F for G graph G
j i j i
F ← empty graph „ Spanning forest of the auxiliary
DFS(G, s) { s is any vertex of G} c d graph B c d
f f
for all discovery edges e of G „ Has m vertices and O(m) edges
F.insertVertex(e)
a „ Can be constructed in O(n + m) a
setLabel(e, UNLINKED)
for all vertices v of G in DFS visit order time
for all back edges e = (u,v) DFS on graph G „ Its connected components (trees) DFS on graph G
F.insertVertex(e) correspond to the the link
while u ≠ s g components of G g
f ← discovery edge with dest. u e e
i Given a graph G with n vertices i
F.insertEdge(e,f,∅) h h
if f getLabel(f) = UNLINKED b and m edges, we can compute the b
f j following in O(n + m) time f j
setLabel(f, LINKED)
u ← origin of edge f d d
c „ The biconnected components of G c
else a „ The separation vertices of G a
u ← s { ends the while loop }
return F Proxy graph F „ The separation edges of G Proxy graph F
5/7/2002 11:09 AM Biconnectivity 11 5/7/2002 11:09 AM Biconnectivity 12

You might also like