We present a (1+ε)-approximate parallel algorithm for computing shortest paths in undirected graphs, achieving poly(logn) depth and mpoly(logn) work for n-nodes m-edges graphs. Although sequential algorithms with (nearly) optimal running time have been known for several decades, near-optimal parallel algorithms have turned out to be a much tougher challenge. For (1+ε)-approximation, all prior algorithms with poly(logn) depth perform at least Ω(mnc) work for some constant c>0. Improving this long-standing upper bound obtained by Cohen (STOC'94) has been open for 25 years. We develop several new tools of independent interest. One of them is a new notion beyond hopsets --- low hop emulator --- a poly(logn)-approximate emulator graph in which every shortest path has at most O(loglogn) hops (edges). Direct applications of the low hop emulators are parallel algorithms for poly(logn)-approximate single source shortest path (SSSP), Bourgain's embedding, metric tree embedding, and low diameter decomposition, all with poly(logn) depth and mpoly(logn) work. To boost the approximation ratio to (1+ε), we introduce compressible preconditioners and apply it inside Sherman's framework (SODA'17) to solve the more general problem of uncapacitated minimum cost flow (a.k.a., transshipment problem). Our algorithm computes a (1+ε)-approximate uncapacitated minimum cost flow in poly(logn) depth using mpoly(logn) work. As a consequence, it also improves the state-of-the-art sequential running time from m⋅2O(logn) to mpoly(logn).
@article{arxiv.1911.01956,
title = {Parallel Approximate Undirected Shortest Paths Via Low Hop Emulators},
author = {Alexandr Andoni and Clifford Stein and Peilin Zhong},
journal= {arXiv preprint arXiv:1911.01956},
year = {2019}
}