1 / 16

Biconnectivity

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

brittania
Télécharger la présentation

Biconnectivity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Biconnectivity SEA PVD ORD FCO SNA MIA Biconnectivity

  2. Outline and Reading • Definitions (§6.3.2) • Separation vertices and edges • Biconnected graph • Biconnected components • Equivalence classes • Linked edges and link components • Algorithms (§6.3.2) • Auxiliary graph • Proxy graph Biconnectivity

  3. Definitions Let G be a connected graph A separation edge of G is an edge whose removal disconnects G A separation vertex of G is a vertex whose removal disconnects G Applications Separation edges and vertices represent single points of failure in a network and are critical to the operation of the network Example DFW, LGA and LAX are separation vertices (DFW,LAX) is a separation edge Separation Edges and Vertices ORD PVD SFO LGA HNL LAX DFW MIA Biconnectivity

  4. Biconnected Graph • Equivalent definitions of a biconnected graph G • Graph G has no separation edges and no separation vertices • For any two vertices u and v of G,there are at least two disjoint simple paths between u and v (i.e., two simple paths between u and v that share no other vertices or edges) • For any two vertices u and v of G, there are at least one simple cycle containing u and v • Example PVD ORD SFO LGA HNL LAX DFW MIA Biconnectivity

  5. Biconnected Components • Biconnected component of a graph G • A maximal biconnected subgraph of G, or • A subgraph consisting of a separation edge of G and its end vertices • Interaction of biconnected components • An edge belongs to exactly one biconnected component • A nonseparation vertex belongs to exactly one biconnected component • A separation vertex belongs to two or more biconnected components • Example of a graph with four biconnected components ORD PVD SFO LGA RDU HNL LAX DFW MIA Biconnectivity

  6. Equivalence Classes • Given a set S, a relationR(x,y) on S is defined for each pair of x and y in S, such that R (x,y) is either true or false. • R(x,y) is an equivalence relationif it satisfies the following properties Reflexive: R(x,x)is true for each x. Symmetric: R(x,y)=R(y,x) for each x and y in C. Transitive: If R(x,y) is true and R(y,x) is true, then R(x,z) is true. • Example (connectivity relation among the vertices of a graph): • Let V be the set of vertices of a graph G • Define the relationR(v,w)=true if G has a path from v to w • Relation C is an equivalence relation Biconnectivity

  7. Equivalence Classes • An equivalence relation R on S induces a partition of the elements of S into equivalence classes • The equivalence class for any x in S is the set of all objects y, such that R(x,y)=ture • In the previous example, the equivalence class for vertex v, are the vertexes that are connected to v Biconnectivity

  8. i g e b a d j f c Link Relation • Edges e and f of connected graph Gare linked if • e = f, or • G has a simple cycle containing e and f Link relation: R(x,y)=true, if x and y are linked It is defined on the set of edges: S={edges of graph G} Theorem: The link relation on the edges of a graph is an equivalence relation Proof Sketch: • The reflexive and symmetric properties follow from the definition • For the transitive property, consider two simple cycles sharing an edge Equivalence classes of linked edges: {a} {b, c, d, e, f} {g, i, j} i g e b a d j f c Biconnectivity

  9. A biconnected component of G corresponds to the subgraph of G induced by an equivalence classof linked edges A separation edge is a single-element equivalence class of linked edges A separation vertex has incident edges in at least two distinct equivalence classes The equivalence classes of edges with respect to the link relation are also called the link components of G Link Components ORD PVD SFO LGA RDU HNL LAX DFW MIA Biconnectivity

  10. Biconnected Components • Since the link components (equivalence classes of edges with respect to the link relation) of G correspond to the biconnected components, to construct the biconnected componnets of G we need only compute the link components. Biconnectivity

  11. Auxiliary Graph h g i e b • Auxiliary graph B for a connected graph G • Associated with a DFS traversal of G • The vertices of B are the edges of G • For each back edgee of G, B has edges (e,f1), (e,f2) , …, (e,fk),where f1, f2, …, fk are the discovery edges of G that form a simple cycle with e • Its connected components correspond to the the link components of G i j d c f a DFS on graph G g e i h b f j d c a Auxiliary graph B Biconnectivity

  12. Biconnected Components LinkComponents (G) Input: A connected graph G Output: The link components of G 1) Perform a DFS traversal T on G 2) Compute the auxiliary graph B 3) compute the connected components of B by performing a DFS traversal on B 4) For each connected component of B, output the vertices of B as a link component of G Biconnected components, separation edges, and separation vertexes can be identified after we know the link components. Biconnectivity

  13. Auxiliary Graph (cont.) • In the worst case, the number of edges of the auxiliary graph is proportional to nm. Thus, the overall running time is O(nm) DFS on graph G Auxiliary graph B Biconnectivity

  14. Biconnected Components • The bottleneck in the auxiliary graph approach is the construction of the auxiliary graph B, which take O(nm) time. • But we do not need all of the auxiliary graph B in order to find the biconnected components of G. • We only need to identify the connected components of B. • We only need a spanning forest of B. • Thus we can reduce the time required to compute the link components of G by using the spanning forest of B (Proxy graph, F), which can be constructed in time O(n+m) Biconnectivity

  15. Proxy Graph h g AlgorithmproxyGraph(G) Inputconnectedgraph GOutputproxy graph F for GFempty graph DFS(G, s) { s is any vertex of G} for all discovery edges e of G F.insertVertex(e) setLabel(e, UNLINKED) for all vertices v of G in DFS visit order for all back edges k= (u,v) F.insertVertex(k) repeat ldiscovery edge with dest. u F.insertEdge(k,l) if getLabel(l) =UNLINKED setLabel(l, LINKED) uorigin of edge l else uv { shortcut to ends the loop } until u=v returnF i e b i j d c f a DFS on graph G g e i h b f j d c a Proxy graph F Biconnectivity

  16. Proxy Graph (cont.) h g i e b • Proxy graph F for a connected graph G • Spanning forest of the auxiliary graph B • Has m vertices and O(m) edges • Can be constructed in O(n +m) time • Its connected components (trees) correspond to the the link components of G • Given a graph G with n vertices and m edges, we can compute the following in O(n +m) time • The biconnected components of G • The separation vertices of G • The separation edges of G i j d c f a DFS on graph G g e i h b f j d c a Proxy graph F Biconnectivity

More Related