Centralized and Parallel Multi-Source Shortest Paths via Hopsets and Fast Matrix Multiplication
Consider an undirected weighted graph G = (V,E,w). We study the problem of computing (1+ϵ)-approximate shortest paths for S × V, for a subset S ⊆ V of |S| = n^r sources, for some 0 < r < 1. We devise a significantly improved algorithm for this problem in the entire range of parameter r, in both the classical centralized and in the parallel (PRAM) models of computation. Specifically, our centralized algorithm for this problem requires time Õ(|E| · n^o(1) + n^ω(r)), where n^ω(r) is the time required to multiply an n^r × n matrix by an n × n one. Our PRAM algorithm has polylogarithmic time (log n)^O(1/ρ), and its work complexity is Õ(|E| · n^ρ + n^ω(r)), for any arbitrarily small constant ρ >0. In particular, for r < 0.313..., our centralized algorithm computes S × V(1+ϵ)-approximate shortest paths in n^2 + o(1) time. Our PRAM polylogarithmic-time algorithm has work complexity O(|E| · n^ρ + n^2+o(1)), for any arbitrarily small constant ρ >0. Previously existing solutions either require centralized time/parallel work of O(|E| · |S|) or provide much weaker approximation guarantees. We also devise efficient algorithms for computing (1+ϵ)-approximate shortest paths from each vertex to its k nearest neighbors in directed graphs. Here too the running time is only O(n^2+o(1)) even for polynomially large k< n^0.168. Our algorithm combines fast matrix multiplication with hopsets. Related ideas were formerly used in the context of the Congested Clique model by Censor-Hillel et al. <cit.>. That model, however, suppresses heavy local computations. We show that these computations can be replaced by fast matrix multiplication.
READ FULL TEXT