Removing Sequential Bottleneck of Dijkstra's Algorithm for the Shortest Path Problem
Vijay K. Garg

TL;DR
This paper introduces four new algorithms that reduce sequential bottlenecks in Dijkstra's shortest path algorithm by maintaining bounds, enabling more parallelism and improved complexity in certain graph types.
Contribution
The paper presents four novel algorithms that generalize previous work, reducing sequential dependencies and increasing parallelism in shortest path computations.
Findings
Algorithms $SP_1$ and $SP_2$ have optimal $O(e)$ complexity for certain graph types.
$SP_3$ and $SP_4$ enable more parallelism with higher work complexity.
The methods generalize prior parallelization approaches for Dijkstra's algorithm.
Abstract
All traditional methods of computing shortest paths depend upon edge-relaxation where the cost of reaching a vertex from a source vertex is possibly decreased if that edge is used. We introduce a method which maintains lower bounds as well as upper bounds for reaching a vertex. This method enables one to find the optimal cost for multiple vertices in one iteration and thereby reduces the sequential bottleneck in Dijkstra's algorithm. We present four algorithms in this paper --- , , and . and reduce the number of heap operations in Dijkstra's algorithm. For directed acyclic graphs, or directed unweighted graphs they have the optimal complexity of where is the number of edges in the graph which is better than that of Dijkstra's algorithm. For general graphs, their worst case complexity matches that of Dijkstra's algorithm for a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComplexity and Algorithms in Graphs · Algorithms and Data Compression · Software Testing and Debugging Techniques
