We revisit once more the problem of designing an oracle for answering connectivity queries in undirected graphs in the presence of vertex failures. Specifically, given an undirected graph $G$ with $n$ vertices and $m$ edges and an integer $d_{\star}\ll n$, the goal is to preprocess the graph in order to construct a data structure $\mathcal{D}$ such that, given a set of vertices $F$ with $|F|=d\leq d_{\star}$, we can derive an oracle from $\mathcal{D}$ that can efficiently answer queries of the form "is $x$ connected with $y$ in $G\setminus F$?". Very recently, Long and Saranurak (FOCS 2022) provided a solution to this problem that is almost optimal with respect to the preprocessing time, the space usage, the update time, and the query time. However, their solution is highly complicated, and it seems very difficult to be implemented efficiently. Furthermore, it does not settle the complexity of the problem in the regime where $d_{\star}$ is a constant. Here, we provide a much simpler solution to this problem, that uses only textbook data structures. Our algorithm is deterministic, it has preprocessing time and space complexity $O(d_{\star}m\log n)$, update time $O(d^4 \log n)$, and query time $O(d)$. These bounds compare very well with the previous best, especially considering the simplicity of our approach. In fact, if we assume that $d_{\star}$ is a constant ($d_{\star}\geq 4$), then our algorithm improves on the state-of-the-art in every respect, except space. Nevertheless, even our space usage in this case is almost linear. Finally, the data structure that we provide is flexible with respect to $d_{\star}$: it can be adapted to increases and decreases, in time and space that are almost proportional to the change in $d_{\star}$ and the size of the graph.
翻译:我们重新审视了在顶点故障情况下无向图中回答连通性查询的预言机设计问题。具体而言,给定一个具有 $n$ 个顶点和 $m$ 条边的无向图 $G$ 以及一个整数 $d_{\star}\ll n$,目标是预处理该图以构建一个数据结构 $\mathcal{D}$,使得对于任意顶点集合 $F$(其中 $|F|=d\leq d_{\star}$),我们可以从 $\mathcal{D}$ 中导出一个预言机,该预言机能高效回答形如“在 $G\setminus F$ 中 $x$ 是否与 $y$ 连通?”的查询。最近,Long 和 Saranurak(FOCS 2022)为这个问题提供了一个在预处理时间、空间使用、更新时间和查询时间方面几乎最优的解决方案。然而,他们的解决方案高度复杂,似乎很难高效实现。此外,该方案并未解决在 $d_{\star}$ 为常数时问题的复杂性。本文为这一问题提供了一个更简单的方案,仅使用教科书级别的数据结构。我们的算法是确定性的,其预处理时间和空间复杂度为 $O(d_{\star}m\log n)$,更新时间为 $O(d^4 \log n)$,查询时间为 $O(d)$。这些界限与先前的最优结果相比具有竞争力,特别是考虑到我们方法的简洁性。事实上,若假设 $d_{\star}$ 为常数($d_{\star}\geq 4$),则我们的算法在除空间外的所有方面都优于当前最先进水平。即便如此,在这种情况下我们使用的空间也几乎是线性的。最后,我们所提供的数据结构对 $d_{\star}$ 是灵活的:它能够适应 $d_{\star}$ 的增加和减少,时间和空间的调整几乎与 $d_{\star}$ 的变化以及图的大小成正比。