Path-Reporting Distance Oracles with Near-Logarithmic Stretch and Linear Size

Abstract

Given an nn-vertex undirected graph G=(V,E,w)G=(V,E,w), and a parameter kβ‰₯1k\geq1, a path-reporting distance oracle (or PRDO) is a data structure of size S(n,k)S(n,k), that given a query (u,v)∈V2(u,v)\in V^2, returns an f(k)f(k)-approximate shortest uβˆ’vu-v path PP in GG within time q(k)+O(∣P∣)q(k)+O(|P|). Here S(n,k)S(n,k), f(k)f(k) and q(k)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β‹…n1+1k)S(n,k)=O(k\cdot n^{1+\frac{1}{k}}), f(k)=2kβˆ’1f(k)=2k-1 and q(k)=O(log⁑k)q(k)=O(\log k). The size of this oracle is Ξ©(nlog⁑n)\Omega(n\log n) for all kk. Elkin and Pettie and Neiman and Shabat devised much sparser PRDOs, but their stretch was polynomially larger than the optimal 2kβˆ’12k-1. On the other hand, for non-path-reporting distance oracles, Chechik devised a result with S(n,k)=O(n1+1k)S(n,k)=O(n^{1+\frac{1}{k}}), f(k)=2kβˆ’1f(k)=2k-1 and q(k)=O(1)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(⌈klog⁑log⁑nlog⁑nβŒ‰β‹…n1+1k)S(n,k)=O(\lceil\frac{k\log\log n}{\log n}\rceil\cdot n^{1+\frac{1}{k}}), stretch f(k)=O(k)f(k)=O(k) and query time q(k)=O(log⁑⌈klog⁑log⁑nlog⁑nβŒ‰)q(k)=O(\log\lceil\frac{k\log\log n}{\log n}\rceil). We can also have size O(n1+1k)O(n^{1+\frac{1}{k}}), stretch O(kβ‹…βŒˆklog⁑log⁑nlog⁑nβŒ‰)O(k\cdot\lceil\frac{k\log\log n}{\log n}\rceil) and query time q(k)=O(log⁑⌈klog⁑log⁑nlog⁑nβŒ‰)q(k)=O(\log\lceil\frac{k\log\log n}{\log n}\rceil). 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\epsilon>0, any k=1,2,...k=1,2,..., and any graph GG and a collection P\mathcal{P} of pp vertex pairs, there exists a (1+Ο΅)(1+\epsilon)-approximate preserver with O(Ξ³(Ο΅,k)β‹…p+nlog⁑k+n1+1k)O(\gamma(\epsilon,k)\cdot p+n\log k+n^{1+\frac{1}{k}}) edges, where Ξ³(Ο΅,k)=(log⁑kΟ΅)O(log⁑k)\gamma(\epsilon,k)=(\frac{\log k}{\epsilon})^{O(\log k)}. These new preservers are significantly sparser than the previous state-of-the-art approximate preservers due to Kogan and Parter.Comment: 61 pages, 3 figure

    Similar works

    Full text

    thumbnail-image

    Available Versions