K⁎: A heuristic search algorithm for finding the k shortest paths

We present a directed search algorithm, called K^@?, for finding the k shortest paths between a designated pair of vertices in a given directed weighted graph. K^@? has two advantages compared to current k-shortest-paths algorithms. First, K^@? operates on-the-fly, which means that it does not require the graph to be explicitly available and stored in main memory. Portions of the graph will be generated as needed. Second, K^@? can be guided using heuristic functions. We prove the correctness of K^@? and determine its asymptotic worst-case complexity when using a consistent heuristic to be the same as the state of the art, O(m+nlogn+k), with respect to both runtime and space, where n is the number of vertices and m is the number of edges of the graph. We present an experimental evaluation of K^@? by applying it to route planning problems as well as counterexample generation for stochastic model checking. The experimental results illustrate that due to the use of heuristic, on-the-fly search K^@? can use less time and memory compared to the most efficient k-shortest-paths algorithms known so far.

[1]  Husain Aljazzar,et al.  Directed Explicit State-Space Search in the Generation of Counterexamples for Stochastic Model Checking , 2010, IEEE Transactions on Software Engineering.

[2]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[3]  Andrés Marzal,et al.  A Lazy Version of Eppstein's K Shortest Paths Algorithm , 2003, WEA.

[4]  Jose Luis Esteves dos Santos,et al.  A New Shortest Paths Ranking Algorithm , 1999 .

[5]  Dan Klein,et al.  K-Best A* Parsing , 2009, ACL.

[6]  Peter Sanders,et al.  Engineering Fast Route Planning Algorithms , 2007, WEA.

[7]  Husain Aljazzar,et al.  Safety Analysis of an Airbag System Using Probabilistic FMEA and Probabilistic Counterexamples , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.

[8]  Jesfis Peral,et al.  Heuristics -- intelligent search strategies for computer problem solving , 1984 .

[9]  David Eppstein,et al.  Finding the k shortest paths , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[10]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[11]  J. Y. Yen,et al.  Finding the K Shortest Loopless Paths in a Network , 2007 .

[12]  Patrice Perny,et al.  Search for Compromise Solutions in Multiobjective State Space Graphs , 2006, ECAI.

[13]  Greg N. Frederickson,et al.  An Optimal Algorithm for Selection in a Min-Heap , 1993, Inf. Comput..

[14]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[15]  Holger Hermanns,et al.  Counterexamples for Timed Probabilistic Reachability , 2005, FORMATS.

[16]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

[17]  Christel Baier,et al.  Principles of model checking , 2008 .

[18]  Husain Aljazzar,et al.  Directed diagnostics of system dependability models , 2009 .

[19]  Rina Dechter,et al.  Generalized best-first search strategies and the optimality of A* , 1985, JACM.

[20]  Joost-Pieter Katoen,et al.  On the use of model checking techniques for dependability evaluation , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[21]  Husain Aljazzar,et al.  Generation of Counterexamples for Model Checking of Markov Decision Processes , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.

[22]  Joost-Pieter Katoen,et al.  Counterexamples in Probabilistic Model Checking , 2007, TACAS.

[23]  Greg N. Frederickson Ambivalent Data Structures for Dynamic 2-Edge-Connectivity and k Smallest Spanning Trees , 1997, SIAM J. Comput..

[24]  Greg N. Frederickson,et al.  Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[25]  Andrés Marzal,et al.  Computing the K Shortest Paths: A New Algorithm and an Experimental Comparison , 1999, WAE.