9 research outputs found

    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

    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 G∖eG\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 G∖eG\setminus e, for all edges ee in GG. (ii)(ii) The size of the largest and of the smallest strongly connected components in G∖eG\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 G∖eG\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 G∖eG\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

    Planar Reachability Under Single Vertex or Edge Failures

    Get PDF
    International audienceIn this paper we present an efficient reachability oracle under single-edge or single-vertex failures for planar directed graphs. Specifically, we show that a planar digraph G can be preprocessed in O(n log 2 n/log log n) time, producing an O(n log n)-space data structure that can answer in O(log n) time whether u can reach v in G if the vertex x (the edge f) is removed from G, for any query vertices u, v and failed vertex x (failed edge f). To the best of our knowledge, this is the first data structure for planar directed graphs with nearly optimal preprocessing time that answers all-pairs queries under any kind of failures in polylogarithmic time. We also consider 2-reachability problems, where we are given a planar digraph G and we wish to determine if there are two vertex-disjoint (edge-disjoint) paths from u to v, for query vertices u, v. In this setting we provide a nearly optimal 2-reachability oracle, which is the existential variant of the reachability oracle under single failures, with the following bounds. We can construct in O(n polylog n) time an O(n log 3+o(1) n)-space data structure that can check in O(log 2+o(1) n) time for any query vertices u, v whether v is 2-reachable from u, or otherwise find some separating vertex (edge) x lying on all paths from u to v in G. To obtain our results, we follow the general recursive approach of Thorup for reachability in planar graphs [J. ACM '04] and we present new data structures which generalize dominator trees and previous data structures for strong-connectivity under failures [Georgiadis et al., SODA '17]. Our new data structures work also for general digraphs and may be of independent interest

    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

    Strong connectivity in directed graphs under failures, with applications

    Get PDF
    Let G be a directed graph (digraph) with m edges and n vertices, and let G n e (resp., G n v) be the digraph obtained after deleting edge e (resp., vertex v) from G. We show how to compute in O(m+n) worst-case time: The total number of strongly connected components in G n e (resp., G n 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 n e (resp., G n 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 Gn e (resp., Gn v). We also 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 n e (resp., G n 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 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 sub graph of G with O(n) edges that maintains the 1-connectivity cuts of G and the decompositions induced by those cuts

    Strong connectivity in directed graphs under failures, with applications

    No full text
    3sìreservedIn 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 Gsetminus e (resp., Gsetminus 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 Gsetminus e (resp., Gsetminus 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 setminus e (resp., Gsetminus 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 setminus e (resp., G setminus 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.mixedGeorgiadis L.; Italiano G.F.; Parotsidis N.Georgiadis, L.; Italiano, G. F.; Parotsidis, N

    Strong connectivity in directed graphs under failures, with applications

    No full text
    Let G be a directed graph (digraph) with m edges and n vertices, and let G n e (resp., G n v) be the digraph obtained after deleting edge e (resp., vertex v) from G. We show how to compute in O(m+n) worst-case time: The total number of strongly connected components in G n e (resp., G n 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 n e (resp., G n 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 Gn e (resp., Gn v). We also 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 n e (resp., G n 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 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 sub graph of G with O(n) edges that maintains the 1-connectivity cuts of G and the decompositions induced by those cuts
    corecore