BMA*: An Efficient Algorithm for the One-to-Some Shortest Path Problem on Road Maps

  • Authors:
  • Dan He

  • Affiliations:
  • Department of Computer Science, University of Vermont, Burlington, VT 05405, USA

  • Venue:
  • AAIM '07 Proceedings of the 3rd international conference on Algorithmic Aspects in Information and Management
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The best known algorithm for the one-to-all shortest path problem is Dijkstra's algorithm, which can achieve time complexity O(|E| + |V|log(|V|)) by the implementation of data structures like buckets. While for one-to-some shortest path problem, no matter how small the "some" is, the time complexity of Dijkstra's algorithm remains O(|E| + |V|log(|V|)) and it often still needs to explore a large part of the graph and thus is not efficient. This paper proposes a novel algorithm which computes the shortest paths bidirectionally with A*algorithm multiple times to solve the one-to-some shortest path problem on road maps efficiently, where the size of the destination set is much smaller than the total number of vertices in the graph. The experiments on both randomly generated graphs and real road maps show that our algorithm is more space and time efficient than Dijkstra's algorithm with buckets, one of the most efficient algorithm for one-to-some shortest path problem.