It was recently shown that a version of the greedy algorithm gives a construction of fault-tolerant spanners that is size-optimal, at least for vertex faults. However, the algorithm to construct this spanner is not polynomial-time, and the best-known polynomial time algorithm is significantly suboptimal. Designing a polynomial-time algorithm to construct (near-)optimal fault-tolerant spanners was given as an explicit open problem in the two most recent papers on fault-tolerant spanners ([Bodwin, Dinitz, Parter, Vassilevka Williams SODA '18] and [Bodwin, Patel PODC '19]). We give a surprisingly simple algorithm which runs in polynomial time and constructs fault-tolerant spanners that are extremely close to optimal (off by only a linear factor in the stretch) by modifying the greedy algorithm to run in polynomial time. To complement this result, we also give simple distributed constructions in both the LOCAL and CONGEST models.
We give a short and easy upper bound on the worst-case size of fault tolerant spanners, which improves on all prior work and is fully optimal at least in the setting of vertex faults.
We present the first polynomial time algorithm for the f vertex fault tolerant spanner problem, which achieves almost optimal spanner size. Our algorithm for constructing f vertex fault tolerant spanner takes $O(k\cdot n\cdot m^2 \cdot W)$ time, where W is the maximum edge weight, and constructs a spanner of size $O(n^{1+1/k}f^{1-1/k}\cdot (\log n)^{1-1/k})$. Our spanner has almost optimal size and is at most a $\log n$ factor away from the upper bound on the worst-case size. Prior to this work, no other polynomial time algorithm was known for constructing f vertex fault tolerant spanner with …
Let $G$ be an unweighted $n$-node undirected graph. A \emph{$β$-additive spanner} of $G$ is a spanning subgraph $H$ of $G$ such that distances in $H$ are stretched at most by an additive term $β$ w.r.t. the corresponding distances in $G$. A natural research goal related with spanners is that of designing \emph{sparse} spanners with \emph{low} stretch. In this paper, we focus on \emph{fault-tolerant} additive spanners, namely additive spanners which are able to preserve their additive stretch even when one edge fails. We are able to improve all known such spanners, in terms of either sparsity o…
Recent work has pinned down the existentially optimal size bounds for vertex fault-tolerant spanners: for any positive integer $k$, every $n$-node graph has a $(2k-1)$-spanner on $O(f^{1-1/k} n^{1+1/k})$ edges resilient to $f$ vertex faults, and there are examples of input graphs on which this bound cannot be improved. However, these proofs work by analyzing the output spanner of a certain exponential-time greedy algorithm. In this work, we give the first algorithm that produces vertex fault tolerant spanners of optimal size and which runs in polynomial time. Specifically, we give a randomized…
Recently Elkin and Solomon gave a construction of spanners for doubling metrics that has constant maximum degree, hop-diameter O(log n) and lightness O(log n) (i.e., weight O(log n)w(MST). This resolves a long standing conjecture proposed by Arya et al. in a seminal STOC 1995 paper. However, Elkin and Solomon's spanner construction is extremely complicated; we offer a simple alternative construction that is very intuitive and is based on the standard technique of net tree with cross edges. Indeed, our approach can be readily applied to our previous construction of k-fault tolerant spanners (IC…
We (nearly) settle the time complexity for computing vertex fault-tolerant (VFT) spanners with optimal sparsity (up to polylogarithmic factors). VFT spanners are sparse subgraphs that preserve distance information, up to a small multiplicative stretch, in the presence of vertex failures. These structures were introduced by [Chechik et al., STOC 2009] and have received a lot of attention since then. We provide algorithms for computing nearly optimal $f$-VFT spanners for any $n$-vertex $m$-edge graph, with near optimal running time in several computational models: - A randomized sequential algor…
A {\em fault-tolerant} structure for a network is required to continue functioning following the failure of some of the network's edges or vertices. In this paper, we address the problem of designing a {\em fault-tolerant} additive spanner, namely, a subgraph $H$ of the network $G$ such that subsequent to the failure of a single vertex, the surviving part of $H$ still contains an \emph{additive} spanner for (the surviving part of) $G$, satisfying $dist(s,t,H\setminus \{v\}) \leq dist(s,t,G\setminus \{v\})+β$ for every $s,t,v \in V$. Recently, the problem of constructing fault-tolerant additive…
Recent work has established that, for every positive integer $k$, every $n$-node graph has a $(2k-1)$-spanner on $O(f^{1-1/k} n^{1+1/k})$ edges that is resilient to $f$ edge or vertex faults. For vertex faults, this bound is tight. However, the case of edge faults is not as well understood: the best known lower bound for general $k$ is $Ω(f^{\frac12 - \frac{1}{2k}} n^{1+1/k} +fn)$. Our main result is to nearly close this gap with an improved upper bound, thus separating the cases of edge and vertex faults. For odd $k$, our new upper bound is $O_k(f^{\frac12 - \frac{1}{2k}} n^{1+1/k} + fn)$, wh…
In this paper we devise an optimal construction of fault-tolerant spanners for doubling metrics. Specifically, for any $n$-point doubling metric, any $\eps > 0$, and any integer $0 \le k \le n-2$, our construction provides a $k$-fault-tolerant $(1+\eps)$-spanner with optimal degree $O(k)$ within optimal time $O(n \log n + k n)$. We then strengthen this result to provide near-optimal (up to a factor of $\log k$) guarantees on the diameter and weight of our spanners, namely, diameter $O(\log n)$ and weight $O(k^2 + k \log n) \cdot ω(MST)$, while preserving the optimal guarantees on the degree $O…
In this paper we consider the problem of efficiently constructing $k$-vertex fault-tolerant geometric $t$-spanners in $\dspace$ (for $k \ge 0$ and $t >1$). Vertex fault-tolerant spanners were introduced by Levcopoulus et. al in 1998. For $k=0$, we present an $O(n \log n)$ method using the algebraic computation tree model to find a $t$-spanner with degree bound O(1) and weight $O(\weight(MST))$. This resolves an open problem. For $k \ge 1$, we present an efficient method that, given $n$ points in $\dspace$, constructs $k$-vertex fault-tolerant $t$-spanners with the maximum degree bound O(k) and…
A $k$-spanner of a graph $G$ is a sparse subgraph that preserves its shortest path distances up to a multiplicative stretch factor of $k$, and a $k$-emulator is similar but not required to be a subgraph of $G$. A classic theorem by Thorup and Zwick [JACM '05] shows that, despite the extra flexibility available to emulators, the size/stretch tradeoffs for spanners and emulators are equivalent. Our main result is that this equivalence in tradeoffs no longer holds in the commonly-studied setting of graphs with vertex failures. That is: we introduce a natural definition of vertex fault-tolerant em…
A natural requirement of many distributed structures is fault-tolerance: after some failures, whatever remains from the structure should still be effective for whatever remains from the network. In this paper we examine spanners of general graphs that are tolerant to vertex failures, and significantly improve their dependence on the number of faults $r$, for all stretch bounds. For stretch $k \geq 3$ we design a simple transformation that converts every $k$-spanner construction with at most $f(n)$ edges into an $r$-fault-tolerant $k$-spanner construction with at most $O(r^3 \log n) \cdot f(2n/…
A $k$-spanner of a graph $G$ is a sparse subgraph $H$ whose shortest path distances match those of $G$ up to a multiplicative error $k$. In this paper we study spanners that are resistant to faults. A subgraph $H \subseteq G$ is an $f$ vertex fault tolerant (VFT) $k$-spanner if $H \setminus F$ is a $k$-spanner of $G \setminus F$ for any small set $F$ of $f$ vertices that might "fail." One of the main questions in the area is: what is the minimum size of an $f$ fault tolerant $k$-spanner that holds for all $n$ node graphs (as a function of $f$, $k$ and $n$)? This question was first studied in t…
In STOC'95 Arya et al. (1995) conjectured that for any constant dimensional $n$-point Euclidean space, a $(1+\eps)$-spanner with constant degree, hop-diameter $O(\log n)$ and weight $O(\log n) \cdot ω(MST)$ can be built in $O(n \log n)$ time. Recently Elkin and Solomon (technical report, April 2012) proved this conjecture of Arya et al. in the affirmative. In fact, the proof of Elkin and Solomon is more general in two ways. First, it applies to arbitrary doubling metrics. Second, it provides a complete tradeoff between the three involved parameters that is tight (up to constant factors) in the…
Fault tolerant distance preservers (spanners) are sparse subgraphs that preserve (approximate) distances between given pairs of vertices under edge or vertex failures. So-far, these structures have been studied mainly from a centralized viewpoint. Despite the fact fault tolerant preservers are mainly motivated by the error-prone nature of distributed networks, not much is known on the distributed computational aspects of these structures. In this paper, we present distributed algorithms for constructing fault tolerant distance preservers and $+2$ additive spanners that are resilient to at most…
Computing \emph{all best swap edges} (ABSE) of a spanning tree $T$ of a given $n$-vertex and $m$-edge undirected and weighted graph $G$ means to select, for each edge $e$ of $T$, a corresponding non-tree edge $f$, in such a way that the tree obtained by replacing $e$ with $f$ enjoys some optimality criterion (which is naturally defined according to some objective function originally addressed by $T$). Solving efficiently an ABSE problem is by now a classic algorithmic issue, since it conveys a very successful way of coping with a (transient) \emph{edge failure} in tree-based communication netw…
We present an algorithm for a fault tolerant Depth First Search (DFS) Tree in an undirected graph. This algorithm is drastically simpler than the current state-of-the-art algorithms for this problem, uses optimal space and optimal preprocessing time, and still achieves better time complexity. This algorithm also leads to a better time complexity for maintaining a DFS tree in a fully dynamic environment.
Preservers and additive spanners are sparse (hence cheap to store) subgraphs that preserve the distances between given pairs of nodes exactly or with some small additive error, respectively. Since real-world networks are prone to failures, it makes sense to study fault-tolerant versions of the above structures. This turns out to be a surprisingly difficult task. For every small but arbitrary set of edge or vertex failures, the preservers and spanners need to contain {\em replacement paths} around the faulted set. In this paper we make substantial progress on fault tolerant preservers and addit…
In this paper, we study the fault-tolerant matroid median and fault-tolerant knapsack median problems. These two problems generalize many fundamental clustering and facility location problems, such as uniform fault-tolerant $k$-median, uniform fault-tolerant facility location, matroid median, knapsack median, etc. We present a versatile iterative rounding framework and obtain a unifying constant-factor approximation algorithm.
A vertex set $U \subseteq V$ of an undirected graph $G=(V,E)$ is a \textit{resolving set} for $G$ if for every two distinct vertices $u,v \in V$ there is a vertex $w \in U$ such that the distance between $u$ and $w$ and the distance between $v$ and $w$ are different. A resolving set $U$ is {\em fault-tolerant} if for every vertex $u\in U$ set $U\setminus \{u\}$ is still a resolving set. {The \em (fault-tolerant) Metric Dimension} of $G$ is the size of a smallest (fault-tolerant) resolving set for $G$. The {\em weighted (fault-tolerant) Metric Dimension} for a given cost function $c: V \longrig…
The overwhelming majority of survivable (fault-tolerant) network design models assume a uniform fault model. Such a model assumes that every subset of the network resources (edges or vertices) of a given cardinality $k$ may fail. While this approach yields problems with clean combinatorial structure and good algorithms, it often fails to capture the true nature of the scenario set coming from applications. One natural refinement of the uniform model is obtained by partitioning the set of resources into vulnerable and safe resources. The scenario set contains every subset of at most $k$ faulty …
The diameter of a graph is one if its most important parameters, being used in many real-word applications. In particular, the diameter dictates how fast information can spread throughout data and communication networks. Thus, it is a natural question to ask how much can we sparsify a graph and still guarantee that its diameter remains preserved within an approximation $t$. This property is captured by the notion of extremal-distance spanners. Given a graph $G=(V,E)$, a subgraph $H=(V,E_H)$ is defined to be a $t$-diameter spanner if the diameter of $H$ is at most $t$ times the diameter of $G$.…
In fault-tolerant distance labeling we wish to assign short labels to the vertices of a graph $G$ such that from the labels of any three vertices $u,v,f$ we can infer the $u$-to-$v$ distance in the graph $G\setminus \{f\}$. We show that any directed weighted planar graph (and in fact any graph in a graph family with $O(\sqrt{n})$-size separators, such as minor-free graphs) admits fault-tolerant distance labels of size $O(n^{2/3})$. We extend these labels in a way that allows us to also count the number of shortest paths, and provide additional upper and lower bounds for labels and oracles for …
We examine directed spanners through flow-based linear programming relaxations. We design an $Õ(n^{2/3})$-approximation algorithm for the directed $k$-spanner problem that works for all $k\geq 1$, which is the first sublinear approximation for arbitrary edge-lengths. Even in the more restricted setting of unit edge-lengths, our algorithm improves over the previous $Õ(n^{1-1/k})$ approximation of Bhattacharyya et al. when $k\ge 4$. For the special case of $k=3$ we design a different algorithm achieving an $Õ(\sqrt{n})$-approximation, improving the previous $Õ(n^{2/3})$. Both of our algorithms e…
Given a 2-edge connected, unweighted, and undirected graph $G$ with $n$ vertices and $m$ edges, a $σ$-tree spanner is a spanning tree $T$ of $G$ in which the ratio between the distance in $T$ of any pair of vertices and the corresponding distance in $G$ is upper bounded by $σ$. The minimum value of $σ$ for which $T$ is a $σ$-tree spanner of $G$ is also called the {\em stretch factor} of $T$. We address the fault-tolerant scenario in which each edge $e$ of a given tree spanner may temporarily fail and has to be replaced by a {\em best swap edge}, i.e. an edge that reconnects $T-e$ at a minimum …
The overwhelming majority of survivable (fault-tolerant) network design models assume a uniform scenario set. Such a scenario set assumes that every subset of the network resources (edges or vertices) of a given cardinality $k$ comprises a scenario. While this approach yields problems with clean combinatorial structure and good algorithms, it often fails to capture the true nature of the scenario set coming from applications. One natural refinement of the uniform model is obtained by partitioning the set of resources into faulty and secure resources. The scenario set contains every subset of a…