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...

Full description

Saved in:
Bibliographic Details
Published inArtificial intelligence Vol. 175; no. 18; pp. 2129 - 2154
Main Authors Aljazzar, Husain, Leue, Stefan
Format Journal Article
LanguageEnglish
Published Oxford Elsevier B.V 01.12.2011
Elsevier
Subjects
Online AccessGet full text
ISSN0004-3702
1872-7921
DOI10.1016/j.artint.2011.07.003

Cover

More Information
Summary: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 + n log n + 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.
ISSN:0004-3702
1872-7921
DOI:10.1016/j.artint.2011.07.003