Given an undirected weighted graph, an (approximate) distance oracle is a data structure that can (approximately) answer distance queries. A {\em Path-Reporting Distance Oracle}, or {\em PRDO}, is a distance oracle that must also return a path between the queried vertices. Given a graph on $n$ vertices and an integer parameter $k\ge 1$, Thorup and Zwick \cite{TZ01} showed a PRDO with stretch $2k-1$, size $O(k\cdot n^{1+1/k})$ and query time $O(k)$ (for the query time of PRDOs, we omit the time needed to report the path itself). Subsequent works \cite{MN06,C14,C15} improved the size to $O(n^{1+1/k})$ and the query time to $O(1)$. However, these improvements produce distance oracles which are not path-reporting. Several other works \cite{ENW16,EP15} focused on small size PRDO for general graphs, but all known results on distance oracles with linear size suffer from polynomial stretch, polynomial query time, or not being path-reporting. In this paper we devise the first linear size PRDO with poly-logarithmic stretch and low query time $O(\log\log n)$. More generally, for any integer $k\ge 1$, we obtain a PRDO with stretch at most $O(k^{4.82})$, size $O(n^{1+1/k})$, and query time $O(\log k)$. In addition, we can make the size of our PRDO as small as $n+o(n)$, at the cost of increasing the query time to poly-logarithmic. For unweighted graphs, we improve the stretch to $O(k^2)$. We also consider {\em pairwise PRDO}, which is a PRDO that is only required to answer queries from a given set of pairs ${\cal P}$. An exact PRDO of size $O(n+|{\cal P}|^2)$ and constant query time was provided in \cite{EP15}. In this work we dramatically improve the size, at the cost of slightly increasing the stretch. Specifically, given any $\epsilon>0$, we devise a pairwise PRDO with stretch $1+\epsilon$, constant query time, and near optimal size $n^{o(1)}\cdot (n+|{\cal P}|)$.
翻译:给定一个无向加权图,(近似)距离预言机是一种能够(近似)回答距离查询的数据结构。路径报告距离预言机(PRDO)是一种还必须返回查询顶点间路径的距离预言机。给定一个包含 $n$ 个顶点的图和一个整数参数 $k\ge 1$,Thorup 和 Zwick \cite{TZ01} 提出了一个拉伸度为 $2k-1$、规模为 $O(k\cdot n^{1+1/k})$、查询时间为 $O(k)$ 的 PRDO(对于 PRDO 的查询时间,我们省略了报告路径本身所需的时间)。后续工作 \cite{MN06,C14,C15} 将规模改进为 $O(n^{1+1/k})$,查询时间改进为 $O(1)$。然而,这些改进产生的距离预言机并非路径报告类型。其他一些工作 \cite{ENW16,EP15} 专注于为一般图构造小规模 PRDO,但所有已知的线性规模距离预言机结果都存在拉伸度为多项式、查询时间为多项式,或不是路径报告型的问题。在本文中,我们设计了第一个具有多对数拉伸度和低查询时间 $O(\log\log n)$ 的线性规模 PRDO。更一般地,对于任意整数 $k\ge 1$,我们获得了一个拉伸度至多为 $O(k^{4.82})$、规模为 $O(n^{1+1/k})$、查询时间为 $O(\log k)$ 的 PRDO。此外,我们可以将 PRDO 的规模减小到 $n+o(n)$,代价是将查询时间增加到多对数级别。对于无权图,我们将拉伸度改进为 $O(k^2)$。我们还考虑了成对 PRDO,即仅需回答来自给定查询对集合 ${\cal P}$ 中查询的 PRDO。文献 \cite{EP15} 提供了一个规模为 $O(n+|{\cal P}|^2)$、查询时间为常数的精确 PRDO。在这项工作中,我们显著改进了规模,代价是略微增加拉伸度。具体来说,给定任意 $\epsilon>0$,我们设计了一个拉伸度为 $1+\epsilon$、查询时间为常数、且规模接近最优 $n^{o(1)}\cdot (n+|{\cal P}|)$ 的成对 PRDO。