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 n-vertex undirected graph and a parameter k, has size O(k n1+1/k). Upon a query (u,v) their oracle constructs a (2k-1)-approximate path between u and v. The query time of the Thorup-Zwick's oracle is O(k), and it was subsequently improved to O(1) by Chechik. A major drawback of the oracle of Thorup and Zwick is that its space is (n · n). Mendel and Naor devised an oracle with space O(n1+1/k) and stretch 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), stretch O(k) and query time O(nε), for an arbitrarily small ε > 0. In particular, our oracle can provide logarithmic stretch using linear size. Another variant of our oracle has size O(n n), polylogarithmic stretch, and query time O( n). For unweighted graphs we devise a distance oracle with multiplicative stretch O(1), additive stretch O(β(k)), for a function β(·), space O(n1+1/k · β), and query time O(nε), for an arbitrarily small constant ε >0. The tradeoff between multiplicative stretch and size in these oracles is far below girth conjecture threshold (which is stretch 2k-1 and size O(n1+1/k)). Breaking the girth conjecture tradeoff is achieved by exhibiting a tradeoff of different nature between additive stretch β(k) and size O(n1+1/k). A similar type of tradeoff was exhibited by a construction of (1+ε,β)-spanners due to Elkin and Peleg. However, so far (1+ε,β)-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.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.