Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

Biconnected componentsLet G=(V,E) be an undirected graph. For any two edgese,e'E,, we’ll saye:e'if eithere=e'or there is a (simple) cycle containing both e and e'.

a. Show that : is an equivalence relation (recall Exercise 3.29) on the edges.

The equivalence classes into which this relation partitions the edges are called the biconnected components of G . A bridge is an edge which is in a biconnected component all by itself.

A separating vertexis a vertex whose removal disconnects the graph.

b. Partition the edges of the graph below into biconnected components, and identify the bridges and separating vertices.

Not only do biconnected components partition the edges of the graph, they almost partition the vertices in the following sense.

c. Associate with each biconnected component all the vertices that are endpoints of its edges. Show that the vertices corresponding to two different biconnected components are either disjoint or intersect in a single separating vertex.

d. Collapse each biconnected component into a single meta-node, and retain individual nodes for each separating vertex. (So there are edges between each component node and its separating vertices.) Show that the resulting graph is a tree.

DFS can be used to identify the biconnected components, bridges, and separating vertices of a graph in linear time.

e. Show that the root of the DFS tree is a separating vertex if and only if it has more than one child in the tree.

f. Show that a non-root vertex v of the DFS tree is a separating vertex if and only if it has a child v' none of whose descendants (including itself) has a back edge to a proper ancestor of v .

g. For each vertex u define:

Iowu=minpreuprew

Where (v,w) is a back edge for some descendant v of u.

(h) Show how to compute all separating vertices, bridges, and biconnected components of a graph in linear time.

Short Answer

Expert verified

(a) The relation e: e' is an equivalence relation since, it is reflexive, symmetric, and Transitive.

(b) The bridges are (B,D),(D,C) , (D,M) and the separating vertices are B, D, L

(c) The vertices corresponding to two different biconnected components are either disjoint or intersect in a single separating vertex can be proved by considering the biconnected branches.

(d) The resulting graph is a tree that has been proved.

(e) It can be proved by the connectivities of the DFS.

(f) It can be shown that a non-root vertex of e DFS tree is a separating vertex if and only if it has a child none of whose descendants (including themselves) has a back edge to a proper ancestor of v.

(g) The entire array of low values can be computed in linear time by the following expression lowf=minlowf,lowv,t

(h) Separating vertices, bridges, and biconnected components of a graph can be found in OV+Etime.

Step by step solution

01

Explain Biconnected components

Let G=(V,E) be an undirected graph. For any two edges e,e'E, the relation is an equivalence relation. The equivalence classes into which this relation partitions the edges are called the biconnected components of G

02

Step 1: Show that :  is an equivalence relation (recall Exercise 3.29) on the edges.

(a)

Consider the undirected graph G(V,E) , that has two edgese,e'E. There exists that a simple cycle containing both e and e' or e: e' .

Since the edges are considered to be in an undirected graph ,soe,eEfor all .

Hence e: e' is reflexive.

The edges exist in a simple cycle, which infers thate,e'Ethenlocalid="1658918626972" e'eE.

Hence e: e' is symmetric.

Since the edges present in a simple cycle, if e,e'Eand e',e''Ethen .

e,e''E

Hence e: e' is transitive.

Since e: e' is reflexive, symmetric and transitive , It is said be an equivalence relation on the edges.

Therefore, The relation e: e' is an equivalence relation

03

Step 3: Identify the bridges and separating vertices.

(b)

A bridge is an edge that is in a biconnected component all by itself. A biconnected component is a subgraph that cannot be broken by deleting any single node.

A separating vertex is a vertex whose removal disconnects the graph.

Consider the given undirected graph,


The bridges in the graph are, B,D,D,C,D,M,because these edges are biconnected component all by themselves.

The separating vertices that disconnects the graph are, B , D , L

Therefore, The bridges are B,D,D,C,D,Mand the separating vertices are B,D,L.

04

Step 4: Show that the vertices corresponding to two different biconnected components are either disjoint or intersect in a single separating vertex.

(c)

Consider the two biconnected branches C1and C2, that has more than two common vertices. Take any two of the vertices u,v, that u and v are connected in C1and C2.

The path between u and v in C1is C2and the path between and in is .The paths form a ring that shows that and are biconnected. This is a contradiction.

Therefore, it is impossible for two biconnected branches to have a same vertex.

Therefore, it has been proved that the vertices corresponding to two different biconnected components are either disjoint or intersect in a single separating vertex.

05

Step 5: Show that the resulting graph is tree

(d)

Consider the information:

Each biconnected component is collapsed into a single meta-node, and retain individual nodes for each separating vertex.

There is no edge between any biconnected branch and any other vertex that its cut point can reach. So after collapsing all biconnected components , there will be no loop. This forms a tree, if the original graph is connected.

There, it is shown that the resulting graph is tree.

06

Step 6: Show that the root of DFS is a separating vertex in a given condition.

(e)

Consider the DFS tree with root node r. For the root node r , all paths between all its subtree will pass through r. If there are two subtrees in r, that are not empty after removing the root, the subtrees will be disconnected. So, r is the cut point.

If r has no more than one subtree, then removing r doesnot affect connectivity.

Therefore, it has been shown that the root of the DFS is a separating vertex if and only if it has more than one child in the tree

07

Step 7: Show that a non-root of DFS is a separating vertex in a given condition.

(f)

Consider that the subtrees of the vertex v that have an edge pointing to an ancestor of v. All vertices in its subtree will be reachable after falling .

If v has subtree with no edge pointing to ancestor, then if is removed the subtree will be replaced by the disconnected. Hence, v is the cut point.

Therefore, it has been shown that the non-root of the DFS is a separating vertex if and only if it has more than one child in the tree.

08

Step 8: Show that the entire array of low values can be computed in linear time.

(g)

Consider that each vertex define

lowu=minpreuprew

Where (v,w) is a back edge for some descendant v of u .

In the previsit process, initialize low (v) and pre (v) .

If v has back edge, let t be the minimum value of pre (w) among the edges evw .

In post visit , the parent of v is considered, and the low value of parent f is set as:

role="math" localid="1658917377942" lowf=minlowf,lowv,t

Therefore, The entire array of low values can be computed in linear time by the following expression, lowf=minlowf,lowv,t.

09

Step 9: Show the computing od separating veritices, bridges, and biconnected components in linear time.

(h)

For vertex v in the DFS tree, if it has more than one child or one parent u, then the child makes lowuprevv. Then is a cut point.

Process for biconnected branches:

Select edge in the graph and push it into the stack. If stack is not empty, set the top element as e(a,b). If not a is a cut point, push all unvisited edges onto the stack. If b is not a cut point push all the unvisited edges onto the stack. If a and b are cutpoints, access e(a,b), is popped off the stack.Thus the biconnected branches are computed.

Therefore, Separating vertices, bridges, and biconnected components of a graph can be found in O(V+E) time.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Give an efficient algorithm which takes as input a directed graph G(V,E)and determines whether or not there is a vertexsV from which all other vertices are reachable.

On page 102, we defined the binary relation “connected” on the set of vertices of a directedgraph. Show that this is an equivalence relation(see Exercise 3.29), and conclude that it partitions the vertices into disjoint strongly connected components.

Two paths in a graph are called edge-disjointif they have no edges in common. Show that in any undirected graph, it is possible to pair up the vertices of odd degree and find paths between each such pair so that all these paths are edge-disjoint.

The police department in the city of Computopia has made all streets one-way. The mayor contends that there is still a way to drive legally from any intersection in the city to any other intersection, but the opposition is not convinced. A computer program is needed to determine whether the mayor is right. However, the city elections are coming up soon, and there is just enough time to run a linear-time algorithm.

a) Formulate this problem graph-theoretically, and explain why it can indeed be solved in linear time.

(b) Suppose it now turns out that the mayor’s original claim is false. She next claims something weaker: if you start driving from town hall, navigating one-way streets, then no matter where you reach, there is always a way to drive legally back to the town hall. Formulate this weaker property as a graph-theoretic problem, and carefully show how it too can be checked in linear time.

Run the strongly connected components algorithm on the following directed graphs G. When doing DFS on GR: whenever there is a choice of vertices to explore, always pick the one that is alphabetically first.

In each case answer the following questions.

(a) In what order are the strongly connected components (SCCs) found?

(b) Which are source SCCs and which are sink SCCs?

(c) Draw the “metagraph” (each meta-node is an SCC of G).

(d) What is the minimum number of edges you must add to this graph to make it strongly connected

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free