Solving k-shortest and constrained shortest path problems efficiently
Annals of Operations Research
SIAM Journal on Computing
Introduction to algorithms
Finding the k shortest simple paths: A new algorithm and its implementation
ACM Transactions on Algorithms (TALG)
Proceedings of the 2010 ICSE Workshop on Quantitative Stochastic Models in the Verification and Design of Software Systems
Complex pattern ranking (CPR): evaluating top-k pattern queries over event streams
Proceedings of the 5th ACM international conference on Distributed event-based system
K*: A heuristic search algorithm for finding the k shortest paths
Artificial Intelligence
Neural network language models for off-line handwriting recognition
Pattern Recognition
Hi-index | 0.00 |
We consider the problem ofen umerating, in order ofin - creasing length, the K shortest paths between a given pair ofno des in a weighted digraph G with n nodes and m arcs. To solve this problem, Eppstein's algorithm first computes the shortest path tree and then builds a graph D(G) representing all possible deviations from the shortest path. Building D(G) takes O(m+n log n) time in the basic version ofthe algorithm. Once it has been built, the K shortest paths can be obtained in order ofin creasing length in O(K log K) time. However, experimental results show that the time required to build D(G) is considerable, thereby reducing the practical interest ofthe algorithm. In this paper, we propose a modified version ofE ppstein's algorithm in which only the parts of D(G) which are necessary for the selection of the K shortest paths are built. This version maintains Eppstein's worst-case running time and entails an important improvement in practical performance, according to experimental results that are also reported here.