Survey of Parallel A* in Rust
Abstract
A* is one of the most popular Best First Search (BFS) techniques for graphs. It combines the cost-based search of Breadth First Search with a computed heuristic for each node to attempt to locate the goal path faster than traditional Breadth First Search or Depth First Search techniques. However, A* is a sequential algorithm. The standard implementation only runs in one thread. There are a few attempts to get A* to leverage multiple threads. Centralized (SPA*) and Decentralized (DPA*, HDA*) methods are the most standard attempts, with the most unique and modern method being massively-parallel A* (MPA* or GA*). We will attempt an implementation of each in Rust to determine if there is a performance boost, and which one has the best performance.
Cite
@article{arxiv.2105.03573,
title = {Survey of Parallel A* in Rust},
author = {Brett Fazio and Ellie Kozlowski and Dylan Ochoa and Blake Robertson and Idel Martinez},
journal= {arXiv preprint arXiv:2105.03573},
year = {2021}
}