A Spanner for the Day After

We show how to construct a (1+ε)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1+\varepsilon )$$\end{document}-spanner over a set P\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${P}$$\end{document} of n points in Rd\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathbb {R}}^d$$\end{document} that is resilient to a catastrophic failure of nodes. Specifically, for prescribed parameters ϑ,ε∈(0,1)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\vartheta },\varepsilon \in (0,1)$$\end{document}, the computed spanner G\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${G}$$\end{document} has O(ε-O(d)ϑ-6n(loglogn)6logn)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} {{\mathcal {O}}}\bigl (\varepsilon ^{-O(d)} {\vartheta }^{-6} n(\log \log n)^6 \log n \bigr ) \end{aligned}$$\end{document}edges. Furthermore, for anyk, and any deleted set B⊆P\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{B}}\subseteq {P}$$\end{document} of k points, the residual graph G\B\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${G}\setminus {{B}}$$\end{document} is a (1+ε)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1+\varepsilon )$$\end{document}-spanner for all the points of P\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${P}$$\end{document} except for (1+ϑ)k\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1+{\vartheta })k$$\end{document} of them. No previous constructions, beyond the trivial clique with O(n2)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${{\mathcal {O}}}(n^2)$$\end{document} edges, were known with this resilience property (i.e., only a tiny additional fraction of vertices, ϑ|B|\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vartheta |B|$$\end{document}, lose their distance preserving connectivity). Our construction works by first solving the exact problem in one dimension, and then showing a surprisingly simple and elegant construction in higher dimensions, that uses the one-dimensional construction in a black-box fashion.


Region fault tolerant spanners
In a surprising result, Abam et al. [1] showed that one can build a geometric spanner with near linear number of edges, so that if the deleted set are all the points belonging to a convex region (they also delete the edges intersecting this region), then the residual graph is still a spanner for the remaining points.

Our Results
We investigate how to construct reliable spanners with very small loss, that is, ϑreliable spanners. To the best of our knowledge nothing was known on this case before this work.
Exact O(1)-reliable spanner in one dimension Inspired by the reliability of constant degree expanders, we show how to construct an O(1)-reliable exact spanner on any one-dimensional set of n points with at most O(n log n) edges. 1 The idea of the construction is to build a binary tree over the points, and to build bipartite expanders between certain subsets of nodes in the same layer. One can think of this construction as building different layers of expanders for different resolutions. The construction is described in Sect. 3

.2. See Theorem 3.6 for the result.
Exact ϑ-reliable spanner in one dimension One can get added redundancy by systematically shifting the layers. Done carefully, this results in a ϑ-reliable exact spanner with O(ϑ −6 n log n) edges. The construction is described in Sect. 3.3. See Theorem 3.11 for the result.
ϑ-Reliable (1 + ε)-spanners in higher dimensions We next show a simple construction of ϑ-reliable spanners in R d , for d being constant, using a recent result of Chan et al. [14], which shows that one needs to maintain only a "few" linear orders. This immediately reduces the d-dimensional problem to maintaining a reliable spanner for each of these orderings, which is the problem we already solved. By applying a recursive scheme, using the same idea, we obtain the desired spanner of size O ε −O(d) ϑ −6 n log n(log log n) 6 . See Sect. 4 for details.
ϑ-Reliable (1+ε)-spanner with bounded spread Since the general construction in R d has some additional factors that seem unnecessary, we present an optimal construction for the case when the point set has bounded spread, that is, the ratio of the largest and the smallest distance of point pairs is bounded by a polynomial of n. Specifically, for points with spread Φ in R d , for d being constant, and for any ε > 0, we construct a ϑ-reliable (1 + ε)-spanner with O ε −d ϑ −2 n log Φ edges. The basic idea is to construct a well-separated pair decomposition (WSPD) directly on the quadtree of the point set, and convert every pair in the WSPD into a reliable graph using a bipartite expander. The union of these graphs is the required reliable spanner. See Sect. 5 and Lemma 5.10 for details.
Shadow Underlying our construction is the notion of identifying the points that lose connectivity when the failure set is removed. Intuitively, a point is in the shadow if it is surrounded by failed points. We believe that this concept is of independent interest-see Sect. 3.1 for details and relevant results in one dimension.
The competition Independently of this work, Bose et al. [7] also obtained an upper bound on the size of reliable spanners in R d . Their construction has O(n log 2 n log log n) edges, which is close, but worse, than our bound of O(n log n(log log n) 6 ) edges. For both constructions, the fundamental building blocks are expander graphs. However, the construction in [7] does not use the one-dimensional construction directly, but uses well-separated pair decomposition, centroid decomposition, and ideas for maintaining orders. In particular, inspired by the preliminary work of Buchin et al. [11], in October 2018, Bose et al. 2 achieved independently essentially the same one-dimensional results by using expanders. Our own improved one-dimensional results were announced earlier in a public talk on June 12, 2018 (this was a YRF talk in SoCG 2018). To keep things in perspective, the results of Bose et al. [7] are equivalent to our results (up to a log factor), while being technically quite different (in two and higher dimensions). In particular, their one-dimensional construction has better dependency on the reliability parameter. The main advantage of our result, beyond the aforementioned (all-important) log factor, is that it is (conceptually) simpler-the use of locality sensitive orderings [14] makes all the difference.
The graph G is an f (k)-robust t-spanner for P 1 × P 2 if for any set of (failed) vertices B ⊆ P there exists a set B + ⊇ B with |B + | ≤ f (|B|) such that the subgraph That is, G \ B has a t-path between all pairs of points p ∈ P 1 \ B + and q ∈ P 2 \ B + . If P 1 = P 2 = P, then G is a f (k)-robust t-spanner. The vertices of B + \ B are the vertices harmed by B, and the quantity L(k) = f (k) − k ≥ |B + | − |B| is the loss. Definition 2.2 For a parameter ϑ > 0, a graph G that is a (1 + ϑ)k-robust t-spanner is a ϑ-reliable t-spanner.

Definition 2.3
For a number x > 0, let pow 2 (x) = 2 log x be the smallest number that is a power of 2 and is at least as large as x.

Expanders
For a set X of vertices in a graph G = (V , E), let be the neighbors of X in G. The following lemma, which is a standard expander construction, provides the main building block of our one-dimensional construction. We provide the proof only for the sake of completeness, as this is well known. The survey by Hoory et al. [17] gives a comprehensive study of expanders.

Lemma 2.4
Let L, R be two disjoint sets, with a total of n elements, and let ξ ∈ (0, 1) be a parameter. One can build a bipartite graph G = (L ∪ R, E) with O(n/ξ 2 ) edges, such that (I) for any subset X ⊆ L, with |X | ≥ ξ |L|, we have |Γ(X )| > (1 − ξ)|R|, and Proof This is a variant of an expander graph. See [21,Sect. 5.3] for a similar construction.
Let c = 3/ξ 2 . For every vertex in L, pick randomly and uniformly (with repetition) = c n/|L| neighbors in R. Do the same for every vertex in R, picking c n/|R| neighbors at random from L. Let G be the resulting graph, after removing redundant parallel edges. Clearly, the number of edges is as required.
As for the claimed properties, fix a subset X ⊆ L of size at least ξ |L|, and fix a subset on the right, Z ⊆ R of size ≤ (1 − ξ)|R|. Notice that there are at most 2 n choices for both X and Z . The probability that all the edges we picked for the vertices of X stay inside Z , is at most since c ≥ 3/ξ 2 and 1 − ξ ≤ exp(−ξ). In particular, for a given X the probability that this happens for any subset Z is less than 2 n /8 n = 1/4 n . Thus, with probability less than 2 n /4 n = 1/2 n there is an X ⊆ L with Γ(X ) ≤ (1−ξ)n. Using the same argument for Y ⊆ R we get that the random graph does not have the desired properties with probability 2/2 n < 1 (for n > 1). This implies that a graph with the desired properties exists.

Remark
The above construction is randomized, but simple algebraic deterministic constructions are known [3,15,23]. One can improve their expansion ratio by repeatedly squaring them. These constructions are implicit, and are easily constructed quickly on the fly. As such, in the following, we assume that the expanders of Lemma 2.4 are readily available for use in our constructions.
Remark It is not hard to show that regular expanders (i.e., not bipartite, as constructed above) are reliable graphs. That is, deleting a set of vertices leaves almost all the remaining vertices in a single connected component.

Bounding the Size of the Shadow
Our purpose is to build a reliable 1-spanner in one dimension. Intuitively, a point in [n] is in trouble, if many of its close by neighbors belong to the failure set B. Such an element is in the shadow of B, defined formally next.
Let the set H be initially empty. Consider the process where in the ith iteration, for i = 1, . . . , b, L i (resp. R i ) is the set of 1/α largest (resp. smallest) numbers of P i−1 that are smaller (resp. larger) than q i . We set The claim is that if k ∈ [n] is in (say) the left α-shadow of B, then k ∈ H . If k ∈ B then the claim is immediate, so assume that k / ∈ B. Next, fix a witness interval J = [k : k ], such that |J ∩ B| ≥ α|J |. Observe that the above process handles all the elements of J * = B ∩ J in turn. When handling an element q ∈ J * , as long as k / ∈ H , the process either adds k to H , or adds at least 1 + 1/α new points of J (that were not previously in H ) to H -indeed, the last 1 + 1/α "free" points in the interval [k : q] are added to H . Suppose that k / ∈ H at the end of the process. Then, we have which is a contradiction. Applying the above argument symmetrically implies that, at the end of the process, H contains all the points in the right and left shadows of B.
One can get a better bound if α is close to one, as testified by the following. This is crucial to achieve ϑ-reliability, since Lemma 3.2 is not sharp when α is close to one. Proof Let c = 1 − 1/α < 0. For i = 1, . . . , n, let x i = c if i ∈ B, and x i = 1 otherwise. For any interval I of length Δ, with τ Δ elements in B, such that x(I ) = i∈I x i ≤ 0, we have that An element j ∈ [n] is in the left α-shadow of B if and only if there exists an integer j , such that |[ j : j ] ∩ B| ≥ α|[ j : j ]| and, by the above, x([ j : j ]) ≤ 0. Namely, an integer j in the left α-shadow of B corresponds to some prefix sum of the x i s starting at j and adding up to some non-positive sum. From this point on, we work with the sequence of numbers x 1 , . . . , x n , using the above summation criterion to detect the elements in the left α-shadow.
For a location j ∈ [n] that is in the left α-shadow, let W j = [ j : j ] be the witness interval for j-this is the shortest interval that has a non-positive sum that starts at j.
Thus, if x j = 1, this implies that either j or k have shorter witness intervals than I , which is a contradiction to the choice of k. We conclude that as α ≥ 2/3. In particular, by the minimality of I , we have that Namely, all the witness intervals either avoid J , or contain it in their interior. Given a witness interval W j such that J ⊂ W j , we have So consider the new sequence of numbers . . x n resulting from removing the elements that correspond to J from the sequence. Reclassify which elements are in the left shadow in the new sequence. By the above, any element that was in the shadow before, is going to be in the new shadow. As such, one can charge the element k, that is in the left shadow (but not in B), to all the other elements of J (that are all in B). Applying this charging scheme inductively, charges all the elements in the left shadow (that are not in B) to elements in B. We conclude that the number of elements in the left shadow of B that are not in B is bounded by The above argument can be applied symmetrically to the right shadow. We conclude that

Constructing the Graph H
Assume n is a power of two, and consider building the natural full binary tree T with the numbers of [n] as the leaves. Every node v of T corresponds to an interval of numbers of the form [i : j], which we refer to as the block of v, see Fig. 2. Let I be the resulting set of all blocks. On each level one can sort the blocks of the tree from left to right. Two adjacent blocks of the same level are neighbors. For a block I ∈ I, let next (I ) and prev (I ) be the blocks (on the same level) directly to the right and left of I , respectively. We build the graph of Lemma 2.4 with ξ = 1/16 for any two neighboring blocks in I. Let H be the resulting graph when taking the union over all the sets of edges generated by the above.

Analysis
Here, we show that the resulting graph H is an O(k)-robust 1-spanner with O(n log n) edges.

Lemma 3.4 The graph H has O(n log n) edges.
Proof Let h = log n be the depth of the tree T . There is a natural path between two leaves in the tree T going through their lowest common ancestor. However, we need something somewhat different here, as the path has to move forward (from left to right) in the 1-path.
Given two numbers i and j, where i < j, consider the two blocks I , J ∈ I that correspond to the two numbers at the bottom level. Set I 0 = I and J 0 = J . We now describe a canonical walk from I to J , where initially = 0. During the walk we have two active blocks I and J , that are both on the same level. For any block I ∈ I we denote its parent by p(I ). At every iteration we bring the two active blocks closer to each other by moving up in the tree. It is easy to verify that this walk is well defined, and let be the resulting walk on the blocks where we removed repeated blocks. Figure 3 illustrates the path of blocks between two vertices i and j.

Lemma 3.5 Consider two nodes i, j ∈ [n], with i < j, and let π(i, j) be the canonical path between i and j. If any block of
Proof Assume the contamination happens in the left half of the path, i.e., at some block I t , during the ascent from i to the connecting block to the descent path into j, see Thus we have that either i ∈ I t , or i ∈ prev (I t ), or i ∈ prev(prev(I t )), since there are at most |I t | + |I t |/2 +· · ·+2 + 1 = 2|I t | − 1 vertices that are contained in the path before the block I t . Notice that if i ∈ I t , then it is the leftmost point of I t .
So, let r be the maximum number in I t , and observe that Thus, the number i is the α/3-shadow, as claimed. The other case, when the contamination happens in the right part during the descent, is handled symmetrically.

Theorem 3.6 The graph H , constructed above, on the set [n] is an O(1)-reliable exact spanner and has O(n log n) edges.
Proof The size is proven in Lemma 3.4. Let α = 1/32. Let B + be the set of vertices that are in the α/3-shadow of B, that is, Consider any two vertices i, j ∈ [n]\ B + . Let π(i, j) be the canonical path between i and j. None of the blocks in this path are α-contaminated, by Lemma 3.5. Let S be the set of all vertices that have a 1-path from i to them (after removing the vertices of B). Consider the ascent part of the path π(i, j) : I 0 → I 1 → · · · → I . The claim is that for every block I t in this path, we have that at least 3/4 of the vertices have 1-paths from i (i.e., |I t ∩ S| ≥ 3|I t |/4).
This claim is proven by induction. The claim trivially holds for I 0 . Now, consider two consecutive blocks I t → I t+1 . There are two cases: (i) I t+1 = next (I t ). Then, the graph H includes the expander graph on I t , I t+1 described in Lemma 2.4. At least 3|I t |/4 vertices of I t are in S. As such, at least 15|I t+1 |/16 vertices of I t+1 are reachable from the vertices of I t . Since I t+1 is not α-contaminated, at most an α-fraction of vertices of I t+1 are in B, and it follows that |I t+1 ∩ S| ≥ (15/16 − α)|I t+1 | ≥ 3|I t+1 |/4, as claimed. (ii) I t+1 is the parent of I t . In this case, I t is the left child of I t+1 . Let I t be the right child of I t+1 . Since I t+1 is not α-contaminated, we have that |I t+1 ∩ B| ≤ α|I t+1 |. As such, Now, by the expander construction on (I t , I t ), and arguing as above, we have which implies that |I t+1 ∩ S| ≥ 3|I t+1 |/4.
The symmetric claim for the descent part of the path is handled in a similar fashion. Therefore, at least 3/4 of the points in J can reach j with a 1-path. Using these and the expander construction between I and J , we conclude that there is a 1-path from i to j in H \ B, as claimed.
Note that it is easy to generalize the construction for arbitrary n. Let h be the integer such that 2 h−1 < n < 2 h and build the graph H on {1, 2, 3, . . . , 2 h }. Since H is a 1-spanner, the 1-paths between any pair of vertices of [n] do not use any vertices from {n + 1, . . . , 2 h }. Therefore, we can simply delete the part of H that is beyond n to obtain an O(1)-reliable 1-spanner on [n]. Since we defined B + to be the shadow of B, the O(1)-reliability is inherited automatically.
We also note that no effort was made to optimize the constants in the above construction.

Construction of #-reliable Exact Spanners in One Dimension
Here, we show how to extend Theorem 3.6, to build a 1-spanner on [n], such that for any fixed ϑ ∈ (0, 1) and any set B of k deleted vertices, at most (1 + ϑ)k vertices are no longer connected (by a 1-path) after the removal of B. The basic idea is to retrace the construction of Theorem 3.6, and extend it to this more challenging case. There are two main new ingredients: (i) a shifting scheme, and (ii) using much larger intervals when ascending from a level upward. Unfortunately, the details are somewhat tedious.

The Construction
Let [n] be the ground set, assume that n is a power of two, and let h = log n. Let where c is a sufficiently large constant (e.g., c ≥ 512). We first connect any i ∈ [n] to all the vertices that are within distance at most 3N from it, by adding an edge between the two vertices. Let G 0 be the resulting graph.
Constructing the graph H ϑ . Let G E (i, j, k) denote the expander graph of Lemma 2.4, constructed over I (i, j, k) and I (i, j, k + 1), with the value of the parameter ξ as specified in (3.1). We define H ϑ to be the union of all the graphs G E over all choices of i, j, k, also including the graph G 0 (described above). The last step is to delete vertices from H ϑ that are outside the range of interest [n].
Remark As before, if n is not a power of two, repeat the construction on pow 2 (n) , and remove redundant vertices.  Now, we show that if a point outside of the shadow has a reasonably large fraction of descendants in an interval, then, one can find an extended interval, which is Θ(1/ϑ) times longer and has the same property. The crucial part is to carefully choose two consecutive blocks of I, so that the expander between them can be used to extend the set of descendants. D = D(H ϑ , s, B), and assume that | s, h ∩ D| ≥ ϑh/32. Then, for some number , 8h/ϑ ≤ ≤ ch/(8ϑ), we have | s, ∩ D| ≥ ϑ /32.

Proof
The idea is to choose the right resolution in the construction of H ϑ . As a first step, let be the desired shift. We pick the resolution i such that the shift used, 2 i /N , is equal to Δ (i.e., Δ = 2 i /N ). This implies that i = log(N Δ). There is a choice of j and k, such that the right endpoint of L = I (i, j, k) lies in the interval s + h, Δ . Notice that s, h ⊆ L, since holds. Let R = I (i, j, k + 1) and = right (R) − s + 1, where right (R) is the right endpoint of the interval R, see Fig. 6. Observe that ϑh/64 ≤ Δ ≤ ϑh/32 and since c ≥ 512. Similarly, Let U = s, h ∩ D. By assumption, |U | ≥ ϑh/32. Since the interval L is of length Since s is not in the α-shadow of B, it follows that the interval s, contains at least ϑ /4 elements that are not in B. Let τ be the fraction of elements of R that are not in B. We have that Let U ⊆ R be the set of all nodes that are connected by an edge of H ϑ to U . Note that all the nodes of U are descendants of s. The graph G E (i, j, k) guarantees that , k) is the expander graph built over L and R. We have that Remark One can state a symmetric version of Lemma 3.9 about the number of ancestors that can reach a target node t.

. Let s, t be two vertices in [n] \ S(α, B) such that s < t. Then, there is a 1-path between s and t in H ϑ \ B. Further, this path between s and t uses at most 2 log n edges.
Proof If |s − t| ≤ 3N , then the two vertices are connected by an edge in H ϑ by construction, and the claim holds. Let L and R be two adjacent consecutive blocks of the same size in I (see (3.2)) such that s ∈ L and t ∈ R, and these are the smallest blocks for which this property holds. If there are several pairs of intervals of the same size that have the desired property, we pick the pair such that min (right (L) − s, t − left (R)) is maximized (i.e., the common boundary between the two intervals is as close to the middle (s + t)/2 as possible). Let 2 i = |R| = |L|. It is easy to verify that 2 i /2 ≤ |[s : t]| ≤ 2 · 2 i . Indeed, the lower bound holds by the minimality of L and R. Otherwise, the right half of L and the left half of R would also be a valid choice and would have smaller size. The upper bound follows from the fact that |L| + |R| = 2 · 2 i . Set L 0 = s, N and R 0 = [t − N + 1 : t]. Since s and t are not in the α-shadow, we have that |L 0 \ B| ≥ ϑ|L 0 |/4 and |R 0 \ B| ≥ ϑ|R 0 |/4. For i > 0, in the ith iteration, let L i be the interval starting at s of length Θ(|L i−1 |/ϑ) such that a fraction of at least ϑ/32 of its elements are descendants of s that are not in B. The existence of such an interval is guaranteed by Lemma 3.9. Similarly, we expand the right interval R i−1 in a symmetric way.
Let j be the first iteration such that L j+1 L. By the choice of L and R and by Lemma 3.9, we have This implies that Applying the same argumentation, using Lemma 3.9 for the reachable ancestors, we have that , there are at least ξ |R| elements in R that have a 1-path to t in H ϑ \ B). The graph H ϑ contains an expander G E (i, j, k) built over L and R. By the pigeonhole principle and the properties of the expander between L and R, there is an edge between a vertex of L ∩ D and a vertex of R ∩ A. That is, there is a 1-path between s and t in H ϑ \ B, as desired. By Lemma 3.9 we have 8|L i | ≤ 8|L i |/ϑ ≤ |L i+1 | for i = 0, . . . , j. Therefore, the number of iterations we do to expand L 0 is less than log n. The same is true for R 0 . Thus, the number of edges that we used for the 1-path is bounded by 2 log n.

First Construction
In the following, we assume that P ⊆ [0, 1) d -this can be done by an appropriate scaling and translation of space. We use a recent result of Chan et al. [14], which introduced locality-sensitive orderings. These orderings (which are the same as total orders and are extensions of the Z-order) can be thought as an alternative to quadtrees and related structures. For an ordering σ of [0, 1) d , and two points p, q ∈ [0, 1) d such that p ≺ σ q, let be the open interval between p and q in the order σ . Further, let ball ( p, r ) = {z ∈ [0, 1) d | p − z ≤ r } denote the ball centered at p with radius r . Theorem 4.1 [14] For δ ∈ (0, 1), there is a set Π + (δ) of at most M(δ) = O(δ −d log δ −1 ) orderings of [0, 1) d , such that for any two (distinct) points p, q ∈ [0, 1) d , with = p − q , there is an ordering σ ∈ Π + , and a point z , δ ), and -z ∈ ball ( p, δ ) or z ∈ ball (q, δ ). Furthermore, given such an ordering σ , and two points p, q, one can compute their ordering, according to σ , using O(d log δ −1 ) arithmetic and bitwise-logical operations.
First, we give a very simple construction and analysis, for building reliable spanners, using the theorem above and the one-dimensional construction. We present it to convey the basic principle of this technique. Then, by tuning the parameters, we repeat the construction to obtain a reliable spanner of size O n log n(log log n) 6 . This construction has a more elaborate analysis, with similar ideas but used in an iterative manner.

Construction in Detail
Given a set P of n points in [0, 1) d , and parameters ε, ϑ ∈ (0, 1), let δ = ε/(c log n), and c be some sufficiently large constant. Next, let ϑ = ϑ/M and Π + = Π + (δ) be the set of orderings from Theorem 4.1. For each ordering σ ∈ Π + , compute the ϑ -reliable exact spanner G σ of P, see Theorem 3.11, according to σ . Let G be the graph resulting from taking the union of G σ for all σ ∈ Π + .
By Lemma 3.10, the graph G σ \ B ⊆ G \ B contains a monotone path π , according to σ , with h = O(log n) hops, connecting p to q. Let p = p 1 , . . . , p h+1 = q be this path. Observe that there is a unique index i such that z ∈ ( p i , p i+1 ). We have the following: -For all j = i, p j − p j+1 ≤ 2δ , since p j and p j+1 are contained in a ball of radius δ .
As such, the total length of π is h j=1 p j − p j+1 ≤ (1+2δh) ≤ (1+ε) , as desired, if c is sufficiently large. Namely, G is the desired reliable spanner. The number of edges of G is

An Improved Construction
Given a set P of n points in [0, 1) d , and parameters ε, ϑ ∈ (0, 1), let δ = ε/c, and c be some sufficiently large constant. Next, let ϑ = ϑ/(3N M) where N = log log n + 1 and Π + = Π + (δ) be the set of orderings from Theorem 4.1. For each ordering σ ∈ Π + , compute the ϑ -reliable exact spanner G σ of P, see Theorem 3.11, according to σ . Let G be the graph resulting from taking the union of G σ for all σ ∈ Π + .
Proof First, we show the bound on the size. There are M different orderings for which we build the graph of Theorem 3.11. Each of these graphs has O (ϑ ) −6 n log n edges. Therefore, the size of G is 7 1 ε · ϑ −6 n log n(log log n) 6 .
Next, we identify the set of harmed vertices B + given a set of failed vertices B ⊆ P. First, let B 1 be the union of all the (1 − ϑ /4)-shadows resulting from B in G σ , for all σ ∈ Π + . Then, for i = 2, . . . , N , we define B i in a recursive manner to be the union of all the (1 − ϑ /4)-shadows resulting from B i−1 in G σ , for all σ ∈ Π + . We set B + = B N . By the recursion and Lemma 3.3 we have that Therefore, we obtain The claim is that there is a (1 + ε)-pathπ between any pair of vertices p, q ∈ P \ B + ≡ P \ B N such that the pathπ does not use any vertices of B. By Theorem 3.11, for the right choice of σ , the graph G σ \ B N −1 ⊆ G \ B N −1 contains a monotone path connecting p to q, according to σ . Observe that there is a unique edge ( p , q ) on this path that "jumps" from the locality of p to the locality of q. Formally, we have the following: We fix the edge ( p , q ) to be used in the computed pathπ connecting p to q. We still need to build the two parts of the pathπ between p, p and q, q .
This procedure reduced the problem of computing a reliable path between two points p, q ∈ P \ B N , to computing two such paths between two points of P \ B N −1 (i.e., p, p and q, q ). The benefit here is that both p − p and q − q are much smaller than p − q . We now repeat this refinement process N − 1 times.
To this end, let Q i be the set of active pairs that needs to be connected on the ith level of the recursion. Thus, we have that Q 0 = {( p, q)}, Q 1 = {( p, p ), (q, q )}, and so on. We repeat this N − 1 times. On the ith level there are |Q i | = 2 i active pairs. Let (x, y) ∈ Q i be such a pair. Then, there is an edge (x , y ) in the graph G \ B N −(i+1) , such that The edge (x , y ) is added to the pathπ . After N − 1 iterations the set of active pairs is Q N −1 and for each pair (x, y) ∈ Q N −1 we have that x, y ∈ P \ B 1 . For each of these pairs (x, y) ∈ Q N −1 we apply Theorems 4.1 and 3.11 to obtain a path of length at most 2 x − y log n between x and y (and this subpath of course does not contain any vertex in B). We add all these subpaths to connect the active pairs in the pathπ , which completesπ into a path. Now, we bound the length of pathπ . Since, for all (x, y) ∈ Q N −1 , we have x − y ≤ p − q · (2ε/c) N −1 and |Q N −1 | = 2 N −1 , the total length of the subpaths calculated, in the last step, is

Preliminaries
Definition 5.1 For a point set P ⊆ R d , let diam(P) = max p,q∈P p − q denote the diameter of P. Let cp (P) = min p,q∈P, p =q p − q denote the closest pair distance in P. Furthermore, let Φ(P) = diam (P) /cp (P) be the spread of P.
of pairs of subsets of P, such that -the sets B i and C i are s-separated, for all i = 1, 2, . . . , m; and -for any p, q ∈ P ( p = q) there exists a unique pair (B i , C i ) ∈ W, such that p ∈ B i and q ∈ C i (or q ∈ B i and p ∈ C i ).
The well-separated pair decomposition was introduced by Callahan and Kosaraju [12]. The size of a WSPD is the number of pairs m, and the weight of a pair decomposition W is defined as There are several ways to compute an s-WSPD. Here, we use a quadtree-based approach, which has important properties that we can exploit. More precisely, we use the following result of Abam and Har-Peled [2, Lemma 2.8] for computing a WSPD.

The Construction of G 8
First, compute a quadtree T for the point set P. For any node v ∈ T , let v denote the cell (i.e., square or cube, depending on the dimension) represented by v. Let P v = v ∩ P be the point set stored in the subtree of v. Compute a (6/ε)-WSPD W of P, such that each pair consists of two cells of T , using Lemma 5.4. The pairs in W can be represented by pairs of nodes {u, v} of the quadtree T . Note that the algorithm of Lemma 5.4 uses the diameters and distances of the cells of the quadtree, that is, for a pair {u, v} ∈ W, we have For any pair {u, v} ∈ W, we build the bipartite expander of Lemma 2.4 on the sets P u and P v so that the expander property holds with ξ = ϑ/8. Furthermore, for every two nodes u and v that have the same parent in the quadtree T we add the edges of the bipartite expander of Lemma 2.4 between P u and P v . Let G Φ be the resulting graph when taking the union over all the sets of edges generated by the above.
Proof By Lemma 5.4, every point participates in O(ε −d log Φ(P)) WSPD pairs. By Lemma 2.4 the average degree in all the expanders is at most O(1/ξ 2 ), resulting in the given bound on the number of edges. There are also additional pairs between a node in T and its parent, but since every point participates in only O(log Φ(P)) such pairs, the number of edges is dominated by the expanders on the WSPD pairs. It follows that the number of edges in the resulting graph is O(ξ −2 ε −d n log Φ(P)).
We note that there are point sets, with unbounded spread, such that any WSPD on them has weight Ω(n 2 ). A simple example is a sequence of points along a line with exponentially increasing distances. Thus, requiring the bounded spread on the point set is unavoidable to achieve optimal size by using the above construction.

Definition 5.6
For a number γ ∈ (0, 1), and failed set of vertices B ⊆ P, a node v of the quadtree T is in the γ -shadow if |B ∩ P v | ≥ γ |P v |. Naturally, if v is in the γ -shadow, then the points of P v are also in the shadow. As such, the γ -shadow of B is the set of all the points in the shadow-formally, S (γ, B), since every point of B is stored as a singleton in a leaf of T . Proof Let H be the set of nodes of T that are in the γ -shadow of B. A node u ∈ H is maximal if none of its ancestors is in H . Let H = {u 1 , . . . , u m } be the set of all maximal nodes in H , and observe that u∈H P u = v∈H P v = S(γ , B). For any two nodes x, y ∈ H , we have P x ∩ P y = ∅. Therefore, Dividing both sides by γ implies the claim, since 1/γ = 1/(1 − ϑ/2) ≤ 1 + ϑ. Lemma 5.9 Let γ = 1 − ϑ/2. Fix a node u ∈ T of the quadtree, the failure set B ⊆ P, its shadow B + = S (γ, B), and the residual graph H = G Φ \ B. For a point p ∈ P u \ B + , we define the set R u ( p) = {q ∈ P u \B | d H ( p, q) ≤ 2 · diam( u )}.
Proof Let u 1 , u 2 , . . . , u j = u be the sequence of nodes in the quadtree, from the leaf u 1 that contains (only) p to the node u. A level of a point q ∈ P u , denoted by (q), is the first index i, such that q ∈ P u i . A skipping path in G Φ is a sequence of edges pq 1 , q 1 q 2 , . . . q m−1 q m such that (q i ) < (q i+1 ), for all i.
Let Q i be the set of all points in P u i \ B that are reachable by a skipping path in H from p. We claim, for i = 1, . . . , j, that since ξ = ϑ/8 and p is not in the γ -shadow. The claim clearly holds for u 1 . So, assume inductively that the claim holds for u 1 , . . . , u j−1 . Let v 1 , . . . , v m be the children of u j that have points stored in them (excluding u j−1 ). There is an expander between P u j−1 and P v i , for all i, as a subgraph of G Φ . It follows, by induction, that Observe that a skipping path from p to q ∈ P u j has length at most Thus, Q j ⊆ R u ( p), and the claim follows. Now we are ready to prove that G Φ is a reliable spanner.
Proof Let ξ = ϑ/8 and γ = 1 − ϑ/2. The bound on the number of edges follows by Lemma 5.5. Let B be a set of faulty vertices of G Φ , and let H = G Φ \ B be the residual graph. We define B + to contain the vertices that are in the γ -shadow of B. Then, we have B ⊆ B + and |B + | ≤ (1 + ϑ)|B| by Lemma 5.8. Finally, we need to show that there exists a (1 + ε)-path between any p, q ∈ P \ B + .
Let {u, v} ∈ W be the pair that separates p and q with p ∈ P u and q ∈ P v , see Fig. 7. Let R u ( p) (resp. R v (q)) be the set of points in P u (resp. P v ) that are reachable in H from p (resp. q) with paths that have lengths at most 2·diam ( u ) (resp. 2·diam ( v )). By Lemma 5.9, |R u ( p)| ≥ 3ξ n(u) ≥ ξ n(u) and |R v (q)| ≥ 3ξ n(v).
Since there is a bipartite expander between P u and P v with parameter ξ , by Lemma 2.4, the neighborhood Y of R u ( p) in P v has size at least (1 − ξ)n (v). Fig. 7 The pair {u, v} ∈ W that separates p and q. The blue path is a (1 + ε)-path between p and q in the graph G Φ \ B Therefore, there is a point q ∈ Y ∩ R v (q), and a point p ∈ R u ( p), such that p q ∈ E (G Φ ). We have

Conclusions
A natural open question is whether ϑ-reliable spanners can be constructed with O(n log n) edges for general point sets. There are different approaches that lead to near optimal bounds. While we use the one-dimensional construction with a careful application of locality-sensitive orderings, Bose et al. [7] uses WSPD, centroid decomposition and an idea of Willard [25] for order maintenance. Another natural open question is how to construct reliable spanners that are required to be subgraphs of a given graph.