Biconnectivity SEA PVD ORD FCO SNA MIA 11/16/2018 2:31 AM

Slides:



Advertisements
Similar presentations
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
Advertisements

Spring 2007Shortest Paths1 Minimum Spanning Trees JFK BOS MIA ORD LAX DFW SFO BWI PVD
CSC401 – Analysis of Algorithms Lecture Notes 14 Graph Biconnectivity
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 14 Strongly connected components Definition and motivation Algorithm Chapter 22.5.
Depth-First Search1 DB A C E. 2 Outline and Reading Definitions (§6.1) Subgraph Connectivity Spanning trees and forests Depth-first search (§6.3.1) Algorithm.
1 The Graph Abstract Data Type CS 5050 Chapter 6.
© 2004 Goodrich, Tamassia Directed Graphs1 JFK BOS MIA ORD LAX DFW SFO.
1 Directed Graphs CSC401 – Analysis of Algorithms Lecture Notes 15 Directed Graphs Objectives: Introduce directed graphs and weighted graphs Present algorithms.
1 Graphs: Concepts, Representation, and Traversal CSC401 – Analysis of Algorithms Lecture Notes 13 Graphs: Concepts, Representation, and Traversal Objectives:
Directed Graphs1 JFK BOS MIA ORD LAX DFW SFO. Directed Graphs2 Outline and Reading (§6.4) Reachability (§6.4.1) Directed DFS Strong connectivity Transitive.
Minimum Spanning Trees1 JFK BOS MIA ORD LAX DFW SFO BWI PVD
© 2004 Goodrich, Tamassia Minimum Spanning Trees1 Minimum Spanning Trees (§ 13.7) Spanning subgraph Subgraph of a graph G containing all the vertices of.
Data Structures, Spring 2006 © L. Joskowicz 1 Data Structures – LECTURE 14 Strongly connected components Definition and motivation Algorithm Chapter 22.5.
Minimum Spanning Trees1 JFK BOS MIA ORD LAX DFW SFO BWI PVD
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Lecture17: Graph I Bohyung Han CSE, POSTECH CSED233: Data Structures (2014F)
Graphs – ADTs and Implementations ORD DFW SFO LAX
Graphs Chapter 12.
Graphs Part 1. Outline and Reading Graphs (§13.1) – Definition – Applications – Terminology – Properties – ADT Data structures for graphs (§13.2) – Edge.
October 22, DFS, BFS, Biconnectivity, Digraphs 1 CS 221 West Virginia University.
Spring 2007Graphs1 ORD DFW SFO LAX
GRAPHS 1. Outline 2  Undirected Graphs and Directed Graphs  Depth-First Search  Breadth-First Search.
Connectivity1 Connectivity and Biconnectivity connected components cutvertices biconnected components.
CSC401: Analysis of Algorithms 6-1 CSC401 – Analysis of Algorithms Chapter 6 Graphs Objectives: Introduce graphs and data structures Discuss the graph.
CHAPTER 13 GRAPH ALGORITHMS ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA.
Directed Graphs1 JFK BOS MIA ORD LAX DFW SFO. Directed Graphs2 Outline and Reading (§12.4) Reachability (§12.4.1) Directed DFS Strong connectivity Transitive.
Graphs ORD SFO LAX DFW Graphs 1 Graphs Graphs
BCA-II Data Structure Using C Submitted By: Veenu Saini
Breadth-First Search L0 L1 L2
Graphs 10/24/2017 6:47 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Directed Graphs Directed Graphs Shortest Path 12/7/2017 7:10 AM BOS
Shortest Paths C B A E D F Shortest Paths
Directed Graphs 12/7/2017 7:15 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
Graphs.
Minimum Spanning Trees
Minimum Spanning Trees
Searching Graphs ORD SFO LAX DFW Spring 2007
Breadth-First Search L0 L1 L2 C B A E D F Breadth-First Search
Breadth-First Search L0 L1 L2
Chapter 14 Graph Algorithms
Directed Graphs 9/20/2018 1:45 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
Directed Graphs 5/1/15 12:25:22 PM
Graph Algorithms Using Depth First Search
Directed Graphs Directed Graphs 1 Shortest Path Shortest Path
Graphs Part 1.
CMSC 341 Lecture 21 Graphs (Introduction)
Graphs.
Graphs.
Breadth-First Search L0 L1 L2 C B A E D F Breadth-First Search
Depth-First Search D B A C E Depth-First Search Depth-First Search
Breadth-First Search L0 L1 L2 C B A E D F Breadth-First Search
Depth-First Search D B A C E Depth-First Search Depth-First Search
Minimum Spanning Trees
What is a Graph? a b c d e V= {a,b,c,d,e} E= {(a,b),(a,c),(a,d),
CS 583 Analysis of Algorithms
Minimum Spanning Tree Section 7.3: Examples {1,2,3,4}
Graphs ORD SFO LAX DFW Graphs Graphs
Subgraphs, Connected Components, Spanning Trees
Graphs ORD SFO LAX DFW Graphs Graphs
Searching Graphs ORD SFO LAX DFW Spring 2007
Directed Graphs Directed Graphs Directed Graphs 2/23/ :12 AM BOS
Depth-First Search D B A C E 4/13/2019 5:23 AM Depth-First Search
Graphs ORD SFO LAX DFW /15/ :57 AM
Breadth-First Search L0 L1 L2 C B A E D F 4/25/2019 3:12 AM
Biconnectivity SEA PVD ORD FCO SNA MIA 5/6/2019 5:08 PM Biconnectivity
Biconnectivity SEA PVD ORD FCO SNA MIA 5/23/ :21 PM
Breadth-First Search L0 L1 L2 C B A E D F 5/14/ :22 AM
Breadth-First Search L0 L1 L2 C B A E D F 7/28/2019 1:03 PM
Presentation transcript:

Biconnectivity SEA PVD ORD FCO SNA MIA 11/16/2018 2:31 AM

Outline and Reading Definitions (§6.3.2) Algorithms (§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 11/16/2018 2:31 AM Biconnectivity

Separation Edges and Vertices 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 ORD PVD SFO LGA HNL LAX DFW MIA 11/16/2018 2:31 AM Biconnectivity

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 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 is a simple cycle containing u and v Example PVD ORD SFO LGA HNL LAX DFW MIA 11/16/2018 2:31 AM Biconnectivity

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 11/16/2018 2:31 AM Biconnectivity

Equivalence Classes Given a set S, a relation R on S is a set of ordered pairs of elements of S, i.e., R is a subset of SS An equivalence relation R on S satisfies the following properties Reflexive: (x,x)  R Symmetric: (x,y)  R  (y,x)  R Transitive: (x,y)  R  (y,z)  R  (x,z)  R An equivalence relation R on S induces a partition of the elements of S into equivalence classes Example (connectivity relation among the vertices of a graph): Let V be the set of vertices of a graph G Define the relation C = {(v,w)  VV such that G has a path from v to w} Relation C is an equivalence relation The equivalence classes of relation C are the vertices in each connected component of graph G 11/16/2018 2:31 AM Biconnectivity

Equivalence classes of linked edges: Link Relation Edges e and f of connected graph G are linked if e = f, or G has a simple cycle containing e and f 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 a b g c j d e f i Equivalence classes of linked edges: {a} {b, c, d, e, f} {g, i, j} i g e b a d j c f 11/16/2018 2:31 AM Biconnectivity

Link Components The link components of a connected graph G are the equivalence classes of edges with respect to the link relation A biconnected component of G is the subgraph of G induced by an equivalence class of 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 of linked edge ORD PVD SFO LGA RDU HNL LAX DFW MIA 11/16/2018 2:31 AM Biconnectivity

Auxiliary Graph 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 edge e 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 b e j i d c f a DFS on graph G g e i h b f j d c a Auxiliary graph B 11/16/2018 2:31 AM Biconnectivity

Auxiliary Graph (cont.) In the worst case, the number of edges of the auxiliary graph is proportional to nm DFS on graph G Auxiliary graph B 11/16/2018 2:31 AM Biconnectivity

Proxy Graph DFS on graph G Proxy graph F h g Algorithm proxyGraph(G) Input connected graph G Output proxy graph F for G F  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 e = (u,v) repeat f  discovery edge with dest. u F.insertEdge(e,f,) if f getLabel(f) = UNLINKED setLabel(f, LINKED) u  origin of edge f else u  v { ends the loop } until u = v return F i b e j i d c f a DFS on graph G g e i h b f j d c a Proxy graph F 11/16/2018 2:31 AM Biconnectivity

Proxy Graph (cont.) 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 b e j i d c f a DFS on graph G g e i h b f j d c a Proxy graph F 11/16/2018 2:31 AM Biconnectivity