59,109 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
Faster Parametric Shortest Path and Minimum Balance Algorithms
The parametric shortest path problem is to find the shortest paths in graph
where the edge costs are of the form w_ij+lambda where each w_ij is constant
and lambda is a parameter that varies. The problem is to find shortest path
trees for every possible value of lambda.
The minimum-balance problem is to find a ``weighting'' of the vertices so
that adjusting the edge costs by the vertex weights yields a graph in which,
for every cut, the minimum weight of any edge crossing the cut in one direction
equals the minimum weight of any edge crossing the cut in the other direction.
The paper presents fast algorithms for both problems. The algorithms run in
O(nm+n^2 log n) time. The paper also describes empirical studies of the
algorithms on random graphs, suggesting that the expected time for finding a
minimum-mean cycle (an important special case of both problems) is O(n log(n) +
m)
Walking Through Waypoints
We initiate the study of a fundamental combinatorial problem: Given a
capacitated graph , find a shortest walk ("route") from a source to a destination that includes all vertices specified by a set
: the \emph{waypoints}. This waypoint routing problem
finds immediate applications in the context of modern networked distributed
systems. Our main contribution is an exact polynomial-time algorithm for graphs
of bounded treewidth. We also show that if the number of waypoints is
logarithmically bounded, exact polynomial-time algorithms exist even for
general graphs. Our two algorithms provide an almost complete characterization
of what can be solved exactly in polynomial-time: we show that more general
problems (e.g., on grid graphs of maximum degree 3, with slightly more
waypoints) are computationally intractable
A simpler and more efficient algorithm for the next-to-shortest path problem
Given an undirected graph with positive edge lengths and two
vertices and , the next-to-shortest path problem is to find an -path
which length is minimum amongst all -paths strictly longer than the
shortest path length. In this paper we show that the problem can be solved in
linear time if the distances from and to all other vertices are given.
Particularly our new algorithm runs in time for general
graphs, which improves the previous result of time for sparse
graphs, and takes only linear time for unweighted graphs, planar graphs, and
graphs with positive integer edge lengths.Comment: Partial result appeared in COCOA201
Balancing Minimum Spanning and Shortest Path Trees
This paper give a simple linear-time algorithm that, given a weighted
digraph, finds a spanning tree that simultaneously approximates a shortest-path
tree and a minimum spanning tree. The algorithm provides a continuous
trade-off: given the two trees and epsilon > 0, the algorithm returns a
spanning tree in which the distance between any vertex and the root of the
shortest-path tree is at most 1+epsilon times the shortest-path distance, and
yet the total weight of the tree is at most 1+2/epsilon times the weight of a
minimum spanning tree. This is the best tradeoff possible. The paper also
describes a fast parallel implementation.Comment: conference version: ACM-SIAM Symposium on Discrete Algorithms (1993
- …