15 research outputs found

    Incremental Strong Connectivity and 2-Connectivity in Directed Graphs

    Get PDF
    International audienceIn this paper, we present new incremental algorithms for maintaining data structures that represent all connectivity cuts of size one in directed graphs (digraphs), and the strongly connected components that result by the removal of each of those cuts. We give a conditional lower bound that provides evidence that our algorithms may be tight up to a sub-polynomial factors. As an additional result, with our approach we can also maintain dynamically the 2-vertex-connected components of a digraph during any sequence of edge insertions in a total of O(mn) time. This matches the bounds for the incremental maintenance of the 2-edge-connected components of a digraph

    2-Vertex Connectivity in Directed Graphs

    Full text link
    We complement our study of 2-connectivity in directed graphs, by considering the computation of the following 2-vertex-connectivity relations: We say that 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. We also say that v and w are vertex-resilient if the removal of any vertex different from v and w leaves v and w in the same strongly connected component. We show how to compute the above relations in linear time so that we can report in constant time if two vertices are 2-vertex-connected or if they are vertex-resilient. We also show how to compute in linear time a sparse certificate for these relations, i.e., a subgraph of the input graph that has O(n) edges and maintains the same 2-vertex-connectivity and vertex-resilience relations as the input graph, where n is the number of vertices.Comment: arXiv admin note: substantial text overlap with arXiv:1407.304

    22-edge-twinless blocks

    Full text link
    Let G=(V,E)G=(V,E) be a directed graph. A 22-edge-twinless block in GG is a maximal vertex set CtVC^{t}\subseteq V with Ct>1|C^{t}|>1 such that for any distinct vertices v,wCtv,w \in C^{t}, and for every edge eEe\in E, the vertices v,wv,w are in the same twinless strongly connected component of G{e}G\setminus\left \lbrace e \right\rbrace . In this paper we study this concept and describe algorithms for computing 22-edge-twinless blocks

    Approximating the Smallest Spanning Subgraph for 2-Edge-Connectivity in Directed Graphs

    Full text link
    Let GG be a strongly connected directed graph. We consider the following three problems, where we wish to compute the smallest strongly connected spanning subgraph of GG that maintains respectively: the 22-edge-connected blocks of GG (\textsf{2EC-B}); the 22-edge-connected components of GG (\textsf{2EC-C}); both the 22-edge-connected blocks and the 22-edge-connected components of GG (\textsf{2EC-B-C}). All three problems are NP-hard, and thus we are interested in efficient approximation algorithms. For \textsf{2EC-C} we can obtain a 3/23/2-approximation by combining previously known results. For \textsf{2EC-B} and \textsf{2EC-B-C}, we present new 44-approximation algorithms that run in linear time. We also propose various heuristics to improve the size of the computed subgraphs in practice, and conduct a thorough experimental study to assess their merits in practical scenarios

    Computing 22-twinless blocks

    Full text link
    Let G=(V,E))G=(V,E)) be a directed graph. A 22-twinless block in GG is a maximal vertex set BVB\subseteq V of size at least 22 such that for each pair of distinct vertices x,yBx,y \in B, and for each vertex wV{x,y}w\in V\setminus\left\lbrace x,y \right\rbrace , the vertices x,yx,y are in the same twinless strongly connected component of G{w}G\setminus\left \lbrace w \right\rbrace . In this paper we present algorithms for computing the 22-twinless blocks of a directed graph

    Incremental 22-Edge-Connectivity in Directed Graphs

    Get PDF
    In this paper, we initiate the study of the dynamic maintenance of 22-edge-connectivity relationships in directed graphs. We present an algorithm that can update the 22-edge-connected blocks of a directed graph with nn vertices through a sequence of mm edge insertions in a total of O(mn)O(mn) time. After each insertion, we can answer the following queries in asymptotically optimal time: (i) Test in constant time if two query vertices vv and ww are 22-edge-connected. Moreover, if vv and ww are not 22-edge-connected, we can produce in constant time a "witness" of this property, by exhibiting an edge that is contained in all paths from vv to ww or in all paths from ww to vv. (ii) Report in O(n)O(n) time all the 22-edge-connected blocks of GG. To the best of our knowledge, this is the first dynamic algorithm for 22-connectivity problems on directed graphs, and it matches the best known bounds for simpler problems, such as incremental transitive closure.Comment: Full version of paper presented at ICALP 201

    Strong Connectivity in Directed Graphs under Failures, with Application

    Full text link
    In this paper, we investigate some basic connectivity problems in directed graphs (digraphs). Let GG be a digraph with mm edges and nn vertices, and let GeG\setminus e be the digraph obtained after deleting edge ee from GG. As a first result, we show how to compute in O(m+n)O(m+n) worst-case time: (i)(i) The total number of strongly connected components in GeG\setminus e, for all edges ee in GG. (ii)(ii) The size of the largest and of the smallest strongly connected components in GeG\setminus e, for all edges ee in GG. Let GG be strongly connected. We say that edge ee separates two vertices xx and yy, if xx and yy are no longer strongly connected in GeG\setminus e. As a second set of results, we show how to build in O(m+n)O(m+n) time O(n)O(n)-space data structures that can answer in optimal time the following basic connectivity queries on digraphs: (i)(i) Report in O(n)O(n) worst-case time all the strongly connected components of GeG\setminus e, for a query edge ee. (ii)(ii) Test whether an edge separates two query vertices in O(1)O(1) worst-case time. (iii)(iii) Report all edges that separate two query vertices in optimal worst-case time, i.e., in time O(k)O(k), where kk is the number of separating edges. (For k=0k=0, the time is O(1)O(1)). All of the above results extend to vertex failures. All our bounds are tight and are obtained with a common algorithmic framework, based on a novel compact representation of the decompositions induced by the 11-connectivity (i.e., 11-edge and 11-vertex) cuts in digraphs, which might be of independent interest. With the help of our data structures we can design efficient algorithms for several other connectivity problems on digraphs and we can also obtain in linear time a strongly connected spanning subgraph of GG with O(n)O(n) edges that maintains the 11-connectivity cuts of GG and the decompositions induced by those cuts.Comment: An extended abstract of this work appeared in the SODA 201

    New Extremal Bounds for Reachability and Strong-Connectivity Preservers Under Failures

    Get PDF
    In this paper, we consider the question of computing sparse subgraphs for any input directed graph G=(V,E)G=(V,E) on nn vertices and mm edges, that preserves reachability and/or strong connectivity structures. We show O(n+min{Pn,nP})O(n+\min\{|{\cal P}|\sqrt{n},n\sqrt{|{\cal P}|}\}) bound on a subgraph that is an 11-fault-tolerant reachability preserver for a given vertex-pair set PV×V{\cal P}\subseteq V\times V, i.e., it preserves reachability between any pair of vertices in P{\cal P} under single edge (or vertex) failure. Our result is a significant improvement over the previous best O(nP)O(n |{\cal P}|) bound obtained as a corollary of single-source reachability preserver construction. We prove our upper bound by exploiting the special structure of single fault-tolerant reachability preserver for any pair, and then considering the interaction among such structures for different pairs. In the lower bound side, we show that a 2-fault-tolerant reachability preserver for a vertex-pair set PV×V{\cal P}\subseteq V\times V of size Ω(nϵ)\Omega(n^\epsilon), for even any arbitrarily small ϵ\epsilon, requires at least Ω(n1+ϵ/8)\Omega(n^{1+\epsilon/8}) edges. This refutes the existence of linear-sized dual fault-tolerant preservers for reachability for any polynomial sized vertex-pair set. We also present the first sub-quadratic bound of at most O~(k2kn21/k)\tilde{O}(k 2^k n^{2-1/k}) size, for strong-connectivity preservers of directed graphs under kk failures. To the best of our knowledge no non-trivial bound for this problem was known before, for a general kk. We get our result by adopting the color-coding technique of Alon, Yuster, and Zwick [JACM'95]

    Strong Connectivity in Directed Graphs under Failures, with Applications *

    Get PDF
    An extended abstract of this work appeared in the SODA '17: Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete AlgorithmsInternational audienceIn this paper, we investigate some basic connectivity problems in directed graphs (digraphs). Let G be a digraph with m edges and n vertices, and let G \ e (resp., G \ v) be the digraph obtained after deleting edge e (resp., vertex v) from G. As a first result, we show how to compute in O(m + n) worst-case time: • The total number of strongly connected components in G \ e (resp., G \ v), for all edges e (resp., for all vertices v) in G. • The size of the largest and of the smallest strongly connected components in G \ e (resp., G \ v), for all edges e (resp., for all vertices v) in G. Let G be strongly connected. We say that edge e (resp., vertex v) separates two vertices x and y, if x and y are no longer strongly connected in G \ e (resp., G \ v). As a second set of results, we show how to build in O(m + n) time O(n)-space data structures that can answer in optimal time the following basic connectivity queries on digraphs: • Report in O(n) worst-case time all the strongly connected components of G \ e (resp., G \ v), for a query edge e (resp., vertex v). • Test whether an edge or a vertex separates two query vertices in O(1) worst-case time. • Report all edges (resp., vertices) that separate two query vertices in optimal worst-case time, i.e., in time O(k), where k is the number of separating edges (resp., separating vertices). (For k = 0, the time is O(1)). All our bounds are tight and are obtained with a common algorithmic framework, based on a novel compact representation of the decompositions induced by the 1-connectivity (i.e., 1-edge and 1-vertex) cuts in digraphs, which might be of independent interest. With the help of our data structures we can design efficient algorithms for several other connectivity problems on digraphs and we can also obtain in linear time a strongly connected spanning subgraph of G with O(n) edges that maintains the 1-connectivity cuts of G and the decompositions induced by those cuts
    corecore