Path-Reporting Distance Oracles with Near-Logarithmic Stretch and Linear Size
Given an n-vertex undirected graph G=(V,E,w), and a parameter k≥1, a path-reporting distance oracle (or PRDO) is a data structure of size S(n,k), that given a query (u,v)∈ V^2, returns an f(k)-approximate shortest u-v path P in G within time q(k)+O(|P|). Here S(n,k), f(k) and q(k) are arbitrary functions. A landmark PRDO due to Thorup and Zwick, with an improvement of Wulff-Nilsen, has S(n,k)=O(k· n^1+1/k), f(k)=2k-1 and q(k)=O(log k). The size of this oracle is Ω(nlog n) for all k. Elkin and Pettie and Neiman and Shabat devised much sparser PRDOs, but their stretch was polynomially larger than the optimal 2k-1. On the other hand, for non-path-reporting distance oracles, Chechik devised a result with S(n,k)=O(n^1+1/k), f(k)=2k-1 and q(k)=O(1). In this paper we make a dramatic progress in bridging the gap between path-reporting and non-path-reporting distance oracles. We devise a PRDO with size S(n,k)=O(⌈kloglog n/log n⌉· n^1+1/k), stretch f(k)=O(k) and query time q(k)=O(log⌈kloglog n/log n⌉). We can also have size O(n^1+1/k), stretch O(k·⌈kloglog n/log n⌉) and query time q(k)=O(log⌈kloglog n/log n⌉). Our results on PRDOs are based on novel constructions of approximate distance preservers, that we devise in this paper. Specifically, we show that for any ϵ>0, any k=1,2,..., and any graph G and a collection 𝒫 of p vertex pairs, there exists a (1+ϵ)-approximate preserver with O(γ(ϵ,k)· p+nlog k+n^1+1/k) edges, where γ(ϵ,k)=(log k/ϵ)^O(log k). These new preservers are significantly sparser than the previous state-of-the-art approximate preservers due to Kogan and Parter.
READ FULL TEXT