Download presentation

Presentation is loading. Please wait.

Published byIndia Highman Modified over 2 years ago

1
1 Strongly connected components

2
2 Definition: the strongly connected components (SCC) C 1, …, C k of a directed graph G = (V,E) are the largest disjoint sub-graphs (no common vertices or edges) such that for any two vertices u and v in C i, there is a path from u to v and from v to u. Equivalence classes of the binary path(u,v) relation, denoted by u ~ v. Applications: networking, communications. Problem: compute the strongly connected components of G in linear time Θ(|V|+|E|).

3
3 Example: strongly connected components d bfeac g h

4
4 d bfeac g h

5
5 Strongly connected components graph Definition: the SCC graph G ~ = (V ~,E ~ ) of the graph G = (V,E) is as follows: n V ~ = {C 1, …, C k }. Each SCC is a vertex. n E ~ = {(C i,C j )| i≠j and there is (x,y) E, where x C i and y C j }. A directed edge between components corresponds to a directed edge between them from any of their vertices. G ~ is a directed acyclic graph (no directed cycles)! Definition: the reverse graph G R = (V,E R ) of the graph G = (V,E) is G with its edge directions reversed: E R = {(u,v)| (v,u) E}.

6
6 Example: reverse graph G R d bfeac g h d bfeac g h G G R

7
7 Example: SCC graph C1C1 C2C2 C4C4 C3C3 d bfe a c g h

8
8 SCC algorithm: Approach H G~ For i=k,...,1 v node of G that lies in a sink node of H (*) C connected component retuned by DFS(v) H H - C End n If we manage to execute (*) we are done

9
9 DFS numbering Useful information n pre(v): “time” when a node is visited in a DFS n post(v): “time” when DFS(v) finishes 1/16 d bfeac g h 2/15 3/14 4/13 7/12 8/11 9/10 5/6

10
10 DFS numbering DFS(G) 0. time 1 1Para todo v em G 2Se v não visitado então 3DFS-Visit(G, v) DFS-Visit(G, v) 1Marque v como visitado 1.5pre(v) time; time++ 2 Para todo w em Adj(v) 3 Se w não visitado então 4 Insira aresta (v, w) na árvore 5DFS-Visit(G, w) 6Post(v) time; time++

11
11 DFS numbering Property If C an D are strongly connected components and there is an edge from a node in C to a node in D, then the highest post() in C is bigger than the highest post() number in D Proof. Let c be the first node visited in C and d be the first node visited in D. Case i) c is visited before d. n DFS(c) visit all nodes in D (they are reachable from c due to the existing edge) n Thus, post(c) > post(x) for every x in D

12
12 DFS numbering Property If C an D are strongly connected components and there is an edge from a node in C to a node in D, then the highest post() in C is bigger than the highest post() number in D Proof. Let c be the first node visited in C and d be the first node visited in D Case 2) d is visited before c. n DFS(d) visit all nodes in D because all of them are reachable from d n DFS(d) does not visit nodes from C since they are not reachable from d. n Thus, post(x)

13
13 DFS numbering Corollary. The node of G with highest post number lies in a source node in G~ Observation 1. The strongly connected components are the same in G and G R Observation 2. If a node lies in a source node of G~ then it lies in a sink node in (G R )~

14
14 SCC algorithm Idea: compute the SCC graph G ~ = (V ~,E ~ ) with two DFS, one for G and one for its reverse G R, visiting the vertices in reverse order. SCC(G) 1. DFS(G) to compute post[v], ∀ v V 2. Compute G R 3. DFS(G R ) in the order of decreasing post[v] 4. Output the vertices of each tree in the DFS forest as a separate SCC.

15
15 Example: computing SCC 1/6 d b f e a c g h 3/4 10/15 11/12 9/16 7/8 13/14 2/5

16
16 Example: computing SCC d b f eac g h 8 1/6 d b f e a c g h 3/4 10/15 11/12 9/16 7/8 13/14 2/5 16

17
17 Example: computing SCC d b f eac g h 8 1/6 d b f e a c g h 3/4 10/15 11/12 9/16 7/8 13/14 2/5 16 C1C1 C4C4 C2C2 C3C3 1 2 3 4

Similar presentations

OK

Lecture 15: Depth First Search Shang-Hua Teng. Graphs G= (V,E) B E C F D A B E C F D A Directed Graph (digraph) –Degree: in/out Undirected Graph –Adjacency.

Lecture 15: Depth First Search Shang-Hua Teng. Graphs G= (V,E) B E C F D A B E C F D A Directed Graph (digraph) –Degree: in/out Undirected Graph –Adjacency.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on porter's five forces model pdf Ppt on motion force and pressure Ppt on hard gelatin capsule Ppt on obesity prevention strategies Ppt on ozone layer depletion and its effects Ppt on credit default swaps Ppt on social impact of information technology Ppt on trial and error 1997 Ppt on council of ministers india Ppt on shell structures