A Spanner for the Day After

A Spanner for the Day After

Kevin Buchin Department of Mathematics and Computing Science, TU Eindhoven, P.O. Box 513, 5600 MB Eindhoven, The Netherlands    Sariel Har-Peled Department of Computer Science, University of Illinois, 201 N. Goodwin Avenue, Urbana, IL 61801, USA    Dániel Oláh 11footnotemark: 1
July 19, 2019

We show how to construct -spanner over a set of points in that is resilient to a catastrophic failure of nodes. Specifically, for prescribed parameters , the computed spanner has edges, where . Furthermore, for any , and any deleted set of points, the residual graph is -spanner for all the points of except for of them. No previous constructions, beyond the trivial clique with edges, were known such that only a tiny additional fraction (i.e., ) lose their distance preserving connectivity.

1 Introduction


A Euclidean graph is a graph whose vertices are points in and the edges are weighted by the Euclidean distance between their endpoints. Let be a Euclidean graph and be two vertices of . For a parameter , a path between and in is a -path if the length of the path is at most , where is the Euclidean distance between and . The graph is a -spanner of if there is a -path between any pair of points . Throughout the paper, denotes the cardinality of the point set , unless stated otherwise. We denote the length of the shortest path between in the graph by .

Spanners have been studied extensively. The main goal in spanner constructions is to have small size, that is, to use as few edges as possible. Other desirable properties are low degrees [AdBC08, CC10, Smi06], low weight [BCF10, GLN02], low diameter [AMS94, AMS99] or to be resistant against failures. The book by Narasimhan and Smid [NS07] gives a comprehensive overview of spanners.


In this paper, our goal is to construct spanners that are robust according to the notion introduced by Bose et al. [BDMS13]. Intuitively, a spanner is robust if the deletion of vertices only harms a few other vertices. Formally, a graph is an -robust -spanner, for some positive monotone function , if for any set of vertices deleted in the graph, the remaining graph is still a -spanner for all but of the vertices. Note, that the graph has vertices – namely, there are at most additional vertices that no longer have good connectivity to the remaining graph. The quantity is the loss. We are interested in minimizing the loss.

The natural question is how many edges are needed to achieve a certain robustness (since the clique has the desired property). That is, for a given parameter and function , what is the minimal size that is needed to obtain an -robust -spanner on any set of points.

A priori it is not clear that such a sparse graph should exist (for a constant) for a point set in , since the robustness property looks quite strong. Surprisingly, Bose et al. [BDMS13] showed that one can construct a -robust -spanner with edges. Bose et al. [BDMS13] proved various other bounds in the same vain on the size for one-dimensional and higher-dimensional point sets – see Table 1.1 for a summary of their relevant results. Their most closely related result is that for the one-dimensional point set and for any at least edges are needed to construct an -robust -spanner.

An open problem left by Bose et al. [BDMS13] is the construction of -robust spanners – they only provide the easy upper bound of for this case.

-reliable spanners.

We are interested in building spanners where the loss is only fractional. Specifically, given a parameter , we consider the function . The loss in this case is . A -robust -spanner is -reliable -spanner.

Exact reliable spanners.

If the input point set is in one dimension, then one can easily construct a -spanner for the points, which means that the exact distances between points on the line are preserved by the spanner. This of course can be done easily by connecting the points from left to right. It becomes significantly more challenging to construct such an exact spanner that is reliable.

Fault tolerant spanners.

Robustness is not the only definition that captures the resistance of a spanner network against vertex failures. A closely related notion is fault tolerance [LNS02, LNS98, Luk99]. A graph is an -fault tolerant -spanner if for any set of failed vertices with , the graph is still a -spanner. The disadvantage of -fault tolerance is that each vertex must have degree at least , otherwise the vertex can be isolated by deleting its neighbors. Therefore, the graph has size at least . There are constructions that show edges are enough to build -fault tolerant spanners. However, depending on the chosen value the size can be too large.

In particular, fault tolerant spanners cannot have a near-linear number of edges, and still withstand a widespread failure of nodes. Specifically, if a fault tolerant spanner has edges, then it can withstand a failure of at most vertices. In sharp contrast, -reliable spanners can withstand a widespread failure. Indeed, an -reliable spanner can withstand a failure of close to of its vertices, and still have some vertices that are connected by short paths in the remaining graph.

robustness # edges [BDMS13] Theorem 1 Theorem 2 Theorem 3 Theorem 4 Corollary 2 Theorem 5 Corollary 3

Table 1.1: Some of the results of [BDMS13]. Let be constants larger than one. All results are for graphs that are -spanners. In the above is how many times you have to apply to itself till it reaches the parameter (as such, for , we have ).

1.1 Our results

In this paper, 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.

  1. Expanders are reliable. Intuitively, a constant degree expander is a robust/reliable graph under a weaker notion of robustness – that is, connectivity. As such, for a parameter , we show that constant degree expanders are indeed -reliable in the sense that all except a small fraction of the points stay connected. Formally, one can build a graph with edges, such that for any failure set of vertices, the graph has a connected component of size at least . We emphasize, however, that distances are not being preserved in this case. See Lemma 2.6 for the result.

  2. Exact -reliable spanner in one dimension. Inspired by the reliability of constant degree expanders, we show how to construct an -reliable exact spanner on any one-dimensional set of points with edges.111This also improves an earlier preliminary construction by (some of) the authors arXiv:1803.08719. 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 Section 3.2. See Theorem 3.12 for the result.

  3. 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. The construction is described in Section 3.3. See Theorem 3.18 for the result.

Building -reliable spanners in two and higher dimensions is significantly more challenging, and uses the above construction as a building block. The basic idea is to build the spanner hierarchically using a divide and conquer strategy. To this end, we first handle several special cases, and then combine them.

  1. -reliable )-spanner in with bounded spread. For points with spread in , and for any , we construct a -reliable -spanner with 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 Section 4.1 and Lemma 4.29 for details.

  2. -reliable spanner for a separated point set. We next address the issue of how to build a robust spanner between two parts of a point set that can be separated (i.e., they are sufficiently far apart). We start with the special case where the first part is bounded, and the second part is in a narrow cone. Surprisingly, this construction relies on the (one dimensional) robust exact spanner construction done above. See Section 4.2.1 for details. One can then tile the space around the bounded part, to get a robust spanner for a separated point set, see Section 4.2.2. A similar technique was used by Abam et al. [AdBFG09] to construct region-fault tolerant spanners.

  3. -reliable spanner for mildly separated, but bounded point set. The challenge is that if the separation between the two parts is small, the above fails miserably. As such, we next show how to build a robust spanner between two point sets that are only “mildly” separated, but have bounded diameter (compared to the separator). This case turns out to be similar in spirit to the bounded spread case. See Section 4.2.3 for details.

  4. -reliable spanners for points in . We next combine the above constructions to obtain a spanner for general point sets, following a scheme suggested by Abam and Har-Peled [AH12], that breaks the point set into three groups, and uses the above constructions to build spanners between the different parts. The construction then continues recursively on the parts. See Section 4.3, and Theorem 4.38 for the exact result.


Underlying our construction is the notion of identifying the points that loose 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 Section 3.1 for details and relevant results in one dimension and Appendix A for an additional result in higher dimensions.

Paper organization.

We start in Section 2 by formally stating the problem and introducing notations. In Section 2.2 we give constructions of expanders that are going to be building blocks later on. In Section 2.3 we show that random expanders are reliable. In Section 3 we construct -reliable exact spanners in one dimension. We start in Section 3.1 by providing bounds on the size of the shadow of a failed set. We then describe in Section 3.2 the construction of -reliable exact spanners. Finally, we extend this to -reliable exact spanners in Section 3.3. In Section 4 we describe how to build -reliable spanners in . We start in Section 4 with the relatively easy case of points with bounded spread. In Section 4.2 we describe how to build reliable spanners for unbounded point sets that have some separation property. Finally, we put everything together in Section 4.3, describe a reliable spanner construction for a general point set in . We conclude with some remarks in Section 5.

2 Preliminaries

2.1 Problem definition and notations

Let denote the set and let .

Definition 2.1 (Robust spanner).

Let be a -spanner for some and let , and two point sets . The graph is an -robust -spanner for if for any set of (failed) vertices there exists a set with such that the subgraph

induced by is a -spanner for . That is, has a -path between all pairs of points and . If , then is a -robust -spanner.

The vertices of are the vertices harmed by , and the quantity is the loss.

Definition 2.2.

For a parameter , a graph that is -robust -spanner is a -reliable -spanner.

Definition 2.3.

For a number , let be the smallest number that is a power of and is at least as large as .

2.2 Expander construction

For a set of vertices in a graph , let be the neighbors of in . The following lemma, which is a standard expander construction, provides the main building block of our one-dimensional construction.

Lemma 2.4.

Let be two disjoint sets, with a total of elements, and let be a parameter. One can build a bipartite graph with edges, such that

  1. for any subset , with , we have that , and

  2. for any subset , with , we have that .


This is a variant of an expander graph. See [MR95, Section 5.3] for a similar construction.

Let . For every vertex in , pick randomly and uniformly (with repetition) neighbors in . Do the same for every vertex in , picking neighbors at random from . Let be the resulting graph, after removing redundant parallel edges. Clearly, the number of edges is as required.

As for the claimed properties, there are at most subsets of of size at least . Fix such a subset , and fix a subset on the right, of size (there are at most such subsets). The probability that all the edges we picked for the vertices of , stay inside , is at most

since and . In particular, for a given the probability that this happens for any subset is less than . Thus, with probability less than there is an with . Using the same argument for we get that the random graph does not have the desired properties with probability (for ). This implies that a graph with the desired properties exists.  

2.3 Expanders are reliable

Let be a set with elements, and let be a parameter. We next build a constant degree expander graph on and show that it is -reliable.

Lemma 2.5.

Let be a positive integer number, let be an integer constant, and let be some constant. One can build a graph , such that for all sets , we have that . The graph has edges.


Let . Let . For each node , choose independently and uniformly, neighbors in (with repetition). Let be the resulting graph after removing self loops.

We define the event for . For all subsets of size , we have

if .

For subsets of size , let . Then, we have

if Therefore, we have that , which establish that with probability , the generated graph has the desired properties.  

Lemma 2.6.

Let and be parameters. One can build a graph with edges, such that for any set , we have that has a connected component of size at least . That is, the graph is -reliable.


Let and , and let be the graph of Lemma 2.5. Consider any failure set , and let . If , then the claim trivially holds. As such, in the following .

Let be the connected components of . Let , for all , and assume that . If , then we are done. Assume, that we have . This implies that

Let be the maximal index, such that , and let . Observe, that we have , which implies .

If , since . We conclude that . But this implies that some vertex in has a neighbor outside , which is a contradiction.

Otherwise, by Lemma 2.5, if , then it must be that . This in turn implies that

There are two possibilities:

  1. If (i.e., is “large”) then

    This implies that . This in turn implies that , by the maximality of , and since . This implies that

    which is impossible, as .

  2. It must be that – namely, . By the construction of , we have that ,

    Namely, , but this is of course impossible, since , and , a contradiction.


3 Building reliable spanners in one dimension

3.1 Bounding the size of the shadow

Our purpose is to build a reliable -spanner in one dimension. Intuitively, a point in is in trouble, if many of its close by neighbors belong to the failure set . Such an element is in the shadow of , defined formally next.

Definition 3.7.

Consider an arbitrary set and a parameter . A number is in the left -shadow of , if and only if there exists an integer , such that Similarly, is in the right -shadow of , if and only if there exists an integer , such that and The left and right -shadow of is denoted by and , respectively. The combined shadow is denoted by

3.1.1 A constant shadow

Lemma 3.8.

Fix a set and let be a parameter. Then, we have that . In particular, the size of is at most .


Let , for , be a sequence of numbers, where if , and otherwise. If is in the left -shadow of , then there exists an integer , such that Setting , we have that

Namely, an integer corresponds to some prefix sum of the s that starts at location and adds up to some negative sum. In order to bound the number of such locations, consider the minimal location that has . Mark the consecutive locations ending at (including itself) as potentially being in the shadow, and delete them from the sequence. In this way the sum of the s for the locations we delete is zero. If then we are naturally marking fewer locations as being in the shadow.

Clearly, a location that had a negative prefix sum in the original sequence also has a negative prefix sum starting at this location in the new sequence. Every such operation deletes elements from the sequence, and reduces the number of elements in by one. We conclude that the number of elements that start a negative prefix sum is at most . Therefore, holds.

The above argument applied symmetrically also bounds the number of elements in the right -shadow of , and adding these two quantities implies that .  

3.1.2 A -shadow

Lemma 3.8 is somewhat restrictive because the shadow is at least twice larger than the failure set . Intuitively, as , the shadow should converge to . The following lemma, which is a variant of Lemma 3.8 quantify this.

Lemma 3.9.

Fix a set , let be a parameter, and let be the set of elements in the -shadow of . We have that .


Let . For , let if , and otherwise. For any interval of length , with elements in , such that , we have that

An element is in the left -shadow of if and only if there exists an integer , such that and, by the above, Namely, an integer in the left -shadow of corresponds to some prefix sum of the s that starts at and add up to some non-positive sum. From this point on, we work with the sequence of numbers , using the above summation criterion to detect the elements in the left -shadow.

For a location that is in the left -shadow, let be the witness interval for – this is the shortest interval that has a non-positive sum that starts at . Let be the shortest witness interval, for any number in . For any , we have Thus, if , this implies that either or have shorter witness intervals than , which is a contradiction to the choice of . We conclude that for all , that is, .

Letting , we have that , as . In particular, by the minimality of , it follows that .

Let . We have that . For any , such that , consider the witness interval . If , then , as all the elements of , except , are in . If and , then , which implies that but this is a contradiction to the definition of . Namely, all the witness intervals either avoids , or contain it in their interior. Given a witness interval , such that , we have since .

So consider the new sequence of numbers resulting from removing the elements that corresponds to 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 , that is in the left shadow (but not in ), to all the other elements of (that are all in ). Applying this charging scheme inductively, charges all the elements in the left shadow (that are not in ) to elements in . We conclude that the number of elements in the left shadow of , that are not in is bounded by

The above argument can be applied symmetrically to the right shadow. We conclude that


3.2 Construction of -reliable exact spanners in one dimension

3.2.1 Constructing the graph

Assume is a power of two, and consider building the natural full binary tree with the numbers of as the leaves. Every node of corresponds to an interval of numbers of the form its canonical interval, which we refer to as the block of , see Figure 3.1. Let be the resulting set of all blocks. One can sort the blocks of the tree, that are of nodes in the same level, from left to right. Two adjacent blocks of the same level are neighbors. For a block , let and be the blocks (in the same level) directly to the right and left of , respectively.

We build the graph of Lemma 2.4 with for any two neighboring blocks in . Let be the resulting graph when taking the union over all the sets of edges generated by the above.

Figure 3.1: The binary tree built over . The block of node is the interval .

3.2.2 Analysis

For the sake of simplicity, assume for the time being that is a power of .

In the following we show that the resulting graph is an -robust -spanner on edges. We start by verifying the size of the graph.

Lemma 3.10.

The graph has edges.


Let be the depth of the tree . In each level of there are nodes and the blocks of these nodes have size . The number of pairs of adjacent blocks in level is and each pair contributes edges. Therefore, each level of contributes edges. We get for the overall size by summing up for all levels.  

There is a natural path between two leaves in the tree , described above, going through their lowest common ancestor. However, for our purposes we need something somewhat different – intuitively because we only want to move forward in the -path.

Given two numbers and , where , consider the two blocks that correspond to the two numbers at the bottom level. Set , and . We now describe a canonical walk from to , where initially . During the walk we have two active blocks and , that are both in the same level. For any block we denote its parent by . At every iteration we bring the two active blocks closer to each other by moving up in the tree.

Specifically, repeatedly do the following:

  1. If and are neighbors then the walk is done.

  2. If is the right child of , then set and , and continue to the next iteration.

  3. If is the left child of , then set and , and continue to the next iteration.

  4. Otherwise – the algorithm ascends. It sets , and , and it continues to the next iteration.

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.2 illustrates the path of blocks between two vertices and .

(a) The canonical path in the tree.

(b) The canonical path on the blocks.
Figure 3.2: The canonical path between the vertices and in two different representations. The blue nodes and blocks correspond to the ascent part and the red nodes and blocks correspond to the descent part of the walk.

In the following, consider a fixed set of faulty nodes. A block is -contaminated, for some , if .

Lemma 3.11.

Consider two nodes , with , and let be the canonical path between and . If any block of is -contaminated, then or are in the -shadow of .


Assume the contamination happens in the left half of the path, i.e., at some block , during the ascent from to the connecting block to the descent path into . By construction, there could be only one block before on the path of the same level, and all previous blocks are smaller, and there are at most two blocks at each level. Furthermore, for two consecutive that are blocks of different levels, . It is thus easy to verify that either , or , or . Notice that if , then it is the leftmost point of .

In particular, let be the maximum number in , and observe . Thus, the number is the -shadow, as claimed.

The other case, when the contamination happens in the right part during the descent, is handled symmetrically.  

Theorem 3.12.

The graph constructed above on the set is an -reliable exact spanner and has edges.


The size is proved in Lemma 3.10. Let . Let be the set of vertices that are in the -shadow of , that is, . By Lemma 3.8 we have that

Consider any two vertices . Let be the canonical path between and . None of the blocks in this path are -contaminated, by Lemma 3.11.

Let be the set of all vertices that have a -path from to them. Consider the ascent part of the path . The claim is that for every block in this path, we have that at least of the vertices have -paths from (i.e., ).

This claim is proven by induction. The claim trivially holds for . Now, consider two consecutive blocks . There are two cases:

  1. . Then, the graph includes the expander graph on described in Lemma 2.4. At least vertices of are in . As such, at least vertices of are reachable from the vertices of . Since is not -contaminated, at most an -fraction of vertices of are in , and it follows that as claimed.

  2. is the parent of . In this case, is the left child of . Let be the right child of . Since is not -contaminated, we have that . As such,

    Now, by the expander construction on , and arguing as above, we have

    which implies that .

The symmetric claim for the descent part of the path is handled in a similar fashion, therefore, at least of the points in can reach with a -path. Using these and the expander construction between and , we conclude that there is a -path from to in , as claimed.  

Note that it is easy to generalize the construction for arbitrary . Let be an integer such that and build the graph on . Since is a -spanner, the -paths between any pair of vertices of does not use any vertices from . Therefore, we can simply delete the part of that is beyond to obtain an -reliable -spanner on . Since we defined to be the shadow of , the -reliability is inherited automatically.

We also note that no effort was made to optimize the constants in the above construction.

3.3 Construction of -reliable exact spanners in one dimension

3.3.1 The construction

Here, we show how to extend Theorem 3.12, to build a one dimensional graph, such that for any fixed and any set of deleted vertices, at most vertices are no longer connected (by a -path) after the removal of . The basic idea is to retrace the construction of Theorem 3.12, and extend it to this more challenging case. The main new ingredient is a shifting scheme.

Let be the ground set, and assume that is a power of two, and let . Let


where is a sufficiently large constant (). We first connect any , to all the vertices that are in distance at most from it, by adding an edge between the two vertices. Let be the resulting graph.

Let . For , and , let

be the shift corresponding to and . For a fixed , the s are equally spaced numbers in the block , starting at its left endpoint. For , let

be the shifted interval of length that starts at and is shifted blocks to the right, see Figure 3.3. The set of all intervals of interest is

Figure 3.3: The shifted intervals for with and . Each interval has length , there are different shifts and there are blocks per each shift.
Constructing the graph .

Let denote the expander graph of Lemma 2.4, constructed over and , with the value of the parameter as specified in Eq. (3.1). We define to be the union of all the graphs over all choices of , and also including the graph (described above). In the case that is not a power of two, do the construction on . In any case, the last step is to delete vertices from that are outside the range of interest .

3.3.2 Analysis of

Lemma 3.13.

The graph has edges.


There are resolutions. For every resolution there are different shifts. For every shift, the number of edges created is