Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs∗

Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs∗

Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs∗ Shiri Chechiky Thomas Dueholm Hansenz Tel Aviv University, Israel Aarhus University, Denmark [email protected] [email protected] Giuseppe F. Italianox Veronika Loitzenbauer{ Universit`adi Roma \Tor Vergata", Italy University of Vienna, Vienna, Austria [email protected] [email protected] Nikos Parotsidis Universit`adi Roma \Tor Vergata", Italy [email protected] Abstract Connectivity related concepts are of fundamental interest in graph theory. The area has received extensive attention over four decades, but many problems remain unsolved, especially for directed graphs. A directed graph is 2-edge-connected (resp., 2-vertex-connected) if the removal of any edge (resp., vertex) leaves the graph strongly connected. In this paper we present improved algorithms for computing the maximal 2-edge- and 2-vertex-connected subgraphs of a given directed graph. These problems were first studied more than 35 years ago, with Oe(mn) time algorithms for graphs with m edges and n vertices being known since the late 1980s. In contrast, the same problems for undirected graphs are known to be solvable in linear time. Henzinger et al. [ICALP 2015] recently introduced O(n2) time algorithms for the directed case, thus improving the running times for dense graphs. Our new algorithms run in time O(m3=2), which further improves the running times for sparse graphs. The notion of 2-connectivity naturally generalizes to k-connectivity for k > 2. For constant values of k, we extend one of our algorithms to compute the maximal k-edge-connected in time O(m3=2 log n), improving again for sparse graphs the best known algorithm by Henzinger et al. [ICALP 2015] that runs in O(n2 log n) time. arXiv:1705.10709v1 [cs.DS] 30 May 2017 1 Introduction Connectivity is one of the most well-studied notions in graph theory. The literature covers many different aspects of connectivity related problems. In this paper we study the problem of computing the maximal k-connected subgraphs of directed graphs. ∗A preliminary version of this paper appeared in [2] yWork partially done while visiting the Universit`adi Roma \Tor Vergata". This research was supported by the ISRAEL SCIENCE FOUNDATION (grant No. 1528/15). zWork partially done while visiting the Universit`adi Roma \Tor Vergata". Supported by the Carlsberg Foundation, grant no. CF14-0617. xPartially supported by MIUR, the Italian Ministry of Education, University and Research, under Project AMANDA (Algorithmics for MAssive and Networked DAta). {Work partially done while visiting the Universit`adi Roma \Tor Vergata" and the University of Michigan. The research leading to these results has received funding from the Marshall Plan Foundation and the European Research Council under the European Unions Seventh Framework Programme (FP/2007-2013) / ERC Grant Agreement no. 340506. 푎 푎 푎 푎 푎 푏 푐 푏 푐 푏 푐 푏 푐 푏 푐 푑 푒 푑 푒 푑 푒 푑 푒 푑 푒 푓 푔 푓 푔 푓 푔 푓 푔 푓 푔 ℎ 푖 ℎ 푖 ℎ 푖 ℎ 푖 ℎ 푖 푗 푘 푗 푘 푗 푘 푗 푘 푗 푘 (a) G (b) 2ECS(G) (c) 2ECC (G) (d) 2VCS(G) (e) 2VCC (G) Figure 1: (a) A strongly connected digraph G; strong articulation points and strong bridges are shown in red. (b) The 2-edge-connected subgraphs of G. (c) The 2-edge-connected components of G. (d) The 2-vertex-connected subgraphs of G. (e) The 2-vertex-connected components of G. Problem definition and related concepts. Strong connectivity. Let G = (V; E) be a directed graph (digraph) with m = jEj edges and n = jV j vertices. The digraph G is said to be strongly connected if there is a directed path from each vertex to every other vertex. The strongly connected components (SCCs) of G are its maximal strongly connected subgraphs. Two vertices u; v 2 V are strongly connected if they belong to the same strongly connected component of G. 2-edge connectivity. An edge of G is a strong bridge if its removal increases the number of strongly connected components. Let G be a strongly connected graph. We say that G is 2-edge-connected if it has no strong bridges. Two vertices v and w are 2-edge-connected if there are two edge-disjoint paths from v to w and two edge-disjoint paths from w to v. A 2-edge-connected component of G is a maximal subset of vertices such that any pair of distinct vertices is 2-edge-connected. For a set of vertices C ⊆ V its induced subgraph G[C] is a maximal 2-edge-connected subgraph of G if G[C] is a 2-edge-connected graph and no superset of C has this property. The 2-edge-connected components of G might be very different from the maximal 2-edge-connected subgraphs of G because the two edge-disjoint paths between a pair of vertices of a 2-edge-connected component might use vertices that are not in the 2-edge-connected component. (See Figure 1 for an example.) 2-vertex connectivity. Analogous definitions can be given for 2-vertex connectivity. In particular, a vertex is a strong articulation point if its removal increases the number of strongly connected components of G. Let G be a strongly connected graph. The graph G is 2-vertex-connected if it has at least three vertices and no strong articulation points. Note that the condition on the minimum number of vertices disallows for degenerate 2-vertex-connected graphs consisting of two mutually adjacent vertices (i.e., two vertices v and w and the two edges (v; w) and (w; v)). Two vertices v and w are 2-vertex-connected if there are two internally vertex-disjoint paths from v to w and two internally vertex-disjoint paths from w to v, i.e., the paths meet at v and w but not in-between (see also [12]). A 2-vertex-connected component of G is a maximal subset of vertices such that any distinct pair of vertices is 2-vertex-connected. For a set of vertices C ⊆ V its induced subgraph G[C] is a maximal 2-vertex-connected subgraph of G if G[C] is a 2-vertex-connected graph and no superset of C has this property. Note that the 2-vertex-connected components of G might be very different from the maximal 2-vertex-connected subgraphs of G. k-connectivity. The notions of 2-edge and 2-vertex connectivity extend naturally to k-edge and k-vertex connectivity. Given a directed graph G = (V; E), a set of edges S is an edge cut of size jSj if its removal increases the number of strongly connected components of G. A strongly connected graph is k-edge-connected if it has no edge cut of size less than k. Two vertices v and w are k-edge-connected if there are k edge-disjoint paths from v to w and k edge-disjoint paths from w to v.A k-edge-connected component of G is a maximal subset of vertices such that any pair of distinct vertices is k-edge-connected. For a set of vertices C ⊆ V its induced subgraph G[C] is a maximal k-edge-connected subgraph of G if G[C] is a k-edge-connected graph and no superset of C has this property. A set of vertices S is a vertex cut of size jSj if its removal increases the number of strongly connected components of G. A strongly connected graph G is k-vertex-connected if it has at least k + 1 vertices and no vertex cut of size less than k. Two vertices v and w are k-vertex-connected if there are k internally vertex-disjoint paths from v to w and k internally vertex-disjoint paths from w to v.A k-vertex-connected component of G is a maximal subset of vertices such that any distinct pair of vertices is k-vertex-connected. For a set of vertices C ⊆ V its induced subgraph G[C] is a maximal k-vertex-connected subgraph of G if G[C] is a k-vertex-connected graph and no superset of C has this property. Undirected graphs. In undirected graphs a set of edges S is an edge cut of size jSj if its removal increases the number of connected components of the graph. An undirected connected graph is k-edge- connected if it has no edge cut of size less than k. The definitions of a vertex cut and of a k-vertex- connected graph are analogous. The remaining definitions follow immediately from the definitions for directed graphs. Throughout the paper, we usually omit the word maximal when referring to maximal k-edge- or k-vertex-connected subgraphs. Our results. In this paper we present O(m3=2) time algorithms for computing the maximal 2-edge- connected subgraphs and the maximal 2-vertex-connected subgraphs of a given directed graph with m edges and n vertices. This is an improvement over the existing O(n2) time algorithms [16] whenever m is o(n4=3). The algorithm for 2-edge-connected subgraphs is extended to compute the maximal k-edge- connected subgraphs for any constant k ≥ 2 and runs in time O(m3=2 log n), improving over the existing O(n2 log n) time algorithm [16]. The maximal k-edge-connected (and k-vertex-connected) subgraphs are defined for undirected graphs as they are for directed graphs. We also show how to adjust the algorithm p to compute the maximal k-edge-connected subgraphs for undirected graphs in time O((m+n log n) n), where k is again viewed as a constant.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    34 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us