59,109 research outputs found

    Finding next-to-shortest paths in a graph

    Get PDF
    We study the problem of finding the next-to-shortest paths in a graph. A next-to-shortest (u,v)(u,v)-path is a shortest (u,v)(u,v)-path amongst (u,v)(u,v)-paths with length strictly greater than the length of the shortest (u,v)(u,v)-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

    Full text link
    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

    Full text link
    We initiate the study of a fundamental combinatorial problem: Given a capacitated graph G=(V,E)G=(V,E), find a shortest walk ("route") from a source sVs\in V to a destination tVt\in V that includes all vertices specified by a set WV\mathscr{W}\subseteq V: 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

    Full text link
    Given an undirected graph G=(V,E)G=(V,E) with positive edge lengths and two vertices ss and tt, the next-to-shortest path problem is to find an stst-path which length is minimum amongst all stst-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 ss and tt to all other vertices are given. Particularly our new algorithm runs in O(VlogV+E)O(|V|\log |V|+|E|) time for general graphs, which improves the previous result of O(V2)O(|V|^2) 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

    Full text link
    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
    corecore