Evolving A* to Efficiently Solve the k Shortest-Path Problem (Extended Version)
Carlos Linares L\'opez, Ian Herman

TL;DR
This paper presents an evolved version of the A* algorithm that efficiently computes multiple shortest paths in a graph, significantly outperforming existing methods in various test scenarios.
Contribution
It introduces a new search algorithm derived from A* that maintains its properties while achieving the same time complexity for the k shortest paths problem.
Findings
Significant performance improvements over existing algorithms
Often achieves one or two orders of magnitude faster results
Applicable to many domains due to preserved properties
Abstract
The problem of finding the shortest path in a graph G(V, E) has been widely studied. However, in many applications it is necessary to compute an arbitrary number of them, k. Even though the problem has raised a lot of interest from different research communities and many applications of it are known, it has not been addressed to the same extent as the single shortest path problem. The best algorithm known for efficiently solving this task has a time complexity of O (|E| + |V|log{|V|}+k|V|)$ when computing paths in explicit form, and is based on best-first search. This paper introduces a new search algorithm with the same time complexity, which results from a natural evolution of A* thus, it preserves all its interesting properties, making it widely applicable to many different domains. Experiments in various testbeds show a significant improvement in performance over the state of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning and Algorithms · Algorithms and Data Compression · Data Management and Algorithms
