15 research outputs found
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
2-Vertex Connectivity in Directed Graphs
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
-edge-twinless blocks
Let be a directed graph. A -edge-twinless block in is a
maximal vertex set with such that for any
distinct vertices , and for every edge , the vertices
are in the same twinless strongly connected component of .
In this paper we study this concept and describe algorithms for computing
-edge-twinless blocks
Approximating the Smallest Spanning Subgraph for 2-Edge-Connectivity in Directed Graphs
Let be a strongly connected directed graph. We consider the following
three problems, where we wish to compute the smallest strongly connected
spanning subgraph of that maintains respectively: the -edge-connected
blocks of (\textsf{2EC-B}); the -edge-connected components of
(\textsf{2EC-C}); both the -edge-connected blocks and the -edge-connected
components of (\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 -approximation by combining previously known results. For
\textsf{2EC-B} and \textsf{2EC-B-C}, we present new -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 -twinless blocks
Let be a directed graph. A -twinless block in is a maximal
vertex set of size at least such that for each pair of
distinct vertices , and for each vertex , the vertices are in the same twinless strongly
connected component of .
In this paper we present algorithms for computing the -twinless blocks of
a directed graph
Incremental -Edge-Connectivity in Directed Graphs
In this paper, we initiate the study of the dynamic maintenance of
-edge-connectivity relationships in directed graphs. We present an algorithm
that can update the -edge-connected blocks of a directed graph with
vertices through a sequence of edge insertions in a total of time.
After each insertion, we can answer the following queries in asymptotically
optimal time: (i) Test in constant time if two query vertices and are
-edge-connected. Moreover, if and are not -edge-connected, we can
produce in constant time a "witness" of this property, by exhibiting an edge
that is contained in all paths from to or in all paths from to .
(ii) Report in time all the -edge-connected blocks of . To the
best of our knowledge, this is the first dynamic algorithm for -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
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
New Extremal Bounds for Reachability and Strong-Connectivity Preservers Under Failures
In this paper, we consider the question of computing sparse subgraphs for any
input directed graph on vertices and edges, that preserves
reachability and/or strong connectivity structures.
We show bound on a
subgraph that is an -fault-tolerant reachability preserver for a given
vertex-pair set , i.e., it preserves reachability
between any pair of vertices in under single edge (or vertex)
failure. Our result is a significant improvement over the previous best 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 of size
, for even any arbitrarily small , requires at
least 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 size, for strong-connectivity preservers of directed graphs under
failures. To the best of our knowledge no non-trivial bound for this
problem was known before, for a general . 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 *
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