9 research outputs found
Strong Connectivity in Directed Graphs under Failures, with Applications *
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
In this paper, we investigate some basic connectivity problems in directed
graphs (digraphs). Let be a digraph with edges and vertices, and
let be the digraph obtained after deleting edge from . As
a first result, we show how to compute in worst-case time: The
total number of strongly connected components in , for all edges
in . The size of the largest and of the smallest strongly
connected components in , for all edges in .
Let be strongly connected. We say that edge separates two vertices
and , if and are no longer strongly connected in .
As a second set of results, we show how to build in time -space
data structures that can answer in optimal time the following basic
connectivity queries on digraphs: Report in worst-case time all
the strongly connected components of , for a query edge .
Test whether an edge separates two query vertices in worst-case
time. Report all edges that separate two query vertices in optimal
worst-case time, i.e., in time , where is the number of separating
edges. (For , the time is ).
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 -connectivity (i.e.,
-edge and -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 with
edges that maintains the -connectivity cuts of 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
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
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
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
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
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