Fault-Tolerant Approximate Distance Oracles with a Source Set
Dipan Dey, Telikepalli Kavitha
TL;DR
The paper studies fault-tolerant distance querying in undirected weighted graphs with a designated source set $S$, seeking approximate $s$–$v$ distances after a single edge failure. It builds on an ST-distance oracle framework and landmark-based replacement paths to design two constant-time query, sourcewise approximate distance oracles: a primary construction with space $\tilde{O}(|S|n + n^{3/2})$ and stretch at most $5$, and a sparser variant with space $\tilde{O}(|S|n + n^{4/3})$ and stretch at most $13$. The methods leverage a fault-tolerant $ST$-distance oracle and carefully chosen landmark sets, achieving $O(1)$ query time in both cases. These results improve over previous $O(\log^2 n)$ or higher query times for similar settings and provide practical, scalable solutions for networks with a small source set.
Abstract
Our input is an undirected weighted graph $G = (V,E)$ on $n$ vertices along with a source set $S\subseteq V$. The problem is to preprocess $G$ and build a compact data structure such that upon query $Qu(s,v,f)$ where $(s,v) \in S\times V$ and $f$ is any faulty edge, we can quickly find a good estimate (i.e., within a small multiplicative stretch) of the $s$-$v$ distance in $G-f$. The work of Bil{ò} et al. (Algorithmica 2022) on multiple-edge fault-tolerant approximate shortest path trees implies a compact oracle for the above problem with a stretch of at most 3 and with query answering time $O(\log^2 n)$. We show a very simple construction of an $S\times V$ approximate distance oracle with $O(1)$ query answering time; its size is $\widetilde{O}(|S|n + n^{3/2})$ and multiplicative stretch is at most 5. A single-edge fault-tolerant $ST$-distance oracle from the work of Bil{ò} et al. (STACS 2018) plays a key role in our construction. We also give a construction of a fault-tolerant $S \times V$ approximate distance oracle of size $\widetilde{O}(|S|n + n^{4/3})$ with multiplicative stretch at most 13 and as before, with $O(1)$ query answering time.
