Evolving A* to Efficiently Solve the k Shortest-Path Problem (Extended Version)

Carlos Linares López, Ian Herman
8/15/2024
cs.DScs.AI

No official code found. Best implementation: clinaresl/ksearch (3 stars, MIT, last commit 2024-10-24).

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 art, often by one or two orders of magnitude.

View on arXivView PDF

Code Implementations(1)

clinaresl/ksearchCommunity100%
MIT

Implementation of a number of search algorithms to compute K (non-simple) optimal paths. It provides both brute-force and heuristic search variants.

31C, C++Aug 10, 20241 years agoMIT

Similar Papers

Cite this paper

@article{lpez2024evolving,
  title  = {Evolving A* to Efficiently Solve the k Shortest-Path Problem (Extended Version)},
  author = {Carlos Linares López and Ian Herman},
  year   = {2024},
  eprint = {2408.08227},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2408.08227v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.08227.svg)](https://codeofpaper.com/paper/2408.08227)

Discussion