An $f$-edge fault-tolerant distance sensitive oracle ($f$-DSO) with stretch $\sigma \ge 1$ is a data structure that preprocesses a given undirected, unweighted graph $G$ with $n$ vertices and $m$ edges, and a positive integer $f$. When queried with a pair of vertices $s, t$ and a set $F$ of at most $f$ edges, it returns a $\sigma$-approximation of the $s$-$t$-distance in $G-F$. We study $f$-DSOs that take subquadratic space. Thorup and Zwick [JACM 2015] showed that this is only possible for $\sigma \ge 3$. We present, for any constant $f \ge 1$ and $\alpha \in (0, \frac{1}{2})$, and any $\varepsilon > 0$, an $f$-DSO with stretch $ 3 + \varepsilon$ that takes $\widetilde{O}(n^{2-\frac{\alpha}{f+1}}/\varepsilon) \cdot O(\log n/\varepsilon)^{f+1}$ space and has an $O(n^\alpha/\varepsilon^2)$ query time. We also give an improved construction for graphs with diameter at most $D$. For any constant $k$, we devise an $f$-DSO with stretch $2k-1$ that takes $O(D^{f+o(1)} n^{1+1/k})$ space and has $\widetilde{O}(D^{o(1)})$ query time, with a preprocessing time of $O(D^{f+o(1)} mn^{1/k})$. Chechik, Cohen, Fiat, and Kaplan [SODA 2017] presented an $f$-DSO with stretch $1{+}\varepsilon$ and preprocessing time $O_\varepsilon(n^{5+o(1)})$, albeit with a super-quadratic space requirement. We show how to reduce their preprocessing time to $O_{\varepsilon}(mn^{2+o(1)})$.
翻译:针对给定无向无权图$G$(顶点数$n$,边数$m$)及正整数$f$,$f$边故障容错距离敏感预言机($f$-DSO)在满足伸缩系数$\sigma \ge 1$时,是一种数据结构:当查询顶点对$(s,t)$及至多$f$条边的故障集$F$时,可返回$G-F$中$s$到$t$距离的$\sigma$近似值。本文研究采用次二次空间的$f$-DSO。Thorup与Zwick [JACM 2015] 指出,仅当$\sigma \ge 3$时此类结构才存在。对于任意常数$f \ge 1$、$\alpha \in (0, \frac{1}{2})$及$\varepsilon > 0$,我们提出一种伸缩系数为$3+\varepsilon$的$f$-DSO,占用空间$\widetilde{O}(n^{2-\frac{\alpha}{f+1}}/\varepsilon) \cdot O(\log n/\varepsilon)^{f+1}$,查询时间复杂度$O(n^\alpha/\varepsilon^2)$。针对直径至多为$D$的图,我们给出改进构造:对任意常数$k$,设计出伸缩系数$2k-1$的$f$-DSO,占用空间$O(D^{f+o(1)} n^{1+1/k})$,查询时间$\widetilde{O}(D^{o(1)})$,预处理时间$O(D^{f+o(1)} mn^{1/k})$。Chechik、Cohen、Fiat与Kaplan [SODA 2017] 曾提出伸缩系数$1{+}\varepsilon$的$f$-DSO,预处理时间$O_\varepsilon(n^{5+o(1)})$,但空间需求为超二次。我们将其预处理时间改进至$O_{\varepsilon}(mn^{2+o(1)})$。