Almost Shortest Paths and PRAM Distance Oracles in Weighted Graphs.

Michael Elkin, Yuval Gitlitz, Ofer Neiman

Research output: Working paper/PreprintPreprint


Let G=(V,E,w) be a weighted undirected graph with n vertices and m edges, and fix a set of s sources S⊆V. We study the problem of computing {\em almost shortest paths} (ASP) for all pairs in S×V in both classical centralized and parallel (PRAM) models of computation. Consider the regime of multiplicative approximation of 1+ϵ, for an arbitrarily small constant ϵ>0 . In this regime existing centralized algorithms require Ω(min{|E|s,nω}) time, where ω<2.372 is the matrix multiplication exponent. Existing PRAM algorithms with polylogarithmic depth (aka time) require work Ω(min{|E|s,nω}). Our centralized algorithm has running time O((m+ns)nρ), and its PRAM counterpart has polylogarithmic depth and work O((m+ns)nρ), for an arbitrarily small constant ρ>0. For a pair (s,v)∈S×V, it provides a path of length d^(s,v) that satisfies d^(s,v)≤(1+ϵ)dG(s,v)+β⋅W(s,v), where W(s,v) is the weight of the heaviest edge on some shortest s−v path. Hence our additive term depends linearly on a {\em local} maximum edge weight, as opposed to the global maximum edge weight in previous works. Finally, our β=(1/ρ)O(1/ρ). We also extend a centralized algorithm of Dor et al. \cite{DHZ00}. For a parameter κ=1,2,…, this algorithm provides for {\em unweighted} graphs a purely additive approximation of 2(κ−1) for {\em all pairs shortest paths} (APASP) in time O~(n2+1/κ). Within the same running time, our algorithm for {\em weighted} graphs provides a purely additive error of 2(κ−1)W(u,v), for every vertex pair (u,v)∈(V2), with W(u,v) defined as above. On the way to these results we devise a suit of novel constructions of spanners, emulators and hopsets.
Original languageEnglish GB
StatePublished - 2019

Publication series

NameArxiv preprint


Dive into the research topics of 'Almost Shortest Paths and PRAM Distance Oracles in Weighted Graphs.'. Together they form a unique fingerprint.

Cite this