Non-adaptive Bellman-Ford: Yen's improvement is optimal
Jialu Hu, László Kozma
TL;DR
This work analyzes non-adaptive (oblivious) implementations of the Bellman-Ford algorithm for single-source shortest paths in dense graphs. It proves a tight $(rac{1}{2}-o(1))n^3$ lower bound on the number of edge relaxations for deterministic non-adaptive sequences, showing Yen's factor-two improvement is optimal up to $o(1)$. It also demonstrates a strict separation between deterministic and randomized non-adaptive approaches, since a known randomized method achieves $(rac{1}{3}+o(1))n^3$ relaxations with high probability. Additionally, the paper shows that deciding whether a given relaxation sequence guarantees correct distances is co-NP-hard (even for complete graphs), further discussing open questions about finding shortest non-adaptive sequences and the complexity in BF-orderable graphs.
Abstract
The Bellman-Ford algorithm for single-source shortest paths repeatedly updates tentative distances in an operation called relaxing an edge. In several important applications a non-adaptive (oblivious) implementation is preferred, which means fixing the entire sequence of relaxations upfront, independently of the edge-weights. Such an implementation performs, in a dense graph on $n$ vertices, $(1 + o(1))n^3$ relaxations. An improvement by Yen from 1970 reduces the number of relaxations by a factor of two. We show that no further constant-factor improvements are possible, and every non-adaptive deterministic algorithm based on relaxations must perform $(\frac{1}{2} - o(1))n^3$ steps. This improves an earlier lower bound of Eppstein of $(\frac{1}{6} - o(1))n^3$. Given that a non-adaptive randomized variant of Bellman-Ford with at most $(\frac{1}{3} + o(1))n^3$ relaxations (with high probability) is known, our result implies a strict separation between deterministic and randomized strategies, answering an open question of Eppstein. On the complexity side, we show that deciding whether a given relaxation sequence is guaranteed to yield correct distances is NP-hard, even with the complete graph as input.
