Let $\mathcal{P}$ be the surface of a convex polyhedron with $n$ vertices. We consider the two-point shortest path query problem for $\mathcal{P}$: Constructing a data structure so that given any two query points $s$ and $t$ on $\mathcal{P}$, a shortest path from $s$ to $t$ on $\mathcal{P}$ can be computed efficiently. To achieve $O(\log n)$ query time (for computing the shortest path length), the previously best result uses $O(n^{8+ε})$ preprocessing time and space [Aggarwal, Aronov, O'Rourke, and Schevon, SICOMP 1997], where $ε$ is an arbitrarily small positive constant. In this paper, we present a new data structure of $O(n^{6+ε})$ preprocessing time and space, with $O(\log n)$ query time. For a special case where one query point is required to lie on one of the edges of $\mathcal{P}$, the previously best work uses $O(n^{6+ε})$ preprocessing time and space to achieve $O(\log n)$ query time. We improve the preprocessing time and space to $O(n^{5+ε})$, with $O(\log n)$ query time. Furthermore, we present a new algorithm to compute the exact set of shortest path edge sequences of $\mathcal{P}$, which are known to be $Θ(n^4)$ in number and have a total complexity of $Θ(n^5)$ in the worst case. The previously best algorithm for the problem takes roughly $O(n^6\log n\log^*n)$ time, while our new algorithm runs in $O(n^{5+ε})$ time.
翻译:令 $\mathcal{P}$ 表示一个具有 $n$ 个顶点的凸多面体表面。我们研究 $\mathcal{P}$ 上的两点最短路径查询问题:构建一个数据结构,使得对于 $\mathcal{P}$ 上的任意两个查询点 $s$ 和 $t$,能够高效计算 $\mathcal{P}$ 上从 $s$ 到 $t$ 的一条最短路径。为实现 $O(\log n)$ 的查询时间(用于计算最短路径长度),先前的最佳结果需要 $O(n^{8+ε})$ 的预处理时间和空间 [Aggarwal, Aronov, O'Rourke, and Schevon, SICOMP 1997],其中 $ε$ 为任意小的正常数。本文提出一种新的数据结构,其预处理时间和空间为 $O(n^{6+ε})$,查询时间为 $O(\log n)$。针对一个查询点必须位于 $\mathcal{P}$ 某条边上的特殊情况,先前最佳工作需要 $O(n^{6+ε})$ 的预处理时间和空间以实现 $O(\log n)$ 的查询时间。我们将预处理时间和空间改进至 $O(n^{5+ε})$,同时保持 $O(\log n)$ 的查询时间。此外,我们提出一种新算法以精确计算 $\mathcal{P}$ 的最短路径边序列集合,已知该集合的数量级为 $Θ(n^4)$,且在最坏情况下的总复杂度为 $Θ(n^5)$。先前针对该问题的最佳算法耗时约为 $O(n^6\log n\log^*n)$,而我们的新算法运行时间为 $O(n^{5+ε})$。