31,760 research outputs found
Finding next-to-shortest paths in a graph
We study the problem of finding the next-to-shortest paths in a
graph. A next-to-shortest -path is a shortest -path
amongst -paths with length strictly greater than the length of
the shortest -path. In constrast to the situation in directed
graphs, where the problem has been shown to be NP-hard, providing edges of length zero are allowed,
we prove the somewhat surprising result that there is a polynomial
time algorithm for the undirected version of the problem
Finding Simple Shortest Paths and Cycles
The problem of finding multiple simple shortest paths in a weighted directed
graph has many applications, and is considerably more difficult than
the corresponding problem when cycles are allowed in the paths. Even for a
single source-sink pair, it is known that two simple shortest paths cannot be
found in time polynomially smaller than (where ) unless the
All-Pairs Shortest Paths problem can be solved in a similar time bound. The
latter is a well-known open problem in algorithm design. We consider the
all-pairs version of the problem, and we give a new algorithm to find
simple shortest paths for all pairs of vertices. For , our algorithm runs
in time (where ), which is almost the same bound as
for the single pair case, and for we improve earlier bounds. Our approach
is based on forming suitable path extensions to find simple shortest paths;
this method is different from the `detour finding' technique used in most of
the prior work on simple shortest paths, replacement paths, and distance
sensitivity oracles.
Enumerating simple cycles is a well-studied classical problem. We present new
algorithms for generating simple cycles and simple paths in in
non-decreasing order of their weights; the algorithm for generating simple
paths is much faster, and uses another variant of path extensions. We also give
hardness results for sparse graphs, relative to the complexity of computing a
minimum weight cycle in a graph, for several variants of problems related to
finding simple paths and cycles.Comment: The current version includes new results for undirected graphs. In
Section 4, the notion of an (m,n) reduction is generalized to an f(m,n)
reductio
Parallel Graph Decompositions Using Random Shifts
We show an improved parallel algorithm for decomposing an undirected
unweighted graph into small diameter pieces with a small fraction of the edges
in between. These decompositions form critical subroutines in a number of graph
algorithms. Our algorithm builds upon the shifted shortest path approach
introduced in [Blelloch, Gupta, Koutis, Miller, Peng, Tangwongsan, SPAA 2011].
By combining various stages of the previous algorithm, we obtain a
significantly simpler algorithm with the same asymptotic guarantees as the best
sequential algorithm
Fast Routing Table Construction Using Small Messages
We describe a distributed randomized algorithm computing approximate
distances and routes that approximate shortest paths. Let n denote the number
of nodes in the graph, and let HD denote the hop diameter of the graph, i.e.,
the diameter of the graph when all edges are considered to have unit weight.
Given 0 < eps <= 1/2, our algorithm runs in weak-O(n^(1/2 + eps) + HD)
communication rounds using messages of O(log n) bits and guarantees a stretch
of O(eps^(-1) log eps^(-1)) with high probability. This is the first
distributed algorithm approximating weighted shortest paths that uses small
messages and runs in weak-o(n) time (in graphs where HD in weak-o(n)). The time
complexity nearly matches the lower bounds of weak-Omega(sqrt(n) + HD) in the
small-messages model that hold for stateless routing (where routing decisions
do not depend on the traversed path) as well as approximation of the weigthed
diameter. Our scheme replaces the original identifiers of the nodes by labels
of size O(log eps^(-1) log n). We show that no algorithm that keeps the
original identifiers and runs for weak-o(n) rounds can achieve a
polylogarithmic approximation ratio.
Variations of our techniques yield a number of fast distributed approximation
algorithms solving related problems using small messages. Specifically, we
present algorithms that run in weak-O(n^(1/2 + eps) + HD) rounds for a given 0
< eps <= 1/2, and solve, with high probability, the following problems:
- O(eps^(-1))-approximation for the Generalized Steiner Forest (the running
time in this case has an additive weak-O(t^(1 + 2eps)) term, where t is the
number of terminals);
- O(eps^(-2))-approximation of weighted distances, using node labels of size
O(eps^(-1) log n) and weak-O(n^(eps)) bits of memory per node;
- O(eps^(-1))-approximation of the weighted diameter;
- O(eps^(-3))-approximate shortest paths using the labels 1,...,n.Comment: 40 pages, 2 figures, extended abstract submitted to STOC'1
- …