Solving the all pairs shortest path problem after minor update of a large dense graph
Gangli Liu
TL;DR
This work addresses updating the all-pairs shortest path (APSP) matrix after minor changes to a weighted dense graph, by reusing an already-known APSP instead of recomputing from scratch. It introduces warm-start strategies for adding or removing nodes and for edge modifications, plus a focused warm-start method for the shortest path between two nodes; the best-case complexity is $O(n^2)$ while the worst-case is $O(n^3)$. The paper provides correctness proofs and multiple algorithmic variants (e.g., APSPremove, APSPremove\_key\_new) with empirical validation showing substantial speedups (often several orders of magnitude) compared to cold-start baselines like Floyd–Warshall or Dijkstra. The results demonstrate practical impact for dynamic dense networks, enabling faster updates in scenarios where graph structure changes incrementally and frequent recomputation would be prohibitive.
Abstract
The all pairs shortest path problem is a fundamental optimization problem in graph theory. We deal with re-calculating the all-pairs shortest path (APSP) matrix after a minor modification of a weighted dense graph, e.g., adding a node, removing a node, or updating an edge. We assume the APSP matrix for the original graph is already known. The graph can be directed or undirected. A cold-start calculation of the new APSP matrix by traditional algorithms, like the Floyd-Warshall algorithm or Dijkstra's algorithm, needs $ O(n^3) $ time. We propose two algorithms for warm-start calculation of the new APSP matrix. The best case complexity for a warm-start calculation is $ O(n^2) $, the worst case complexity is $ O(n^3) $. We implemented the algorithms and tested their performance with experiments. The result shows a warm-start calculation can save a great portion of calculation time, compared with cold-start calculation. In addition, another algorithm is devised to warm-start calculate of the shortest path between two nodes. Experiment shows warm-start calculation can save 99\% of calculation time, compared with cold-start calculation by Dijkstra's algorithm, on directed complete graphs of large sizes.
