Incremental 2-Edge-Connectivity in Directed Graphs
Total Page:16
File Type:pdf, Size:1020Kb
Incremental 2-Edge-Connectivity In Directed Graphs Loukas Georgiadis Giuseppe F. Italiano Nikos Parotsidis University of Ioannina University of Rome University of Rome Greece Tor Vergata Tor Vergata Italy Italy ICALP 2016, Rome Outline Definitions • 2-edge-connectivity in undirected graphs • 2-edge-connectivity in directed graphs • Problem definition • Known algorithm and our result High-level idea Basic ingredients • Dominators • Auxiliary components Tools Conclusion ICALP 2016, Rome Outline Definitions • 2-edge-connectivity in undirected graphs • 2-edge-connectivity in directed graphs • Problem definition • Known algorithm and our result High-level idea Basic ingredients • Dominators • Auxiliary components Tools Conclusion ICALP 2016, Rome Undirected: Connected components Let 퐺 = (푉, 퐸) be a undirected graph. • 퐺 is connected if there is a path between any two vertices. • The connected components of 퐺 are its maximal connected subgraphs. ICALP 2016, Rome Undirected: Connected components Let 퐺 = (푉, 퐸) be a connected undirected graph. • An edge is a bridge, if its removal increases the number of connected components. ICALP 2016, Rome Undirected: Connected components Let 퐺 = (푉, 퐸) be a connected undirected graph. • An edge is a bridge, if its removal increases the number of connected components. ICALP 2016, Rome Undirected: Connected components By Menger’s theorem, two vertices are 2-edge- connected iff the removal of any bridge leaves them in the same connected component. ICALP 2016, Rome Undirected: Connected components By Menger’s theorem, two vertices are 2-edge- connected iff the removal of any bridge leaves them in the same connected component. ICALP 2016, Rome Undirected: Connected components By Menger’s theorem, two vertices are 2-edge- connected iff the removal of any bridge leaves them in the same connected component. Two vertices are 2-edge-connected if there are two edge-disjoint paths between them. ICALP 2016, Rome Undirected: Connected components By Menger’s theorem, two vertices are 2-edge- connected iff the removal of any bridge leaves them in the same connected component. Two vertices are 2-edge-connected if there are two edge-disjoint paths between them. ICALP 2016, Rome Undirected: Connected components By Menger’s theorem, two vertices are 2-edge- connected iff the removal of any bridge leaves them in the same connected component. Two vertices are 2-edge-connected if there are two edge-disjoint paths between them. The 2-edge-connected blocks of G are its maximal subsets 퐵 ⊆ 푉 s.t. 푢 and 푣 are 2-edge-connected ∀푢, 푣 ∈ 퐵 ICALP 2016, Rome Undirected: Connected components By Menger’s theorem, two vertices are 2-edge- connected iff the removal of any bridge leaves them in the same connected component. Two vertices are 2-edge-connected if there are two edge-disjoint paths between them The 2-edge-connected blocks of G are its maximal subsets 퐵 ⊆ 푉 s.t. 푢 and 푣 are 2-edge-connected ∀푢, 푣 ∈ 퐵 푂(푚 + 푛) time algorithm [Tarjan 1972] ICALP 2016, Rome Outline Definitions • 2-edge-connectivity in undirected graphs • 2-edge-connectivity in directed graphs • Problem definition • Known algorithm and our result High-level idea Basic ingredients • Dominators • Auxiliary components Tools Conclusion ICALP 2016, Rome Directed: Strongly connected components A B Let 퐺 = (푉, 퐸) be a directed graph. • 퐺 is strongly connected if there is a directed path C D from each vertex to every other vertex. • The strongly connected components of 퐺 are its maximal strongly connected subgraphs. E F G H I J ICALP 2016, Rome Directed: Strongly connected components A B Let 퐺 = (푉, 퐸) be a directed graph. • 퐺 is strongly connected if there is a directed path C D from each vertex to every other vertex. • The strongly connected components of 퐺 are its maximal strongly connected subgraphs. E F G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B Let 퐺 = 푉, 퐸 be a strongly connected directed graph. C D • An edge 푒 ∈ 퐸 is a strong bridge if its removal increases the strongly connected components of 퐺. E F G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B Let 퐺 = 푉, 퐸 be a strongly connected directed graph. C D • An edge 푒 ∈ 퐸 is a strong bridge if its removal increases the strongly connected components of 퐺. E F G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B Let 퐺 = 푉, 퐸 be a strongly connected directed graph. C D • An edge 푒 ∈ 퐸 is a strong bridge if its removal increases the strongly connected components of 퐺. E F G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H I J ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H A 2-edge-connected block of 퐺 is a maximal subset 퐵 ⊆ 푉 s. t. 푢 and 푣 are 2-edge connected for all I J 푢, 푣 ∈ 퐵. ICALP 2016, Rome Directed: 2-edge-connectivity A B By Menger’s Theorem, vertices 푢 and 푣 are 2-edge connected if and only if the removal of any strong bridge C D leaves them in same strongly connected component. Vertices 푢 and 푣 are 2-edge connected if there are E F two edge-disjoint paths from 푢 to 푣 and two edge- disjoint paths from 푣 to 푢. G H A 2-edge-connected block of 퐺 is a maximal subset 퐵 ⊆ 푉 s. t. 푢 and 푣 are 2-edge connected for all I J 푢, 푣 ∈ 퐵. 푂(푚 + 푛) time algorithm [Georgiadis, Italiano, Laura, P. 2015] ICALP 2016, Rome Outline Definitions • 2-edge-connectivity in undirected graphs • 2-edge-connectivity in directed graphs • Problem definition • Known algorithm and our result High-level idea Basic ingredients • Dominators • Auxiliary components Tools Conclusion ICALP 2016, Rome Problem definition Graph + data structure ICALP 2016, Rome Problem definition Are 푢 and 푣 2- edge-connected Graph + data structure ICALP 2016, Rome Problem definition Are 푢 and 푣 2- edge-connected Yes/No Graph + data structure ICALP 2016, Rome Problem definition What are the 2- edge-connected blocks in 퐺 Graph + data structure ICALP 2016, Rome Problem definition What are the 2- edge-connected blocks in 퐺 {푎, 푏, 푑}, {푐, 푒}, {푓} Graph + data structure ICALP 2016, Rome Problem definition Graph + data structure ICALP 2016, Rome Problem definition Insert (x,y) Graph + data structure ICALP 2016, Rome Problem definition Insert (x,y) Graph + data structure ICALP 2016, Rome Problem definition Are 푢 and 푣 2- edge-connected Graph + data structure ICALP 2016, Rome Problem definition Are 푢 and 푣 2- edge-connected Yes/No Graph + data structure ICALP 2016, Rome Problem definition Goal: Update time faster that recomputing Fast query time Graph + data structure ICALP 2016, Rome Dynamic graph algorithms Problem Undirected graphs Directed graphs Connectivity/ Yes Yes Transitive closure Connected components/ Yes Yes Strongly connected components APSP Yes Yes DFS tree Yes (only on DAGs) MST Yes ? 2-edge-connectivity Yes ? 2-vertex-connectivity Yes ? ICALP 2016, Rome Incremental 2-edge-connectivity Undirected VS Directed Block tree structure ICALP 2016, Rome Incremental 2-edge-connectivity Undirected VS Directed Block tree structure ICALP 2016, Rome Incremental 2-edge-connectivity Undirected VS Directed Block tree structure ICALP 2016, Rome Incremental 2-edge-connectivity Undirected VS Directed Block tree structure No tree structure is possible ICALP 2016, Rome Incremental 2-edge-connectivity Undirected VS Directed Block tree structure No tree structure is possible ICALP 2016, Rome Incremental 2-edge-connectivity Undirected VS Directed Block tree structure No tree structure is possible ICALP 2016, Rome Outline Definitions • 2-edge-connectivity in undirected graphs • 2-edge-connectivity in directed graphs • Problems definition •