26,362 research outputs found
Computing the -blocks of directed graphs
Let be a directed graph. A \textit{-directed block} in is a
maximal vertex set with such that for each
pair of distinct vertices , there exist two vertex-disjoint
paths from to and two vertex-disjoint paths from to in . In
contrast to the -vertex-connected components of , the subgraphs induced
by the -directed blocks may consist of few or no edges. In this paper we
present two algorithms for computing the -directed blocks of in
time, where is the
number of the strong articulation points of and is the number of
the strong bridges of . Furthermore, we study two related concepts: the
-strong blocks and the -edge blocks of . We give two algorithms for
computing the -strong blocks of in time and we show that the -edge blocks of can be computed in time. In this paper we also study some
optimization problems related to the strong articulation points and the
-blocks of a directed graph. Given a strongly connected graph ,
find a minimum cardinality set such that
is strongly connected and the strong articulation points of coincide with
the strong articulation points of . This problem is called minimum
strongly connected spanning subgraph with the same strong articulation points.
We show that there is a linear time approximation algorithm for this
NP-hard problem. We also consider the problem of finding a minimum strongly
connected spanning subgraph with the same -blocks in a strongly connected
graph . We present approximation algorithms for three versions of this
problem, depending on the type of -blocks
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
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
Optimally fast incremental Manhattan plane embedding and planar tight span construction
We describe a data structure, a rectangular complex, that can be used to
represent hyperconvex metric spaces that have the same topology (although not
necessarily the same distance function) as subsets of the plane. We show how to
use this data structure to construct the tight span of a metric space given as
an n x n distance matrix, when the tight span is homeomorphic to a subset of
the plane, in time O(n^2), and to add a single point to a planar tight span in
time O(n). As an application of this construction, we show how to test whether
a given finite metric space embeds isometrically into the Manhattan plane in
time O(n^2), and add a single point to the space and re-test whether it has
such an embedding in time O(n).Comment: 39 pages, 15 figure
Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs
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 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 time algorithms for the directed
case, thus improving the running times for dense graphs. Our new algorithms run
in time , which further improves the running times for sparse
graphs.
The notion of 2-connectivity naturally generalizes to k-connectivity for
. For constant values of k, we extend one of our algorithms to compute the
maximal k-edge-connected in time , improving again for
sparse graphs the best known algorithm by Henzinger et al. [ICALP 2015] that
runs in time.Comment: Revised version of SODA 2017 paper including details for
k-edge-connected subgraph
Finding 2-Edge and 2-Vertex Strongly Connected Components in Quadratic Time
We present faster algorithms for computing the 2-edge and 2-vertex strongly
connected components of a directed graph, which are straightforward
generalizations of strongly connected components. While in undirected graphs
the 2-edge and 2-vertex connected components can be found in linear time, in
directed graphs only rather simple -time algorithms were known. We use
a hierarchical sparsification technique to obtain algorithms that run in time
. For 2-edge strongly connected components our algorithm gives the
first running time improvement in 20 years. Additionally we present an -time algorithm for 2-edge strongly connected components, and thus
improve over the running time also when . Our approach
extends to k-edge and k-vertex strongly connected components for any constant k
with a running time of for edges and for vertices
- …