  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.
