Bidirectional Dijkstra's Algorithm is Instance-Optimal

October 18, 2024 Β· Declared Dead Β· πŸ› SIAM Symposium on Simplicity in Algorithms

πŸ‘» CAUSE OF DEATH: Ghosted
No code link whatsoever

"No code URL or promise found in abstract"

Evidence collected by the PWNC Scanner

Authors Bernhard Haeupler, Richard HladΓ­k, Vaclav Rozhon, Robert E. Tarjan, Jakub TΔ›tek arXiv ID 2410.14638 Category cs.DS: Data Structures & Algorithms Citations 4 Venue SIAM Symposium on Simplicity in Algorithms Last Checked 4 months ago
Abstract
Although Dijkstra's algorithm has near-optimal time complexity for the problem of finding a shortest path from a given vertex $s$ to a given vertex $t$, in practice other algorithms are often superior on huge graphs. A prominent example is bidirectional search, which concurrently executes Dijkstra's algorithm forward from $s$ and backward from $t$, and stops when these executions meet. In this paper, we give a strong theoretical justification for the use of bidirectional search to find a shortest $st$-path. We prove that for weighted multigraphs, both directed and undirected, a careful implementation of bidirectional search is instance-optimal with respect to the number of edges it examines. That is, we prove that no correct algorithm can outperform our implementation of bidirectional search on any single instance by more than a constant factor. For unweighted graphs, we show that bidirectional breadth-first search is instance-optimal up to a factor of $O(Ξ”)$ where $Ξ”$ is the maximum degree of the graph. We also show that this is best possible.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

πŸ“œ Similar Papers

In the same crypt β€” Data Structures & Algorithms

Died the same way β€” πŸ‘» Ghosted