Centralized, Parallel, and Distributed Multi-Source Shortest Paths via Hopsets and Rectangular Matrix Multiplication

Abstract

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 ⊂eq V of |S| = nr 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 the parallel (PRAM) models of computation, and in a wide range of r in the distributed (Congested Clique) model. Specifically, our centralized algorithm for this problem requires time O(|E| · no(1) + nω(r)), where nω(r) is the time required to multiply an nr × n matrix by an n × n one. Our PRAM algorithm has polylogarithmic time ( n)O(1/), and its work complexity is O(|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 n2 + o(1) time. Our PRAM polylogarithmic-time algorithm has work complexity O(|E| · n + n2+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. In the Congested Clique model, our algorithm solves the problem in polylogarithmic time for |S| = nr sources, for r 0.655, while previous state-of-the-art algorithms did so only for r 1/2. Moreover, it improves previous bounds for all r > 1/2. For unweighted graphs, the running time is improved further to poly( n).

0

Discussion (0)

Sign in to join the discussion.

Loading comments…