SPARSE CERTIFICATES AND SCAN-FIRST SEARCH FOR K-VERTEX CONNECTIVITY

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

§5 Minimum Spanning Tree 【 Definition 】 A spanning tree of a graph G is a tree which consists of V( G ) and a subset of E( G ) 〖 Example 〗 A complete.
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
10.4 Spanning Trees. Def Def: Let G be a simple graph. A spanning tree of G is a subgraph of G that is a tree containing every vertex of G See handout.
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
1 Section 9.4 Spanning Trees. 2 Let G be a simple graph. A spanning subtree of G is a subgraph of G containing every vertex of G –must be connected; contains.
Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan Mohammad Reza Akhavan.
1. Given a predetermined property and a graph we want to distinguish between the 2 cases: 1)The graph has the property 2) The graph is “far” from having.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
CSE 326: Data Structures Spanning Trees Ben Lerner Summer 2007.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Tirgul 7 Review of graphs Graph algorithms: – BFS (next tirgul) – DFS – Properties of DFS – Topological sort.
Tirgul 13 Today we’ll solve two questions from last year’s exams.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
Spring 2015 Lecture 11: Minimum Spanning Trees
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
CSCI 115 Chapter 7 Trees. CSCI 115 §7.1 Trees §7.1 – Trees TREE –Let T be a relation on a set A. T is a tree if there exists a vertex v 0 in A s.t. there.
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
All-Pairs Shortest Paths & Essential Subgraph 01/25/2005 Jinil Han.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Spanning Trees CSIT 402 Data Structures II 1. 2 Two Algorithms Prim: (build tree incrementally) – Pick lower cost edge connected to known (incomplete)
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
1 Spanning Trees Longin Jan Latecki Temple University based on slides by David Matuszek, UPenn, Rose Hoberman, CMU, Bing Liu, U. of Illinois, Boting Yang,
Minimum Bottleneck Spanning Trees (MBST)
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Tree Diagrams A tree is a connected graph in which every edge is a bridge. There can NEVER be a circuit in a tree diagram!
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
5. Biconnected Components of A Graph If one city’s airport is closed by bad weather, can you still fly between any other pair of cities? If one computer.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
CSC 213 – Large Scale Programming Lecture 31: Graph Traversals.
CSC317 1 At the same time: Breadth-first search tree: If node v is discovered after u then edge uv is added to the tree. We say that u is a predecessor.
Trees.
Graph Search Applications, Minimum Spanning Tree
Breadth-First Search (BFS)
Introduction to Algorithms
Computing Connected Components on Parallel Computers
Lecture 12 Algorithm Analysis
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Graph Search Applications
CSE 421: Introduction to Algorithms
CSCE350 Algorithms and Data Structure
Minimum Spanning Tree.
Connected Components Minimum Spanning Tree
CSE 373 Data Structures and Algorithms
Elementary Graph Algorithms
CS 583 Analysis of Algorithms
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
Lecture 12 Algorithm Analysis
Subgraphs, Connected Components, Spanning Trees
Graph Algorithms "A charlatan makes obscure what is clear; a thinker makes clear what is obscure. " - Hugh Kingsmill CLRS, Sections 22.2 – 22.4.
Minimum Spanning Tree.
Minimum Spanning Trees
CSE 373: Data Structures and Algorithms
CS 584 Project Write up Poster session for final Due on day of final
Simple Graphs: Connectedness, Trees
Lecture 12 Algorithm Analysis
CSC 325: Algorithms Graph Algorithms David Luebke /24/2019.
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Minimum Spanning Trees
Graph Traversals Some applications require visiting every vertex in the graph exactly once. The application may require that vertices be visited in some.
Presentation transcript:

SPARSE CERTIFICATES AND SCAN-FIRST SEARCH FOR K-VERTEX CONNECTIVITY Philip Benjamin George Algorithms Seminar

Overview K-Vertex Connected Graph K-connectivity Certificate Sparse Certificate for k-connectivity Scan First Search Illustration Performance in different Computational Models A Brief Look at the Proof

K-Vertex Connected Graph A connected graph G is said to be k-vertex-connected (or k-connected) if it has more than k vertices and remains connected whenever fewer than k vertices are removed. Deleting any k-1 vertices , is still a connected graph. Fig. 2-connected graph

K-connectivity Certificate For a graph G = (V, E), there exists some subset of edges E’ ϵ E, such that the subgraph G’ = (V, E’) is k-connected if and only if G is k-connected. This subset is considered a certificate for the k-connectivity of the graph G. Figure. Graph G’ on the right is a k-connectivity certificate for G.

Sparse Certificates For a graph with n vertices, a k-connectivity certicate for it is considered sparse if it has atmost kn edges. Fig. Subgraph on the right is also a sparse certificate

Scan-First Search Scan First is an algorithm for the parallel construction of k-connectivity certicates for graphs. Introduced in the paper Scan-First Search and Sparse Certicates: An Improved Parallel Algorithm for K-Vertex Connectivity by Joseph Cheriyan, Ming-Yang Kao, and Ramakrishna Thurimella. It runs in O(k logn) time.

SFS Algorithm Input: a connected undirected graph G=(V,E) and a vertex r. Every iteration starts with Finding a Spanning tree T of G rooted at r Assign a preorder numbering to all the vertices in T, which we will use as our scanning order.

SFS Algorithm Next, involves 2 steps of Scanning and Marking The main step is called Scan: to scan a marked vertex means to mark all previously unmarked neighbors of that vertex.

SFS Algorithm } until (no more edges can be added) do { Choose lowest preorder numbered vertex that is marked. Scan that vertex. Add all edges of neighbors incident to scanned vertex to Ei that they have their other end marked and mark all those neighbouring vertices. } until (no more edges can be added)

End of an iteration Once we have exhausted all vertices, we have an edge set for the iteration, Ei. We then remove Ei from Gi-1, and make that Gi, and move onto the next iteration using the graph Gi. At the end of each iteration we have: Ei: The set of edges we encountered during our scan-first search Fi : Scan-first search forest, the grouping of edges into what may be separate trees at each step. Gi : The resulting graph from removing Ei from the graph Gi-1 that we used to begin this iteration.

End of an iteration We also have: Hi : The union the edges from every iteration to now, E1 U…U Ei. Important to note: For each step i, the resulting graph Gi-1 that we run scan-first search on has no marked/scanned vertices, they are reset for each iteration. Claim: Hk provides a sparse certificate for the k-connectivity of G.

Illustration

How is SFS parallel? Remember these steps: Find a spanning tree T of G rooted at r , some starting vertex our algorithm is given. Preorder number the vertices in T. Both of these can be done in parallel in O(log n) time using C(n,m) processors.

Performance in different Computational Models The Scan-first search procedure has efficient implementations in the parallel, distributed and sequential models of computation. Parallel: Runs in O(k log n) time Distributed: Runs in O(k n log3n) time Sequential: Runs in O(k(m + n)) time.

A Brief Look at the Proof We know that by the definition of k-vertex certificate, G‘ is k-vertex connected if and only if G is k-vertex connected. By contradiction, we can say that, Hk i.e. G‘ is not a k-vertex certificate for G, there must be a set S that disconnects Hk, but not G. Some tree T in every forest Fi will have a first encounter with a vertex in S that we have not encountered in a previous iteration, which we call si. We show that any path that crosses from the two disconnected parts of Hk - S must cross a vertex in S.

A Brief Look at the Proof Since G - S is connected, we will encounter an edge that crosses the two components of Hk – S. This edge is in some path Pk between the two component in Hk – S. We show that such a set S cannot exist. Therefore we can say that Hk i.e. G‘ is k-vertex connected if and only if G is k-vertex connected.

Thank You!