research

A Linear-Size Logarithmic Stretch Path-Reporting Distance Oracle for General Graphs

Abstract

In 2001 Thorup and Zwick devised a distance oracle, which given an nn-vertex undirected graph and a parameter kk, has size O(kn1+1/k)O(k n^{1+1/k}). Upon a query (u,v)(u,v) their oracle constructs a (2k1)(2k-1)-approximate path Π\Pi between uu and vv. The query time of the Thorup-Zwick's oracle is O(k)O(k), and it was subsequently improved to O(1)O(1) by Chechik. A major drawback of the oracle of Thorup and Zwick is that its space is Ω(nlogn)\Omega(n \cdot \log n). Mendel and Naor devised an oracle with space O(n1+1/k)O(n^{1+1/k}) and stretch O(k)O(k), but their oracle can only report distance estimates and not actual paths. In this paper we devise a path-reporting distance oracle with size O(n1+1/k)O(n^{1+1/k}), stretch O(k)O(k) and query time O(nϵ)O(n^\epsilon), for an arbitrarily small ϵ>0\epsilon > 0. In particular, our oracle can provide logarithmic stretch using linear size. Another variant of our oracle has size O(nloglogn)O(n \log\log n), polylogarithmic stretch, and query time O(loglogn)O(\log\log n). For unweighted graphs we devise a distance oracle with multiplicative stretch O(1)O(1), additive stretch O(β(k))O(\beta(k)), for a function β()\beta(\cdot), space O(n1+1/kβ)O(n^{1+1/k} \cdot \beta), and query time O(nϵ)O(n^\epsilon), for an arbitrarily small constant ϵ>0\epsilon >0. The tradeoff between multiplicative stretch and size in these oracles is far below girth conjecture threshold (which is stretch 2k12k-1 and size O(n1+1/k)O(n^{1+1/k})). Breaking the girth conjecture tradeoff is achieved by exhibiting a tradeoff of different nature between additive stretch β(k)\beta(k) and size O(n1+1/k)O(n^{1+1/k}). A similar type of tradeoff was exhibited by a construction of (1+ϵ,β)(1+\epsilon,\beta)-spanners due to Elkin and Peleg. However, so far (1+ϵ,β)(1+\epsilon,\beta)-spanners had no counterpart in the distance oracles' world. An important novel tool that we develop on the way to these results is a {distance-preserving path-reporting oracle}

    Similar works

    Full text

    thumbnail-image

    Available Versions