Table of Contents
Fetching ...

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

Carlos Linares López, Ian Herman

TL;DR

The paper tackles the κ shortest-path problem in directed graphs by evolving A$^*$ into BELA$^*$, a method that preserves the same asymptotic efficiency while enabling explicit path output. Central ideas include partitioning suboptimal paths via centroids tied to sidetrack edges and reconstructing solutions as cross-products of optimal prefixes and corresponding suffixes. BELA$_0$ provides a brute-force, centroid-based enumeration framework with proven completeness and admissibility, while BELA$^*$ injects a consistent heuristic to dramatically reduce expansions without sacrificing correctness. Extensive empirical evaluation across roadmaps, random maps, N-Pancake, and N-Puzzle domains demonstrates that BELA$_0$ and especially BELA$^*$ frequently outperform state-of-the-art approaches (mA$^*$, K$^*$) by one to several orders of magnitude, with robust scalability and practical impact for large-scale κ-shortest-path computations.

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.

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

TL;DR

The paper tackles the κ shortest-path problem in directed graphs by evolving A into BELA, a method that preserves the same asymptotic efficiency while enabling explicit path output. Central ideas include partitioning suboptimal paths via centroids tied to sidetrack edges and reconstructing solutions as cross-products of optimal prefixes and corresponding suffixes. BELA provides a brute-force, centroid-based enumeration framework with proven completeness and admissibility, while BELA injects a consistent heuristic to dramatically reduce expansions without sacrificing correctness. Extensive empirical evaluation across roadmaps, random maps, N-Pancake, and N-Puzzle domains demonstrates that BELA and especially BELA frequently outperform state-of-the-art approaches (mA, K) by one to several orders of magnitude, with robust scalability and practical impact for large-scale κ-shortest-path computations.

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.
Paper Structure (31 sections, 7 theorems, 2 equations, 49 figures, 81 tables, 2 algorithms)

This paper contains 31 sections, 7 theorems, 2 equations, 49 figures, 81 tables, 2 algorithms.

Key Result

Lemma 1

Let $\pi_{i}\in \Pi$ denote a suboptimal solution path, and let $e_{u, v}$ denote its first sidetrack edge, then there exists another solution path $\pi_{j}\in\Pi, C (\pi_{j}) < C (\pi_{i})$, such that the ending vertex of $e_{u, v}$, $v$, belongs to the prefix of $\pi_{j}$.

Figures (49)

  • Figure 1: Examples of sidetrack edges ---shown in thick lines
  • Figure 2: Example of suboptimal solution paths with various sidetrack edges
  • Figure 3: Example of BELA$_{0}$
  • Figure 4: Expansion order of BELA$^{*}$
  • Figure 5: Runtime (in seconds) in the roadmap (dimacs) domain with brute-force search algorithms
  • ...and 44 more figures

Theorems & Definitions (12)

  • Definition 1
  • Definition 2
  • Definition 3
  • Definition 4
  • Lemma 1
  • Definition 5
  • Lemma 2
  • Lemma 3
  • Lemma 4: Sufficient condition for expansion
  • Lemma 5: Necessary condition for expansion
  • ...and 2 more