Path-Reporting Distance Oracles with Logarithmic Stretch and Size O(n log log n)

2023 IEEE 64TH ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, FOCS(2023)

引用 0|浏览2
暂无评分
摘要
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) is an element of 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 (hopefully slowly-growing) functions. A distance oracle that only returns an approximate estimate d(u, v) of the distance d(G)(u, v) between the queried vertices is called a nonpath-reporting distance oracle. A landmark PRDO due to Thorup and Zwick [56] has S(n, k) = O(k . n(1+ 1/k)), f(k) = 2k - 1 and q(k) = O(k). Wulff-Nilsen [59] devised an improved query algorithm for this oracle with q(k) = O(log k). The size of this oracle is Omega(n log n) for all k. Elkin and Pettie [30] devised a PRDO with S(n, k) = O(log k . n(1+ 1/k)), f(k) = O(k(log4/3) 7) and q(k) = O(log k). Neiman and Shabat [46] recently devised an improved PRDO with S(n, k) = O(n(1+ 1/k)), f(k) = O(k(log4/3) 4) and q(k) = O(log k). These oracles (of [30], [46]) can be much sparser than O(n log n) (the oracle of [46] can have linear size), but their stretch is polynomially larger than the optimal bound of 2k - 1. On the other hand, a long line of non-pathreporting distance oracles culminated in a celebrated result by Chechik [14], in which 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. In particular, we devise a PRDO with size S(n, k) = O(inverted right perpendicular k.log log n/log n inverted left perpendicular . n(1+ 1/k) ), stretch f(k) = O(k) and query time q(k) = O(log inverted right perpendicular k.log log n/log n inverted left perpendicular). As inverted right perpendicular k.log log n/log n inverted left perpendicular = O(log k) for k <= log n, its size is always at most O(log k center dot n(1+ 1/k)), and its query time is O(log log k). Moreover, for k = O(log n/log log n), we have inverted right perpendicular k . log log n/log n inverted left perpendicular = O(1), i.e., S(n, k) = O(n(1+ 1/k)), f(k) = O(k), and q(k) = O(1). For k = Theta(logn), our oracle has size O(n log log n), stretch O(log n) and query time O(log((3)) n). We can also have linear size O(n), stretch O(log n . log log n) and query time O(log((3)) n). These trade-offs exhibit polynomial improvement in stretch over the PRDOs of [30], [46]. For k = Omega( log n/log log n), our tradeoffs also strictly improve the long-standing bounds of [56], [59]. 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 epsilon > 0, any k = 1, 2,..., and any graph G = (V, E, w) and a collection P of p vertex pairs, there exists a (1 + epsilon)-approximate preserver for G, P with O(gamma(epsilon, k) . p + n log k + n(1+ 1/k)) edges, where gamma(epsilon, k) = (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 [41].
更多
查看译文
关键词
graph algorithms,shortest paths,distance oracles
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要