Better Distance Preservers and Additive Spanners

Report 1 Downloads 139 Views
Better Distance Preservers and Additive Spanners Greg Bodwin∗ and Virginia Vassilevska Williams†

arXiv:1505.05599v1 [cs.DS] 21 May 2015

Stanford University Department of Computer Science May 22, 2015 Abstract We make improvements to the current upper bounds on pairwise distance preservers and additive spanners. A distance preserver is a sparse subgraph that exactly preserves all distances in a given pair set P . We show that every undirected unweighted graph has a distance preserver on O(max{n|P |1/3 , n2/3 |P |2/3 }) edges, and we conjecture that O(n2/3 |P |2/3 + n) is possible. An additive subset spanner is a sparse subgraph that preserves all distances in S ×S for a node subset S up to a small additive error function. Our second contribution is a new application of distance preservers to graph clustering algorithms, and an application of this clustering algorithm to produce new subset spanners. Ours are the first subset spanners that benefit from a non-constant error allowance. For constant d, we show that subset spanners with +nd+o(1) error can be obtained at any of the following sparsity levels: 1. 2. 3. 4.

O(|S|3/4 n1−d/2 + n) O(|S|1/2 n1−d/3 + n), so long as |S| ≥ Θ(n2d ) O(|S|1/3 n), so long as |S| ≤ O(n2d ) O(|S|1/2 n1−d/3 + n) under our distance preserver conjecture

An additive spanner is a subset spanner on V × V . The existence of error sensitive subset spanners was an open problem that formed a bottleneck in additive spanner constructions. By resolving this problem, we are able to prove that for any constant d, there are additive spanners with +nd+o(1) error at any of the following sparsity levels: 1. 2. 3. 4.

O(n8/5−7d/5 + n) O(n4/3−7d/9 + n) so long as d ≤ 3/13 O(n6/5−d/5 ) so long as d ≥ 3/13 O(n4/3−7d/9 + n) under our distance preserver conjecture

If our distance preserver conjecture is true, then the fourth additive spanner is the best known for the entire range d ∈ (0, 3/7]. Otherwise, the first is the best known for d ∈ [1/3, 3/7], the second is the best known for d ∈ [3/13, 1/3], and and the third is the best known for d ∈ (0, 3/13]. As an auxiliary result, we prove that all graphs have +6 pairwise spanners on ˜ O(n|P |1/4 ) edges. ∗ [email protected][email protected]

1

1

Introduction

A basic question in combinatorics is: what is the lowest sparsity such that any graph G has a subgraph that roughly preserves the distances in G? The question is intrinsic to understanding the metric properties of graphs, and it has a variety of applications, practically anywhere where shortest paths information needs to be compressed in some way or form. A graph preserving the distances exactly is called a distance preserver.1 While preserving the distances exactly between all pairs of nodes may require keeping all the edges (e.g. in a clique), if one only cares about a small set P of prespecified pairs of nodes, there is apriori no reason why one would need to store all edges in G. In fact, a simple argument √ of Coppersmith and Elkin [CE06] shows that, on average, one only needs to store O( n) edges per node pair in P . This leads to the question: What is the minimum number of edges that a pairwise distance preserver can store per node pair, on average? [CE06] also showed that for pair sets of size p, one can construct a distance preserver on √ √ √ O(n p) edges, and so on average one needs to store no more than O(min{ n, n/ p}) edges per pair. They also presented lower bounds: any distance preserver for a pair set of size p 2 2 must have at least Ω(maxd≥2,d∈Z n2d/(d +1) pd(d−1)/(d +1) ) edges. This lower bound matches 1/2 1/2 the O(n p) upper bound when p = n , and it implies that ω(n + p) edges are required whenever p = nc with 1/2 < c < 2 (so the trivial upper bound of p = O(n2 ), |H| = O(n2 ) is tight). However, since Coppersmith and Elkin’s paper 10 years ago, there have been no improvements on the sparsity of pairwise distance preservers. The first main result of this paper is a construction of sparser distance preservers. Theorem 1 (Sparser Distance Preservers). For any undirected unweighted n vertex graph G and any set of p pairs of nodes, there exists a subgraph H on O(max{np1/3 , n2/3 p2/3 }) edges such that for all (u, v) ∈ P , dG (u, v) = dH (u, v). This result improves upon Coppersmith and Elkin’s bound for all p ≥ Ω(n3/4 ). A lower bound of [CE06] states that any pairwise distance preserver for weighted undirected graphs must have at least Ω((np)2/3 + n) edges. Our theorem above gives hope that this “true” bound of O((np)2/3 + n) can be achieved, at least for unweighted preservers. We conjecture that this is the case. Distance preservers are a basic tool in creating graph spanners [CE06, BCE03], a relaxation of distance preservers in which the distances need to be preserved only approximately (either by a multiplicative, an additive or a mixed approximation). Since their first introduction in the 1980s [Awe85], spanners have found a wide variety of applications. They are used to synchronize protocols in unsynchronized networks [PU89a], and in the design of low-stretch routing algorithms which follow particularly compact routing tables [Cow01, CW04, PU89b, RTZ08, TZ01]. They have also been used to create low space distance oracles [TZ05, BS07, BK06, RTZ08] and almost-shortest path algorithms [EZ06, Elk05, Elk07, DHZ96]. Mild variations on graph spanners have appeared in broadcasting [FPZW04], solving diagonally dominant linear systems [ST04], and more. In all of these applications, the quality of the solution is tied to the sparsity/error tradeoff of the underlying spanner. One can expect that for spanners, the worse the approximation guarantee, the sparser they can get, and the tradeoff is probably a smooth transition. Indeed, such a smooth transition result is known for multiplicative spanners [ADD+ 93], where one can get an 1 The

exact definition of a distance preserver is that it is only required to preserve distances between far away nodes.

2

O(n1+1/k )-edge, (2k − 1)-spanner, and (in many cases) for mixed spanners; we discuss these in the related work section. For additive spanners however the sparsity/error trade-off is far from smooth. There are three known additive spanner constructions O(n3/2 ) edges, +2 error [ACIM99], O(n7/5 ) edges, +4 error [Che13], and O(n4/3 ) edges, +6 error [BKMP05a, Woo10]. For sparsity below n4/3 the story is completely different. The current best spanners using O(n1+ε ) edges for ε ≥ 0, have additive error O(n1/2−ε/2 ) when ε ∈ [0, 1/7] [BW15], O(n2/3−5ε/3 ) when ε ∈ (1/7, 3/17] [BW15] and O(n1/2−3ε/2 ) when ε ∈ (3/17, 1/3] [Che13]. One of the biggest open problems in spanner research is whether there is a spanner with O(n4/3−δ ) edges and +no(1) error for any constant δ > 0. An extremely modest version of this question, suggested in [BW15], is whether one can obtain additive error O(n1/2−3ε/2 ) with O(n1+ε ) edges for all ε ≤ 1/3. Currenty only Chechik’s spanner construction has this tradeoff and it is only for ε ≥ 3/17. If our goal is to show that the tradeoff picture for additive spanners is smooth like in the multiplicative case, then obtaining such a result is an important stepping stone. Our work shows that, in fact, one can get a better error than O(n1/2−3ε/2 ) with O(n1+ε ) edges, for some values of ε. All spanners except the fourth one in Theorem 2 are new. Theorem 2. For all d ≥ 0, the following sparsity bounds are possible for additive spanners with +nd+o(1) error: Sparsity Restrictions 8/5−7d/5 O(n + n) O(n6/5−d/5 ) d ≥ 3/13 O(n4/3−7d/9 + n) d ≤ 3/13 O(n4/3−7d/9 + n) Our distance preserver conjecture is true Our first spanner is the best known when d ∈ [1/3, 3/7]. Our second spanner is the best known when d ∈ [3/13, 1/3]. Our third spanner is the best known when d ∈ (0, 3/13]. Under our distance preserver conjecture, instead our fourth spanner is the best known for all of d ∈ (0, 3/7]. Some may prefer this information to be expressed with sparsity as the independent variable. The following table is equivalent to the one given above. For all ε ≥ 0, the following additive error bounds are possible for additive spanners on n1+ǫ+o(1) edges: Error Restrictions O(n3/7−5ε/7 ) O(n1−5ε ) ε ≤ 2/13 O(n3/7−9ε/7 ) ε ≥ 2/13 O(n3/7−9ε/7 ) Our distance preserver conjecture is true Our first spanner is the best known when ε ∈ [0, 2/15]. Our second spanner is the best known when ε ∈ [2/15, 2/13]. Our third spanner is the best known when ε ∈ [2/13, 1/3). Under our distance preserver conjecture, instead our fourth spanner is the best known for all of ε ∈ [0, 1/3). Note that for all ε in the ranges [0, 1/11] and [1/7, 1/3) we unconditionally have spanners strictly sparser than the O(n1/2−3ε/2 ) bound. Additionally, when ε = 0, we get linear size 3/7+o(1) spanners , whereas previously the best error for such spanners √ with additive error n ˜ was O( n). We prove Theorem 2 with two ingredients: clustering and pairwise spanners.

3

Novel Clustering. We use our distance preservers from Theorem 1 to develop a new way to cluster the nodes of graph into low radius clusters. In particular, we show that, for any constants r and ǫ, one can decompose a graph into C(r, ε) “large clusters” of radius O(nr ), as well as some “small clusters” that an additive spanner can handle with a preprocess of ˜ 1+ǫ ) edges. The function C(r, ε) depends on the distance preservers that one uses. We O(n get: Using the Preserver C(r, ε) Restrictions O(n1/2 |P | + n) O(n1−4r/3−2ε/3 ) O(n|P |1/3 ) if |P | = O(n) O(n1−r−3ε/2 ) r ≥ 3ε/2 O(n2/3 |P |2/3 + n) if |P | ≥ Θ(n) O(n1−4r/3−ε ) r ≤ 3ε/2 2/3 2/3 Under our distance O(n |P | + n) under our O(n1−4r/3−ε ) preserver conjecture distance preserver conjecture The ability to produce and analyze large clusters of non-constant radius has been a major bottleneck in the construction of very sparse additive spanners. We expect that our clustering technique will have more applications down the road. Pairwise and Subset Spanners. Just like pairwise distance preservers, one can study their approximate version, pairwise spanners. A good motivation to study pairwise additive spanners is that in a certain sense, the additive spanner constructions only need to approximate the distances between pairs of nodes in selected hitting sets, so that spanners that can approximate the distances between a small number of node pairs should be useful there. The best results for pairwise spanners are by Kavitha & Varma [KV13], who showed that there ˜ is an O(n|P |1/3 ) edge spanner that approximates the distances between pairs of nodes in P within an additive error of 2. Cygan et al [CGK13] showed that if one is interested in approximating all distances between pairs of nodes in a set S, then a +2-approximate subp set spanner on O(n |S|) edges can be constructed. Kavitha [Kav15] matched this sparsity ˜ bound by showing a +6 pairwise spanner on O(n|P |1/4 ) edges. Several questions emerge: ˜ (1) What is the best error bound one can achieve for pairwise spanners on O(n|P |1/4 ) edges? (2) Can one drastically improve the sparsity of pairwise and subset spanners if one allows non-constant error? No constructions of this type are known. We address the nonconstant error scenario. We give the first nontrivial subset spanners in this setting. Prior to this paper, there was no known way to improve the sparsity of a subset spanner by allowing for a non-constant path cost. The difficulty can be traced to the lack of nontrivial clustering algorithms with nonconstant radius. With our new clustering results, we obtain the following theorem: Theorem 3. For any n node graph and any d ∈ [0, 1], there are spanners that preserve the distances between all pairs of nodes in a set S within an additive error +nd+o(1) and have the following number of edges: Sparsity Restrictions 3/4 1−d/2 O(|S| n ) O(|S|1/3 n) |S| ≤ O(n2d ) 2/3 1−2d/3 O(|S| n ) |S| ≥ Ω(n2d ) 1/2 1−d/3 O(|S| n ) Under our distance preserver conjecture These subset spanners are used to obtain the additive spanners mentioned earlier. Preliminaries Let G = (V, E) be a graph, and let P ⊂ V × V . We say that H ⊂ G is an (α, β) pairwise spanner of G, P if 4

δH (u, v) ≤ α · δG (u, v) + β

for all (u, v) ∈ P . When P = V × V , we say that H is simply an (α, β) spanner of G. When P = S × S for some node subset S, we say that H is a subset spanner of G, S. When α = 1 and β = 0 (i.e. the distances are exactly preserved), we say that H is a pairwise distance preserver of G, P . When α = 1 we say the spanner is additive, and when β = 0 the spanner is multiplicative. Otherwise, the spanner is mixed. There is an inherent tension between the size of α and/or β, the size of P , and the number of edges contained in the spanner/preserver. Researchers try to find algorithms that improve the tradeoff between these three quantities. We use the notation δG (u, v) to refer to the shortest path distance from u to v in the graph G. If u is a node in a graph, then B(u, r) is the set of nodes at distance r or less from u. If S is a set of nodes in a graph, then ∂(S) is the set of nodes v ∈ / S such that the graph contains the node (s, v).

1.1

Prior work

Spanner Applications. When spanners were first used in the 1980s [Awe85], they were put to use synchronizing protocols in unsynchronized networks [PU89a]. They were later used in the design of low-stretch routing algorithms which follow particularly compact routing tables [Cow01, CW04, PU89b, RTZ08, TZ01]. They have also been used to create low space distance oracles [TZ05, BS07, BK06, RTZ08] and almost-shortest path algorithms [EZ06, Elk05, Elk07, DHZ96]. Mild variations on graph spanners have appeared in broadcasting [FPZW04], solving diagonally dominant linear systems [ST04], and more. In all of these applications, the quality of the solution is tied to the sparsity/error tradeoff of the underlying spanner. Multiplicative & Mixed Spanners. When spanners were first introduced in the eighties, most research effort was directed towards the multiplicative case. It was quickly noticed by Alth¨ofer et al [ADD+ 93] that H is a ·t multiplicative spanner of G iff, for every edge (u, v) ∈ G, the pair u, v is well spanned in H. In light of this, the authors obtained a ·(2k − 1) spanners on O(n1+1/k ) edges using the trivial greedy algorithm: while there is an edge (u, v) that violates the ·2k spanner condition, add this edge to the spanner. Further, assuming the widely believed girth conjecture of Erd¨ os [Erd64], the upper bound achieved by this algorithm is tight. Intuitively, the difficult node pairs for multiplicative spanners to cover are those that are close together in the original graph. Further progress in the regime of multiplicative spanners has come from relaxing the spanning requirements on node pairs that begin close together. Parter [Par14] gave a construction for “hybrid spanners,” which have ·(2k − 1) stretch for adjacent vertices and ·k stretch for non-adjacent vertices, on O(n1+1/k ) edges for any constant k. Other researchers have considered mixed spanners, which allow the errors for close distances to be absorbed by the additive error term. Elkin and Peleg [EP04] produce (1 + ǫ, β) spanners of size O(βn1+1/k ) for all ǫ > 0, k ≥ 2, β = k log log k−log ǫ . Thorup and Zwick [TZ06] found a (1 + ǫ, O((1/ǫ)k−2 )) spanner on O(kn1−1/k ) edges (note the independence from ǫ!). Elkin [Elk] locally improved this tradeoff to (1 + ǫ, O(1/ǫ)) for any ǫ > 0, with an edge cost of O(n8/7 ). It is a significant open question whether this n8/7 bound can be improved, or whether a similar improvement can be made to Thorup and Zwick’s mixed spanner for k > 3. 5

Additive Spanners. Modern research has focused more on the case where the spanner error function is purely additive. There are three known constructions for spanners of constant additive error: +2 spanners on O(n3/2 ) edges due to Aingworth et al [ACIM99], +4 spanners on O(n7/5 ) edges due to Chechik [Che13], and +6 spanners on O(n4/3 ) edges due to Baswana et al [BKMP05b] (the runtime of the +6 spanner construction was later improved by Woodruff [Woo10]). Progress has stalled here for quite some time, and it is considered the most important open question in spanner research whether it is possible to produce spanners of constant additive error on O(n4/3−δ ) edges for any constant δ > 0. This question is open even when the error can be +no(1) . The only known lower bound is essentially same as that for multiplicative spanners: for each integer k, +(2k − 1) spanners require Ω(n1+1/k ) edges. This bound is straightforward to prove assuming the Erd¨os girth conjecture [Erd64], but Woodruff [Woo06] has established its truth independent of this conjecture. It is perfectly consistent with current knowledge that there are +(2k − 2) spanners on O(n1+1/k ) edges for all integers k, but there seems to be little recent progress on proving or refuting this claim. In light of this difficulty, much research effort has focused on sparser spanners of nonconstant error. These results, plus our new results in this regime, are summarized in the table below. ˜ 1+ǫ ) edges) Author Error (on O(n Best Construction When Bollob´ as et al [BCE03] +n1−2ǫ Baswana et al [BKMP05b] +n1−3ǫ Pettie [Pet07] +n9/16−7ǫ/8 Chechik [Che13] +n1/2−3ǫ/2 , if ǫ ∈ [3/17, 1/3] 1/2−ǫ/2 Bodwin & Williams [BW15] +n Bodwin & Williams [BW15] +n2/3−5ǫ/3 New +n3/7−5ǫ/7+o(1) ǫ ∈ [0, 2/15] New +n1−5ǫ+o(1) , if ǫ ≤ 2/13 ǫ ∈ [2/15, 2/13] New +n3/7−9ǫ/7+o(1) , if ǫ ≥ 2/13 ǫ ∈ [2/13, 1/3) 3/7−9ǫ/7+o(1) +n , under our new New ǫ ∈ [0, 1/3) distance preserver conjecture Pairwise Distance Preservers. Distance preservers were first introduced in [BCE03], where the pair set P was implicitly described as all pairs exceeding a given distance threshold D (these objects are simply called distance preservers rather than pairwise distance ˜ 2 /D) sparsity. Pairwise preservers). The authors show that such a subgraph enjoys O(n distance preservers were introduced by Coppersmith & Elkin in [CE06], in which the authors showed upper bounds on preserver size of O(n|P |1/2 ) (for weighted directed graphs) and O(n1/2 |P |) (for weighted undirected graphs). In the lower bounds regime, they showed that Ω(n2/3 |P |2/3 + n) edges are required for weighted undirected graphs. When attention is restricted to unweighted graphs, they showed that for any 12 ≤ c < 2, if |P | = nc , then |H| ≥ Θ((n + P )δ ) for some δ > 1 that is a function of c. This implies that two points on the tradeoff curve for unweighted graphs are known to be tight: (|P | = Θ(n1/2 ) and |H| = Θ(n)), and (|P | = Θ(n2 ) and |H| = Θ(n2 )). Interestingly, the curve of the form na |P |b that connects these two points is n2/3 |P |2/3 , which matches the lower bound given for weighted graphs.

6

Distance preservers are an important tool frequently used to create graph spanners [CE06, BCE03]. Additionally, they are considered important objects of study in their own rite, since they give nontrivial insight into the nature of the relationship between metric embeddings on graphs and the field of computational geometry [CE06].

2

Distance Preservers We recall the following definition from the introduction:

Definition 1. Given a graph G and a pair set P ⊂ V × V , we say that a subgraph H is a pairwise distance preserver of G with respect to P if δH (u, v) = δG (u, v) for all (u, v) ∈ P . The only “decisions” one has to make while constructing a pairwise distance preserver is in path tiebreaking: if there is a pair (u, v) such that G contains several equally short paths between u and v, then we need to choose which one of these to include in our preserver. We formalize this as follows: Definition 2. A path tiebreaking scheme on a graph G is a function ρG that maps node pairs (u, v) to a shortest path in G from u to v. The following is a very useful property of path tiebreaking schemes: Definition 3. A path tiebreaking scheme is consistent if for all nodes u, v, w, x, if ρG (u, v) contains nodes w and x in that order, then it contains the entire subpath ρG (w, x). It is not too difficult to see that there exist consistent tiebreaking schemes that are implementable in polynomial time. One way to construct such a scheme is to fix a numbering of the nodes, and then choosing the path that greedily travels to the lowest-numbered node that brings you closer to the destination node. In [CE06], Coppersmith & Elkin prove the following theorems: Theorem. Let G be an undirected, possiblySweighted graph, let P be a pair set, let ρG be a consistent tiebreaking scheme, and let H = p∈P ρG (p). Then |H| = O(n1/2 |P | + n)

Theorem. Let G be a possibly directed, possiblySweighted graph, let P be a pair set, let ρG be a consistent tiebreaking scheme, and let H = p∈P ρG (p). Then |H| = O(n|P |1/2 )

Our first results state that these bounds are tight for consistent tiebreaking schemes. Theorem 4. For any n and any parameter 12 ≤ c ≤ 1, there is an unweighted, undirected graph G on n nodes, a pair set P of size nc , and a consistent tiebreaking scheme ρG such that [ | ρG (p)| = Θ(n1/2 |P |) p∈P

7

Proof. Let q ≈ n1/2 be a prime. Let G be the complete graph on q layers; that is, it consists of q layers of q nodes each such that a node in layer L is adjacent to exactly the set of nodes in layer L − 1 and L + 1. Let P be any subset of the pairs consisting of one node in the first layer and one node in the last layer. Finally, define ρG by the following rule: if u is the ith node in the first layer, and v is the j th node in the last layer, then ρG (u, v) is the path that repeatedly travels from the k th node in the Lth layer to the (k + (i − j) mod q) node in the (L + 1)th layer. It is now a matter of straightforward modular arithmetic to verify that every pair of paths intersects on exactly one node (so ρG is consistent), and that each path adds q new edges to the distance preserver (so the final distance preserver has q|P | ≈ n1/2 |P | edges). Theorem 5. For any n and any parameter 1 ≤ c ≤ 2, there is an unweighted, undirected graph G on n nodes, a pair set P of size nc , and a consistent tiebreaking scheme ρG such that [ | ρG (p)| = Θ(n|P |1/2 ) p∈P

Proof. Let q ≈ nc/2 be a prime. We set G to be the complete graph on n1−c/2 layers, and use the same consistent tiebreaking scheme as in the prior proof. Each path then costs n1−c/2 edges, so the total cost is |P |n1−c/2 = n1+c/2 = n|P |1/2 . These theorems should be read as lower bounds on proof techniques, not as lower bounds on distance preservers. They simply state that any improvement to Coppersmith & Elkin’s current upper bounds will need to somehow rely on properties of the underlying tiebreaking scheme that are more complicated than simple consistency. In fact, we will now do exactly that: we will introduce a more complicated tiebreaking scheme that produces distance preservers below the |P |n1/2 bound. We will prove the following theorem: Theorem 6. For any undirected unweighted graph G and pair set P , there is a tiebreaking scheme ρG such that [ | ρG (p)| = O(max{n|P |1/3 , n2/3 |P |2/3 }) p∈P

The key to this proof is in the following lemma, which contains the new tiebreaking scheme. Lemma 1. Let G be an unweighted undirected graph, and let S be a subset of nodes such that every pair of nodes in S is distance d or less apart. Let P be a pair set such that every pair in P has a shortest path incident on S. Then there is a tiebreaking scheme ρG with the property that [ | ρG (p)| = O(n + (n|P ||S|d)1/2 ) p∈P

Proof. Let H = (V, ∅) be a distance preserver that we will build iteratively. Assign each pair p ∈ P to a node s ∈ S such that p has a shortest path through s. Expand the pair set as follows: if (a, b) is in the pair set and is owned by node u, replace it with two pairs (u, a) and (u, b). We will consider these pairs to be directed, from u to a or b. Clearly, if we preserve this expanded pair set, then we will have preserved the original pair set as well.

8

Fix an ordering of the nodes in S, and add all paths that belong to an earlier node before adding any paths that belong to a later node. We will next show that, with the proper tiebreaking scheme, the set of paths belonging to a single node adds only O(d) edges to any other previously added path. This implies that there are only O(|P ||S|d) instances of a pair of paths adding an edge to the preserver entering the same node. For a node u, start adding its paths according to any consistent tiebreaking scheme. We will maintain the invariant that for each previously added path p, at most 2d + 1 paths belonging to u have added a distinct new edge entering p. If we ever add a path belonging to u that violates this invariant, we will pause the algorithm and reroute one of these 2d + 2 paths to restore the invariant. Suppose that there are 2d + 2 paths belonging to u that have each added a distinct edge entering some previously added path p, owned by node v. Say that the “index” of a node in p is its distance from v. Let v0 ∈ p be the smallest index node to which one of these d + 1 paths owned by u adds an edge, and let q0 be the path that does so. By the triangle inequality, we know that δG (u, v0 ) ≤ δG (u, v) + i0 . Now let q1 be the path owned by u that enters p on the node v1 with the next lowest index, i1 . By the triangle inequality, δG (u, v1 ) ≤ δG (u, v0 ) + (i1 − i0 ). However, if this is in fact an equality, then we can replace the prefix ρG (u, v1 ) of q1 with ρG (u, v0 ) ∪ ρG (v0 , v1 ), thereby restoring the invariant. Instead suppose that δG (u, v1 ) ≤ δG (u, v0 ) + (i1 − i0 ) − 1, so δG (u, v1 ) ≤ δG (u, v) + i0 + (i1 − i0 ) − 1 = δG (u, v) + i1 − 1. We can repeat the argument with q1 and q2 , and then q2 and q3 , and so on. We conclude that either (1) a path can be replaced to remove an edge entering p, or (2) δG (u, v2d+1 ) ≤ δG (u, v) + i2d+1 − (2d + 1). However, (2) violates the triangle inequality, because δG (u, v) ≤ d (since u, v ∈ S). Therefore, (1) holds, and we can choose one of these paths to redirect. When we make such a redirection, we replace the prefix of a path with a different, equally short prefix in which all edges are already present in the preserver. This prefix also intersects p; therefore, since ρG is consistent, the first new edge added by the redirected path occurs after a point where this path will never again intersect p. Therefore, the invariant is restored by the redirection. This implies that there are only O(|P ||S|d) instances of two paths adding edges to the preserver that enter the same node. Assuming there are at least 3n edges in the preserver, this gives X deg (v) in = O(|P ||S|d) 2 v∈V

By Cauchy-Schwarz, (

P

v∈V

P

v∈V

X

v∈V

degin (v))2 ≤ O(|P ||S|d)

n

degin (v) n1/2

≤ O((|P ||S|d)1/2 )

degin (v)) ≤ O((n|P ||S|d)1/2 )

The lemma follows. We can now return to Theorem 6. 9

Proof of Theorem 6. Let ǫ be a parameter. Start adding paths from P to your preserver in any order, according to any tiebreaking scheme. Suppose that at some point during this process, a node u gains the following property: there exists a set of at most nǫ nodes within distance 1 of u such that at least n2ǫ distinct paths pass through one of these nodes. We then remove exactly n2ǫ of these paths from the preserver and use Lemma 1 (with S as the set of these nǫ nodes and P as the n2ǫ pairs that create the n2ǫ paths) to create an auxiliary preserver on O(n + n1/2+3ǫ/2 ) edges that preserves these pairs. We are left with a graph in which no node has nǫ nodes within distance 1 such that at least n2ǫ distinct paths pass through one of these nodes. We will complete the proof by arguing that such a graph has only O(n1+ǫ ) edges. Unmark all nodes and all edges. Now repeat the following process: choose an unmarked node. If it has fewer than nǫ unmarked neighbors, then mark this node and all its incident edges. If it has more than nǫ unmarked neighbors, then choose nǫ of these nodes and mark them and all their incident edges. Once we have marked all nodes, it is clear that we have marked all edges. Each time we mark a single node, we mark at most nǫ edges along with it. Each time we mark a set of nǫ nodes, we mark at most 4n2ǫ edges along with it (the edges belonging to n2ǫ paths incident on this set). Therefore the graph has O(nǫ ) times as many edges as it nodes. So the graph containing the leftover paths has size O(n1+ǫ ) edges. First, suppose |P | ≤ n. Set nǫ = |P |1/3 . The “leftover” preserver has O(n|P |1/3 ) edges. Each auxiliary preserver costs O(n) edges and consumes |P |2/3 paths, so there are at most |P |1/3 auxiliary preservers in total. By a simple union bound, all auxiliary preservers cost O(n|P |1/3 ) edges. This proves the first half of the theorem. Next, suppose |P | ≥ n. Set nǫ =

|P |2/3 . n1/3

The “leftover” preserver has O(n2/3 |P |2/3 ) 4/3

| paths, so by another edges. Each auxiliary preserver costs O(|P |) edges and consumes |Pn2/3 union bound, all auxiliary preservers cost O(n2/3 |P |2/3 ) edges. This proves the second half of the theorem.

The obvious open question suggested by Theorem 6 is whether or not the tradeoff curve |H| = O(n + n2/3 |P |2/3 ) can be obtained even when n1/2 ≤ |P | ≤ n. We believe this to be likely: Conjecture 1. Every unweighted, undirected graph G and pair set P admits a (polytime constructible) pairwise distance preserver on O(n2/3 |P |2/3 ) edges. There is also some evidence that this is the correct lower bound. Due to lower bounds for undirected unweighted graphs given in [CE06], this is the only tradeoff curve of the form na |P |b that is consistent with all known upper and lower bounds. Additionally, it is a known lower bound when the graph is allowed to be weighted.

3

Graph Clustering with Distance Preservers We next present a new application of distance preservers to graph clustering algorithms.

Lemma 2. Let G be a (undirected unweighted) graph, and let R, E be parameters with R ≥ Θ(log n). Suppose that there are polynomial time constructible distance preservers on O(na |P |b ) edges for some constants a, b. Then for every node u, at least one of the following two properties holds: 1. |B(u, R)| ≥ Θ(R2b/(2b+a−1) E 1/(2b+a−1) ) 10

2. For some 0 ≤ r ≤ R, the set of all paths (determined by a consistent tiebreaking scheme) that do not start or finish in B(u, r) contains only O(E|B(u, r)|) distinct edges incident on B(u, r). Here is a reference table for deciphering the exponents in the first condition: Using the distance preserver bound |B(u, R)| has size O(n|P |1/2 ) (Coppersmith & Elkin [CE06]) Θ(RE) O(n1/2 |P |) (Coppersmith & Elkin [CE06]) Θ(R4/3 E 2/3 ) O(n2/3 |P |2/3 ) if |P | ≥ Θ(n) (Theorem 6) Θ(R4/3 E) if R ≤ O(E 3/2 ) 1/3 O(n|P | ) if |P | ≤ O(n) (Theorem 6) Θ(RE 3/2 ) if R ≥ Θ(E 3/2 ) 2/3 2/3 O(n |P | ) (Conjecture 1) Θ(R4/3 E) Proof. Initialize a set S = {u}, and initialize r = 0. Repeat the following process: if |∂(S)| has size at most min{|S|(1−a)/(2b) E 1/(2b) , 2|S|}, then one can verify that the distance preserver on the subgraph S∪∂(S) with pair set P = ∂(S)×∂(S) contains only O(E|S∪∂(S)|) distinct edges (since ∂(S) = O(S), this is simply O(E|S|)). Since every subpath that does not start or end in S must intersect ∂(S) on at least two different nodes, all edges contained in one of these subpaths are present in this preserver. Otherwise, suppose |∂(S)| ≥ min{|S|(1−a)/(2b) E 1/(2b) , 2|S|}. We set S ← S ∪ ∂(S) and repeat. If it was the case that ∂(S) ≥ 2|S|, this can only happen log n times. Otherwise, if ∂(S) ≥ |S|(1−a)/(2b) E 1/(2b) , we gain a series defined as follows: |S0 | = 1 |Sn | = |Sn−1 | + |Sn−1 |(1−a)/(2b) E 1/(2b) With standard methods for solving recurrence relations, one can verify that |SR | ≥ Θ(R2b/(2b+a−1) E 1/(2b+a−1) ). The claim follows. The idea behind our clustering algorithm is to separate the graph into “large” clusters that obey the first property, and “small” clusters that obey the second property. Some additional tricks are needed, though: we need to be careful that these clusters don’t overlap each other too much, or we will lose the benefit from generating unusually large clusters. To convert this lemma to a clustering algorithm, we will impose the following structure on our clusters. Each cluster will have a center c, and it will be defined to be B(c, r) for a carefully chosen parameter r dependent on c. Some clusters may overlap. However, each cluster will have a central core. The core will contain at least a log1 n fraction of all the nodes in the cluster, and will have at most half the radius of the entire cluster. Every node in the graph will belong to exactly one cluster core. For each node u, we will compute some critical radius ru . If u is ultimately chosen to be a cluster center, then the intuitive meaning of ru is: nodes in B(u, ru ) are definitely in the core of the cluster centered at u; nodes in B(u, 2ru ) − B(u, ru ) are in the cluster but may or may not be in the core, and nodes in B(u, 4ru ) − B(u, 2ru ) are in the cluster but definitely not in the core. We create find ru with the following procedure:

11

Algorithm 1: ru (G, u, R) 1 2 3 4 5

Initialize ru = R; while |B(u, 4ru ) − B(u, ru )| > |B(u, ru )| log n do ru ← 4ru ; end return ru

We will frequently reference the value ru for a node u, and we will suppress its parameters when they are clear from context. Claim 1. The value returned by the ru subroutine is at most Rno(1) . Proof. Each time we make a pass through the main while loop, |B(u, ru )| increases by a factor of at least log n. If we make i total passes through the loop, we have the restriction log n logi n ≤ n, so i ≤ logloglogn n . The final value of ru is then bounded at R4i ≤ R4 log log n = Rno(1) . We now cluster using the following process: Algorithm 2: cluster(G, R) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Sort each node u by the value of ru (u, R); Initialize a set C ← ∅ // Holds cluster centers Unmark all nodes; while there is an unmarked node do Add the unmarked node u with the largest value of ru to C; Mark all unmarked nodes in B(u, 2ru ); end for each node v ∈ V do if v ∈ B(c, rc ) for some c ∈ C then Add v to c.core; else Choose some c ∈ C such that v ∈ B(c, 2rc ) and add v to c.core; end end return C

Definition 4. The cluster associated with a cluster center c is defined to be B(c, 4rc ). Definition 5. Let a, b be constants such that all graphs have O(na |P |b ) distance preservers. A cluster with center c generated by the cluster algorithm with parameters R, E is E-large if |B(c, 4rc )| ≥ R2b/(2b+a−1) E 1/(2b+a−1)

, or E-small otherwise.

Claim 2. For any parameter E, the set C returned by the cluster routine contains at most 2b/(2b+a−1) 1/(2b+a−1) ˜ O(n/(R E )) clusters that are E-large. 12

Proof. Every large cluster contains at least R2b/(2b+a−1) E 1/(2b+a−1) nodes. From the cluster ˜ and ru subroutines, we have that |B(c, 4rc )| = O(|B(c, rc )|). Additionally, we know that ˜ B(c, rc ) ⊂ c.core, so this expression is O(|c.core|). Therefore, each large cluster has a core of ˜ 2b/(2b+a−1) E 1/(2b+a−1) ). Since each node belongs to the core of exactly one cluster, size Θ(R 2b/(2b+a−1) 1/(2b+a−1) ˜ the total number of large clusters is O(n/(R E )).

4

Applications to Additive Spanners

4.1

Subset Spanners

We recall the following definitions from the introduction: Definition 6. A subgraph H is a +k subset spanner of a graph G and a node subset S if δH (u, v) ≤ δG (u, v) + k for all u, v ∈ S. We will prove: Theorem 7. If all graphs have distance preservers on O(na |P |b ) nodes, then for any con(2b+a−1)/2 1−d(1−a) ˜ stant d, they have +nd+o(1) subset spanners on O(|S| n ) edges. Here is another reference table for these exponents. Using the distance preserver bound The subset spanner has size 1/2 ˜ O(n|P |1/2 ) (Coppersmith & Elkin [CE06]) O(|S| n) 1/2 3/4 1−d/2 ˜ O(n |P |) (Coppersmith & Elkin [CE06]) O(|S| n ) 1/2 1−d/3 ˜ O(n2/3 |P |2/3 ) if |P | ≥ Θ(n) (Theorem 6) O(|S| n ) if |S| ≥ Θ(n2d ) 1/3 ˜ O(n|P |1/3 ) if |P | ≤ O(n) (Theorem 6) O(|S| n) if |S| ≤ O(n2d ) 2/3 2/3 ˜ O(n |P | ) (Conjecture 1) O(|S|1/2 n1−d/3 )

The following preprocessing routine will play a crucial role in the subset spanner construction:

13

Algorithm 3: preprocess(G, R, E) 1

2 3 4

5

6 7 8 9

10 11 12 13

Initialize H to be a · log n multiplicative spanner of G on O(n) edges // See [ADD+93] for construction details Initialize C = cluster(G, R); for each E-small cluster C with center c do Find an integer r, with 2rc ≤ r < 4rc , such that the set of all shortest paths in G that do not start or finish in B(u, r) contains only O(E|B(u, r)|) distinct edges incident on B(u, r) // Guaranteed to exist by Lemma 2 Add a distance preserver on subgraph B(c, r + 1) and pair set ∂(B(c, r)) × ∂(B(c, r)) to H; end for each E-large cluster C with center c do repeat Let p be the shortest path in the subgraph B(c, 4rc ) that is missing the greatest number of edges in H; Add all edges in p to H; until we have added at least |B(c, 4rc )|E new edges incident on B(c, 4rc ); end return H

˜ Claim 3. The graph H returned by preprocess has O(nE) edges. Proof. It is clear that we add O(|C|E) edges to all large clusters. It follows from Lemma ˜ 2 that we add O(|C|E) edges to all small clusters. Finally, since |C| = O(C.core) for all ˜ clusters C, we spend O(|C.core|E) edges on each cluster. Each node belongs to the core of exactly one cluster, and the claim follows. Claim 4. Suppose that all graphs have distance preservers on O(na |P |b ) edges. Let ρG (u, v) be a shortest path that is entirely contained within a single large cluster C, which has size O(R2b/(2b+a−1) E 1/(2b+a−1) ) (the minimum possible size, up to constant factors). Then ρG (u, v) is missing O(n2d(b+a−1)/(2b+a−1) E (a+2b−2)/(a+2b−1) ) edges in H after the preprocess routine is complete. Proof. Let Q be the set of paths added to C during the preprocess subroutine. If ρG (u, v) ∈ Q, then the claim is apparent. Otherwise, ρG (u, v) was not chosen as a path in Q, so it must be missing fewer edges than the least costly path added in Q. Given the O(na |P |b ) distance a preserver bound, the average edge cost of a single path in Q is O( |Pn|1−b ). Therefore, ρG (u, v) a

is missing at most O( |Pn|1−b ) edges. The claim now follows by plugging |C| = n into this expression. We can now return to the main theorem of this section. Proof of Theorem 7. Initialize H = preprocess(G, R, E). Consider the pairs (s1 , s2 ) ∈ S × S in some preset order. We say that a pair in (s, C) ∈ S × C is “marked” if we have previously added a path with s as an endpoint that intersects C. If there exists a cluster C intersected by ρG (s1 , s2 ) such that (s1 , C) and (s2 , C) are both marked, then we argue that the pair (s1 , s2 ) has already been spanned within +nd+o(1) error. 14

This follows from the triangle inequality. Suppose that we have the subpaths ρG (s1 , c1 ) and ρG (s2 , c2 ) for some nodes c1 , c2 ∈ C, and that ρG (s1 , s2 ) intersects some node c3 ∈ C. We can travel from s1 to s2 by first traveling from s1 to c1 for some c1 ∈ C, then traveling at most 4rc log n = nd+o(1) steps using edges from the multiplicative spanner to reach c2 , and then traveling from c2 to s2 . This gives: δH (s1 , s2 ) ≤ δG (s1 , c1 ) + nd+o(1) + δG (c2 , s2 ) Apply the triangle inequality: δH (s1 , s2 ) ≤ (δG (s1 , c3 ) + nd+o(1) ) + nd+o(1) + (nd+o(1) + δG (c3 , s2 )) δH (s1 , s2 ) ≤ δG (s1 , s2 ) + nd+o(1)

Otherwise, there is no cluster C intersected by ρG (s1 , s2 ) such that (s1 , C) and (s2 , C) are both marked. Assume for now that all large clusters have the minimum possible size. For each small cluster C with center c in which ρG (s1 , s2 ) does not start or finish, note that all edges incident on C.core are already present in the preserver, because we have added a preserver on ∂(B(c, r)) × ∂(B(c, r)), and C.core ⊂ B(c, 2rc ) ⊂ B(c, r). For each large cluster C whose core is intersected by ρG (s1 , s2 ), let c1 , c2 be the first, last core nodes in the path. Note that by the triangle inequality, the subpath ρG (c1 , c2 ) is entirely contained in C, because C.core ⊂ B(c, 2rc ) and C = B(c, 4rc ). We have therefore reduced the problem to preserving up to |S| paths within each large cluster. We will now restrict our analysis to one such cluster C. From Claim 4, we have that each of the |S| paths through C is missing only O(n2d(b+a−1)/(2b+a−1) E (a+2b−2)/(a+2b−1) ) edges. The total edge cost of the subset spanner is then bounded by the product of |S|, the number of clusters in the graph, and the maximum edge cost of one of these |S| subpaths. Some more algebra yields that this cost is X = 1−2d(1−a)/(2b+a−1) (a+2b−3)/(a+2b−1) ˜ O(|S|n E ), and that if we set E = |S|(a+2b−1)/2 n−d(1−a) , (a+2b−1)/2 1−d(1−a) ˜ ˜ then we get X = O(nE) = O(|S| n ) as claimed. Recall that we have assumed that all large clusters have the minimum possible size. Since trivial upper bounds on distance preservers imply that a ≤ 1, a convexity argument implies that if we have larger (but fewer) clusters, the extra cost of having to preserve |S| paths in a larger cluster is more than offset by the reduced cost from having to perform this task on fewer overall clusters.

4.2

Additive Spanners

We will now prove the following theorem: Theorem 8. Suppose that every graph has pairwise distance preservers on O(na |P |b ) edges. ˜ 1+(2b+a−1)/(5−2b−a)−d(2b−3a+3)/(5−2b−a) ) Then every graph has a +nd+o(1) spanner on O(n edges. Here is a reference table for these exponents: Using the distance preserver bound The spanner has size 1/2 ˜ 4/3−d/3 ) O(n O(n|P | ) (Coppersmith & Elkin [CE06]) 1/2 ˜ O(n |P |) (Coppersmith & Elkin [CE06]) O(n8/5−7d/5 ) 2/3 2/3 4/3−7d/9 ˜ O(n |P | ) if |P | ≥ Θ(n) (Theorem 6) O(n ) if d ≤ 3/13 ˜ 6/5−d/5 ) if d ≥ 3/13 O(n|P |1/3 ) if |P | ≤ O(n) (Theorem 6) O(n ˜ 4/3−7d/9 ) O(n O(n2/3 |P |2/3 ) (Conjecture 1) 15

Claim 5. Let ρG (u, v) be a path that is not spanned within +nd+o(1) accuracy by the graph H returned by the preprocess subroutine. Then [ B(w, Rno(1) )| ≥ Θ(nd(1−2(a−1)/(2b+a−1)) E −(a+2b−3)/(a+2b−1) ) | w∈ρG (u,v)

Proof. Again assume that all large clusters have the minimum possible size. By Claim 4, each subpath through a large cluster is missing only O(n2d(b+a−1)/(2b+a−1) E (a+2b−2)/(a+2b−1) ) edges. Because there is a · log n multiplicative spanner added to H as a part of the preprocess subroutine, any path that is not spanned within +nd+o(1) accuracy must be missing at least nd edges. Therefore, the path intersects Θ(nd−2d(b+a−1)/(2b+a−1) E −(a+2b−2)/(a+2b−1) ) clusters, and the claim follows. Again, if some large clusters are significantly larger than the minimum size, we can make a convexity argument: because we have a ≤ 1, the losses suffered from the increase in the number of missing edges in these cluster are more than offset by the gains from the increased size of the cluster, and our lower bound on the neighborhood of ρG (u, v) will only grow stronger. Proof of Theorem 8. Initialize your spanner by running the preprocess subroutine with parameters nd , E (we will tune the parameter E later in this proof). Let ρG (u, v) be a path that is not spanned to accuracy +nd+o(1) . Let w, x be nodes on this path such that ρG (u, w) is the shortest prefix that has this property, and ρG (x, v) is the shortest suffix that has this property. Let S be a random sample of Θ(n1−d(1−2(a−1)/(2b+a−1)) E (a+2b−3)/(a+2b−1) log n) nodes in the graph. We add a subset spanner on S × S to our spanner, and this completes the spanner construction. By plugging the size of S into our subset spanner bound, we get an edge bound of ˜ 1+(2b+a−1)/2−d((2b−3a+3)/2) E (a+2b−3)/2 ) O(n We then set

E = n(2b+a−1)/(5−2b−a)−d(2b−3a+3)/(5−2b−a)

and obtain a spanner on the desired number of edges. It remains to prove its correctness. By Claim 5 and standard hitting set arguments, with high probability, there are nodes s1 , s2 ∈ S and nodes w′ ∈ ρG (u, w), x′ ∈ ρG (x, v) such that δG (s1 , w′ ) ≤ nd+o(1) and δG (s2 , x′ ) ≤ nd+o(1) . We therefore know that H contains the following path from u to v: ρH (u, w′ ) ∪ ρH (w′ , s1 ) ∪ ρH (s1 , s2 ) ∪ ρH (s2 , x′ ) ∪ ρH (x′ , v)

We know that ρH (u, w′ ) ≤ ρG (u, w′ ) + nd+o(1) and ρH (x′ , v) ≤ ρG (x′ , v) + nd+o(1) , because ρH (u, w) (or ρH (x, v)) is the shortest prefix (suffix) that does not meet this condition. We know that ρH (s1 , s2 ) ≤ ρG (s1 , s2 ) + nd , because we have added a +nd subset spanner on S. We know that ρH (w′ , s1 ) ≤ ρG (w′ , s1 ) + nd+o(1) and ρH (s2 , x′ ) ≤ ρG (s2 , x′ ) + nd+o(1) , because the preprocess subroutine contains a · log n multiplicative spanner. Therefore, δH (u, w′ ) + δH (w′ , s1 ) + δH (s1 , s2 ) + δH (s2 , x′ ) + δH (x′ , v)

≤ δG (u, w′ ) + δG (w′ , s1 ) + δG (s1 , s2 ) + δG (s2 , x′ ) + δG (x′ , v) + nd+o(1) By repeated application of the triangle inequality, one can transform this equation into δH (u, v) ≤ δG (u, v) + nd+o(1)

16

5

Final Thoughts

The most important open problem left by this paper is to prove or refute Conjecture 1. A secondary open problem is to generalize any of the distance preserver upper bounds mentioned here to directed and/or weighted graphs. Another important open problem is to study the relationship between pairwise and subset spanners/distance preservers. In all of our applications for pairwise distance preservers, the pair set is arranged as S × S for some subset S - we would be just as able to use subset distance preservers. However, there are no currently known results that exploit the structure P = S × S. It is unclear if this is a limitation in current techniques, or if subset preservers2 are truly just as hard as pairwise preservers. To see whether or not subset preservers can be made fundamentally sparser than pairwise preservers, one might look to the next closest objects: constant error subset/pairwise span1/2 ˜ ners. From prior work, we have +2 subset spanners on O(n|S| ) edges, but we only have 1/3 ˜ ˜ +2 pairwise spanners on O(n|P | ) edges [KV13], or +6 pairwise spanners on O(n|P |1/4 ) edges [Kav15]. Our next and final result is a simplified proof of the +6 result. We consider it interesting because it is a reduction from pairwise to subset spanners, which sheds some light on the relationship between the two. ˜ Theorem 9. Every graph G, pair set P admits a +6 pairwise spanner on O(n|P |1/4 ) edges. Proof. Let ǫ be a parameter, and say that a node is low degree if its degree is at most nǫ , or high degree otherwise. Add all edges incident on low degree nodes to your spanner. Next, let L be a parameter. Consider each pair in P in turn. If ρG (u, v) is missing at most L edges for a pair (u, v), then add ρG (u, v) to the spanner. Otherwise, add the first and last L missing edges in ρG (u, v) to the spanner. If a path was not completely added to the spanner, then it must intersect at least L high degree nodes. Therefore, it has a neighborhood of size Θ(Lnǫ ), because each high degree node has degree nǫ , and a node can be in the neighborhood of at most three different 1−ǫ nodes on a shortest path. Let S be a random sample of Θ( n L log n) nodes. With high probability, S contains a node in the neighborhood of the prefix and and another node in the neighborhood of the suffix of every path that was only partially added to the spanner. Now add the +2 subset spanner from [CGK13] on the subset S to your preserver. An argument from the triangle inequality implies that every path has been spanned with accuracy +6. The edge cost from adding all edges on low degree nodes is O(n1+ǫ ). The edge cost from adding L missing edges from each path is O(|P |L). The edge cost from adding ˜ n3/2−ǫ/2 ). If we set ǫ = |P |1/4 and L = |P n|3/4 , the claim follows. the subset spanner is O( L1/2 To recap the state of this problem: subset distance preservers are not known to be sparser than pairwise distance preservers. Constant error subset spanners are not known to be sparser than constant error pairwise spanners, although their constant error term is slightly smaller. Theorem 7 is the first result for subset spanners of non-constant error, and no corresponding result is yet known for pairwise spanners. Improving on any of these constructions would be of great interest. 2 These have been previously studied by [CE06] in the context of lower bounds, and they are referred to there as sourcewise preservers. However, in the spanner literature, “sourcewise” is reserved for pair sets S × V , while “subset” is used for S × S. We choose to favor the spanner naming conventions over the preserver ones.

17

References [ACIM99]

D. Aingworth, C. Chekuri, P. Indyk, and R. Motwani. Fast estimation of diameter and shortest paths (without matrix multiplication). SIAM J. Comput., 28:1167–1181, 1999.

[ADD+ 93]

I. Alth¨ofer, G. Das, D. Dobkin, D. Joseph, and J. Soares. On sparse spanners of weighted graphs. Discrete & Computational Geometry, 9:81–100, 1993.

[Awe85]

B. Awerbuch. Complexity of network synchronization. Journal of the ACM, pages 32, 804–823, 1985.

[BCE03]

B. Bollob´ as, D. Coppersmith, and M. Elkin. Sparse distance preservers and additive spanners. Proc. 14th SODA, pages 414–423, 2003.

[BK06]

S. Baswana and T. Kavitha. Faster algorithms for approximate distance oracles and all-pairs small stretch paths. Proc. 47th FOCS, pages 591–602, 2006.

[BKMP05a] S. Baswana, T. Kavitha, K. Mehlhorn, and S. Pettie. Additive spanners and (α, β)-spanners. ACM Trans. Algo., 7:A.5, 2005. [BKMP05b] S. Baswana, T. Kavitha, K. Mehlhorn, and S. Pettie. New constructions of (α, β)-spanners and purely additive spanners. Proc. 16th SODA, pages 672– 681, 2005. [BS07]

S. Baswana and S. Sen. A simple and linear time randomized algorithm for computing sparse spanners in weighted graphs. Journal of Random Structures and Algorithms 30, pages 4, 532–563, 2007.

[BW15]

G. Bodwin and V. Vassilevska Williams. Very sparse additive spanners and emulators. Innovations in Theoretical Computer Science (ITCS), 2015.

[CE06]

D. Coppersmith and M. Elkin. Sparse sourcewise and pairwise distance preservers. SIAM Journal on Discrete Mathematics, pages 463–501, 2006.

[CGK13]

M. Cygan, F. Grandoni, and T. Kavitha. On pairwise spanners. Symposium on Theoretical Aspects of Computer Science (STACS), 2013.

[Che13]

Shiri Chechik. New additive spanners. SODA, pages 498–512, 2013.

[Cow01]

L. J. Cowen. Compact routing with minimum stretch. Journal of Algorithms, pages 28, 170–183, 2001.

[CW04]

L. J. Cowen and C. G. Wagner. Compact roundtrip routing in directed networks. Journal of Algorithms, pages 50, 1, 79–95, 2004.

[DHZ96]

Dorit Dor, Shay Halperin, and Uri Zwick. All pairs almost shortest paths. Proc. 37th FOCS, pages 452–461, 1996.

[Elk]

M. Elkin. Personal communication.

[Elk05]

M. Elkin. Computing almost shortest paths. ACM Trans. Algorithms, pages 1(2):283–323, 2005.

18

[Elk07]

M. Elkin. A near-optimal distributed fully dynamic algorithm for maintaining sparse spanners. Proc. 26th PODC, pages 185–194, 2007.

[EP04]

M. Elkin and D. Peleg. (1 + ǫ, β)-spanner constructions for general graphs. SIAM J. Comput., 33(3):608–631, 2004.

[Erd64]

P. Erd¨ os. Extremal problems in graph theory. Theory of graphs and its applications, pages 29–36, 1964.

[EZ06]

M. Elkin and J. Zhang. Efficient algorithms for constructing (1 + ǫ, β)-spanners in the distributed and streaming models. Distributed Compting 18, pages 5, 375–385, 2006.

[FPZW04]

A. M. Farley, A. Proskurowski, D. Zappala, and K. Windisch. Spanners and message distribution in networks. Discrete Applied Mathematics, pages 137(2):159–171, 2004.

[Kav15]

T. Kavitha. New pairwise spanners. Proc. 42nd ICALP, 2015.

[KV13]

T. Kavitha and N. Varma. Small stretch pairwise spanners. Proc. 40th ICALP, 2013.

[Par14]

M. Parter. Bypassing erd¨ os’ girth conjecture: Hybrid stretch and sourcewise spanners. Preprint, 2014.

[Pet07]

Seth Pettie. Low distortion spanners. Proc. 34th ICALP, pages 78–89, 2007.

[PU89a]

D. Peleg and J. D. Ullman. An optimal synchronizer for the hypercube. SIAM Journal of Computing, pages 18, 740–747, 1989.

[PU89b]

D. Peleg and E. Upfal. A trade-off between space and efficiency for routing tables. Journal of the ACM, pages 36(3):510–530, 1989.

[RTZ08]

L. Roditty, M. Thorup, and U. Zwick. Roundtrip spanners and roundtrip routing in directed graphs. ACM Trans. Algorithms, page 3(4): Article 29, 2008.

[ST04]

D. A. Spielman and S. H. Teng. Nearly-linear time algorithms for graph partitioning, graph sparsification, and solving linear systems. STOC, 2004.

[TZ01]

M. Thorup and U. Zwick. Compact routing schemes. Proc. 13th SPAA, pages 1–10, 2001.

[TZ05]

M. Thorup and U. Zwick. Approximate distance oracles. Journal of the ACM 52, pages 1, 1–24, 2005.

[TZ06]

M. Thorup and U. Zwick. Spanners and emulators with sublinear distance errors. Proc. 17th SODA, pages 802–809, 2006.

[Woo06]

D. P. Woodruff. Lower bounds for additive spanners, emulators, and more. Proc. 47th FOCS, pages 389–398, 2006.

[Woo10]

D. P. Woodruff. Additive spanners in nearly quadratic time. Proc. 37th ICALP, pages 463–474, 2010.

19