This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Light Euclidean Spanners with Steiner Points

Hung Le University of Victoria and University of Massachusetts Amherst Shay Solomon Tel Aviv University
Abstract

The FOCS’19 paper of Le and Solomon [62], culminating a long line of research on Euclidean spanners, proves that the lightness (normalized weight) of the greedy (1+ϵ)(1+\epsilon)-spanner in d\mathbb{R}^{d} is O~(ϵd)\tilde{O}(\epsilon^{-d}) for any d=O(1)d=O(1) and any ϵ=Ω(n1d1)\epsilon=\Omega(n^{-\frac{1}{d-1}}) (where O~\tilde{O} hides polylogarithmic factors of 1ϵ\frac{1}{\epsilon}), and also shows the existence of point sets in d\mathbb{R}^{d} for which any (1+ϵ)(1+\epsilon)-spanner must have lightness Ω(ϵd)\Omega(\epsilon^{-d}).111The lightness of a spanner is the ratio of its weight and the MST weight. Given this tight bound on the lightness, a natural arising question is whether a better lightness bound can be achieved using Steiner points.

Our first result is a construction of Steiner spanners in 2\mathbb{R}^{2} with lightness O(ϵ1logΔ)O(\epsilon^{-1}\log\Delta), where Δ\Delta is the spread of the point set.222The spread Δ=Δ(P)\Delta=\Delta(P) of a point set PP in d\mathbb{R}^{d} is the ratio of the largest to the smallest pairwise distance. In the regime of Δ21/ϵ\Delta\ll 2^{1/\epsilon}, this provides an improvement over the lightness bound of [62]; this regime of parameters is of practical interest, as point sets arising in real-life applications (e.g., for various random distributions) have polynomially bounded spread, while in spanner applications ϵ\epsilon often controls the precision, and it sometimes needs to be much smaller than O(1/logn)O(1/\log n). Moreover, for spread polynomially bounded in 1/ϵ1/\epsilon, this upper bound provides a quadratic improvement over the non-Steiner bound of [62], We then demonstrate that such a light spanner can be constructed in Oϵ(n)O_{\epsilon}(n) time for polynomially bounded spread, where OϵO_{\epsilon} hides a factor of poly(1ϵ)\mathrm{poly}(\frac{1}{\epsilon}). Finally, we extend the construction to higher dimensions, proving a lightness upper bound of O~(ϵ(d+1)/2+ϵ2logΔ)\tilde{O}(\epsilon^{-(d+1)/2}+\epsilon^{-2}\log\Delta) for any 3d=O(1)3\leq d=O(1) and any ϵ=Ω(n1d1)\epsilon=\Omega(n^{-\frac{1}{d-1}}).

1 Introduction

A tt-spanner for a set PP of points in the dd-dimensional Euclidean space d\mathbb{R}^{d} is a geometric graph that preserves all the pairwise Euclidean distances between points in PP to within a factor of tt, called the stretch factor; by geometric graph we mean a weighted graph in which the vertices correspond to points in d\mathbb{R}^{d} and the edge weights are the Euclidean distances between the corresponding points. The study of Euclidean spanners dates back to the seminal work of Chew [29, 30] from 1986, which presented a spanner with constant stretch and O(n)O(n) edges for any set of nn points in 2\mathbb{R}^{2}. In the three following decades, Euclidean spanners have evolved into an important subarea of Discrete and Computational Geometry, having found applications in many different areas, such as approximation algorithms [68], geometric distance oracles [45, 48, 47, 46], and network design [55, 63]; see the book by Narasimhan and Smid “Geometric Spanner Networks” [64] for an excellent account on Euclidean spanners and some of their applications. Numerous constructions of Euclidean spanners in two and higher dimensions were introduced over the years, such as Yao graphs [73], Θ\Theta-graphs [31, 57, 58, 69], the (path-)greedy spanner [4, 25, 64] and the gap-greedy spanner [70, 6]— unveiling an abundance of techniques, tools and insights along the way; refer to the book of [64] for more spanner constructions.

In addition to low stretch, many applications require that the spanner would be sparse, in the unweighted and/or weighted sense. The sparsity (respectively, lightness) of a spanner is the ratio of its size (respectively, weight) to the size (resp., weight) of a spanning tree (resp., MST), providing a normalized notion of size (resp., weight), which should ideally be O(1)O(1). For any dimension d=O(1)d=O(1), spanners with constant sparsity are known since the 80s [73, 31, 57, 58, 69, 4, 70, 6]; also, it is known since the early 90s that the greedy spanner has constant lightness [4]. The constant bounds on the sparsity and lightness depend on both ϵ\epsilon and dd. In some applications, ϵ\epsilon must be a very small sub-constant parameter, so as to achieve the highest possible precision and minimize potential errors, and in some situations ϵ\epsilon may be as small as ncn^{-c} for some constant 0<c<10<c<1. Consequently, besides the theoretical appeal, achieving the precise dependencies on ϵ\epsilon and dd in the sparsity and lightness bounds is of practical importance.

Culminating a long line of work, in FOCS’19 Le and Solomon [62] showed that the precise dependencies on ϵ\epsilon in the sparsity and lightness bounds are Θ(ϵ1d)\Theta(\epsilon^{1-d}) and Θ~(ϵd)\tilde{\Theta}(\epsilon^{-d}), respectively, for any d=O(1)d=O(1) and any ϵ=Ω(n1d1)\epsilon=\Omega(n^{-\frac{1}{d-1}}); throughout we shall use O~,Ω~,Θ~\tilde{O},\tilde{\Omega},\tilde{\Theta} to hide polylogarithmic factors of 1ϵ\frac{1}{\epsilon}. The lower bounds of [62] are proved for the dd-dimensional sphere, for d=O(1)d=O(1). On the upper bound side, sparsity O(ϵ1d)O(\epsilon^{1-d}) is achieved by a number of classic constructions such as Yao graphs [73], Θ\Theta-graphs [31, 57, 58, 69], the (path-)greedy spanner [4, 25, 64] and the gap-greedy spanner [70, 6], and the argument underlying all these upper bounds is basic and simple. On the other hand, constant lightness upper bound (regardless of the dependency on ϵ\epsilon and dd) is achieved only by the greedy algorithm [4, 33, 34, 68, 64, 44, 14, 62], and all known arguments for constant lightness are highly nontrivial, even for d=2d=2; in fact, the proofs in [4, 33, 34, 68] have missing details. The first complete proof was given in the book of [64], in a 60-page chapter, where it is shown that the greedy (1+ϵ)(1+\epsilon)-spanner has lightness O(ϵ2d)O(\epsilon^{-2d}), which improved the dependencies on ϵ\epsilon and dd given in all previous work. In SODA’19, Borradaile, Le and Wulff-Nilsen [14] presented a shorter and arguably simpler alternative proof that applies to the wider family of doubling metrics, which improves the ϵ\epsilon dependency provided in FOCS’15 by Gottlieb [44] for doubling metrics, but is inferior to the lightness bound of O(ϵ2d)O(\epsilon^{-2d}) by [64].333The doubling dimension of a metric space (X,δ)(X,\delta) is the smallest value dd such that every ball BB in the metric space can be covered by at most 2d2^{d} balls of half the radius of BB. This notion generalizes the Euclidean dimension, since the doubling dimension of the Euclidean space d\mathbb{R}^{d} is Θ(d)\Theta(d). A metric space is called doubling if its doubling dimension is constant. Finally, the lightness bound of O~(ϵd)\tilde{O}(\epsilon^{-d}) of [62] was proved via a tour-de-force argument; interestingly, the proof for d=2d=2 is much more intricate than for higher dimensions d3d\geq 3.

Le and Solomon [62] showed that, counter-intuitively, one can use Steiner points to bypass the sparsity lower bound of Euclidean spanners. Specifically, in this way they reduced the sparsity upper bound almost quadratically to O~(ϵ(1d)/2)\tilde{O}(\epsilon^{(1-d)/2}), and also provided a matching lower bound for d=2d=2. Their lower bound for sparsity is derived from a lightness lower bound; specifically, they first prove that, for a set of points evenly spaced on the boundary of the unit square, with distances Θ(ϵ)\Theta(\sqrt{\epsilon}) between neighboring points, any Steiner (1+ϵ)(1+\epsilon)-spanner must incur lightness Ω~(1ϵ)\tilde{\Omega}(\frac{1}{\epsilon}), and then they translated the lightness lower bound into a sparsity lower bound of Ω~(1/ϵ)\tilde{\Omega}(\sqrt{1/\epsilon}). Whether or not Steiner points can be used to reduce the lightness remained open in [62], but this should not come as a surprise.444The lightness of Steiner spanners can be defined with respect to the SMT (Steiner minimum tree) weight, but we can also stick to the original definition, since the SMT and MST weights differ by a constant factor smaller than 2. First, bounding the lightness of spanners is inherently more difficult than bounding their sparsity— this is true for both Euclidean spaces and doubling metrics, as well as other graph families including general weighted graphs [4, 33, 34, 68, 64, 44, 14, 62, 28, 42, 36]. Second, constructing Steiner trees and spanners with asymptotically improved bounds is inherently more difficult than constructing their non-Steiner counterparts [37, 38, 71, 60, 12, 61]. In our particular case, while the classic sparsity upper bound for non-Steiner Euclidean spanners is simple, its improved counterpart for Steiner spanners by [62] requires a number of nontrivial insights and is rather intricate. On the other hand, the lightness upper bound of [62] uses a tour-de-force argument, and as mentioned already this is true even for d=2d=2. Consequently, obtaining an improved lightness bound using Steiner points seems currently out of reach, at least until an inherently simpler proof to [62] for non-Steiner lightness is found (if one exists).

1.1 Our Contribution.

In this paper, we explore the power of Steiner points in reducing lightness for Euclidean spaces of bounded spread Δ\Delta.555The spread of a Euclidean space is the ratio of the maximum to minimum pairwise distances in it. Point sets of bounded spread have been studied extensively for Euclidean spanners and related geometric objects [9, 56, 32, 54, 18, 17, 39, 67, 1, 2, 5, 52, 53, 20, 65, 66, 19, 72, 23]. The motivation for studying point sets of bounded spread is three-fold.

  1. 1.

    Such point sets arise naturally in practice, and are thus important in their own right; indeed, for many random distributions, the spread is polynomial in the number of points— in expectation and with high probability. In particular, it is known that for nn-point sets drawn uniformly at random from the unit square, the expected spread is Θ(n)\Theta(n), and the expected spread in the unit dd-dimensional hypercube is n2/dn^{2/d} for any d=O(1)d=O(1). Researchers have studied random distributions of point sets, in part to explain the success of solving various geometric optimization problems in practice [9, 56, 32], and there are many results on spanners for random point sets [26, 7, 40, 10, 41, 15, 64, 72, 16, 23, 8, 59]. Of course, the family of bounded spread point sets is much wider than that of random point sets.

  2. 2.

    Euclidean spanners can be constructed in (deterministic) O(n)O(n) time in such point sets [21], while there is no o(nlogn)o(n\log n)-time algorithm for constructing Euclidean spanners in arbitrary point sets. (The result of [21] extends to other geometric objects, such as WSPD and compressed quadtrees, and some of the aforementioned references (e.g., [53, 18]) build on this result to achieve faster algorithms for other geometric problems for point sets of polynomially bounded spread.)

  3. 3.

    The case of bounded spread is sometimes used as a stepping stone towards the general case; see, e.g., [43, 50, 49, 23, 24, 3, 62].

As mentioned above, Le and Solomon [62] showed that for a set of points evenly spaced on the boundary of the unit square, with distances Θ(ϵ)\Theta(\sqrt{\epsilon}) between neighboring points, any Steiner (1+ϵ)(1+\epsilon)-spanner must incur lightness Ω~(1ϵ)\tilde{\Omega}(\frac{1}{\epsilon}). Note that the spread of this point set is 1ϵ\frac{1}{\sqrt{\epsilon}}. The non-Steiner upper bound for d=2d=2 by [62] is O~(ϵ2)\tilde{O}(\epsilon^{-2}). A natural arising question is whether one can improve the lightness upper bound of O~(ϵ2)\tilde{O}(\epsilon^{-2}) using Steiner points, ideally quaratically, for point sets of bounded spread. We answer this question in the affirmative.

Theorem 1.1.

Any point set PP in 2\mathbb{R}^{2} of spread Δ\Delta admits a Steiner (1+ϵ)(1+\epsilon)-spanner of lightness O(logΔϵ)O(\frac{\log\Delta}{\epsilon}).

Recalling that the lower bound of Ω~(1ϵ)\tilde{\Omega}(\frac{1}{\epsilon}) by [62] applies to a point set of spread 1ϵ\frac{1}{\sqrt{\epsilon}}, the lightness upper bound provided by Theorem 1.1 is therefore tight (up to polylogarithmic factors in 1ϵ\frac{1}{\epsilon}) for point sets of spread poly(1ϵ)\mathtt{\mathrm{poly}}(\frac{1}{\epsilon}). Moreover, this upper bound improves the general upper bound of O~(ϵ2)\tilde{O}(\epsilon^{-2}) from [62] in the regime logΔϵ1\log\Delta\ll\epsilon^{-1}, i.e., when Δ21/ϵ\Delta\ll 2^{1/\epsilon}. For spread polynomial in nn, we get an improvement over [62] as long as ϵ1logn\epsilon\ll\frac{1}{\log n}. Of course, the improvement gets more significant as ϵ\epsilon decays— in the most extreme situation ϵ\epsilon is inverse polynomial in nn, and then the improvement over [62] is polynomial in nn even when Δ\Delta is exponential in nn.

Our second result is that a Steiner spanner with near-optimal lightness can be constructed in linear time, when the spread Δ\Delta is polynomial in nn.

Theorem 1.2.

For any point set PP in 2\mathbb{R}^{2} of spread Δ=O(nc)\Delta=O(n^{c}), for any c=O(1)c=O(1), a Steiner (1+ϵ)(1+\epsilon)-spanner of lightness O(logΔϵ)O(\frac{\log\Delta}{\epsilon}) can be constructed in Oϵ(n)O_{\epsilon}(n) time, where Oϵ(.)O_{\epsilon}(.) hides a factor of poly(1ϵ)\mathrm{poly}(\frac{1}{\epsilon}).

Higher dimensions

The lower bound of [61] states that any (non-Steiner) (1+ϵ)(1+\epsilon)-spanner must incur lightness Ω(ϵd)\Omega(\epsilon^{-d}), for any d=O(1)d=O(1). We show that, similarly to the 2-dimensional case, one can improve the lightness almost quadratically using Steiner points, for point sets of bounded spread.

Theorem 1.3.

For any d3d\geq 3, any point set PP in d\mathbb{R}^{d} of spread Δ\Delta admits a Steiner (1+ϵ)(1+\epsilon)-spanner of lightness O~(ϵ(d+1)/2+ϵ2logΔ)\tilde{O}(\epsilon^{-(d+1)/2}+\epsilon^{-2}\log\Delta).

Interestingly, the dependence on the spread in the lightness bound provided by Theorem 1.3 does not grow with the dimension, hence the improvement over the non-Steiner bound gets more significant as the dimension grows, provided of course that the spread is not too large.

Follow-up Work

Recently Bhore and Tóth [11] proved a lightness lower bound Ω(ϵd/2)\Omega(\epsilon^{-d/2}) for Steiner spanners of a point set with spread poly(1ϵ)\mathrm{poly}(\frac{1}{\epsilon}) for any d2d\geq 2. Their lower bound for d=2d=2 improved the lower bound in Le and Solomon [62] by a factor of log(1ϵ)\log(\frac{1}{\epsilon}). This implies that our upper bound in Theorem 1.3 is almost tight (up to a factor of O~(ϵ1/2)\tilde{O}(\epsilon^{-1/2})) for point set with spread poly(1ϵ)\mathrm{poly}(\frac{1}{\epsilon}). On the positive side, using directional (1+ϵ)(1+\epsilon)-spanners, they showed that point set in 2\mathbb{R}^{2} admits a Steiner (1+ϵ)(1+\epsilon)-spanner with lightness O(ϵ1logn)O(\epsilon^{-1}\log n). This bound improved the lightness bound in Theorem 1.1 when the spread Δ\Delta is super-polynomial in nn.

We point in the proof overview below that using a standard technique [22, 35], we can easily construct a light Steiner (1+ϵ)(1+\epsilon)-spanner for nn-point sets in 2\mathbb{R}^{2} with lightness O(ϵlogn)O(\epsilon\log n). Using the same technique, the factor logΔ\log\Delta in Theorem 1.3 can be replaced by logn\log n.

1.2 Proof Overview

1.2.1 Proof of Theorem 1.1

We partition the set of pairs of points into m=O(logΔ)m=O(\log\Delta) subsets {𝒫1,,𝒫m}\{\mathcal{P}_{1},\ldots,\mathcal{P}_{m}\} where 𝒫i\mathcal{P}_{i} contains pairs of distances in [2i1,2i)[2^{i-1},2^{i}). The objective is to show that one can preserve distances between all pairs in 𝒫i\mathcal{P}_{i} to within a factor of (1+ϵ)(1+\epsilon) using a Steiner spanner SiS_{i} of weight O(w(𝖬𝖲𝖳)ϵ)O(\frac{w(\mathsf{MST})}{\epsilon}); by taking the union of all such spanners, we obtain a Steiner spanner with the required lightness.

Let Li=2iL_{i}=2^{i}. A natural idea to preserve distances in 𝒫i\mathcal{P}_{i} is to (a) find an (ϵLi)(\epsilon L_{i})-net NiN_{i}666A subset of points NPN\subseteq P is an rr-net if every point in PP is within distance rr from (or covered by) some point in NN and pairwise distances between points in NN are larger than rr. of PP and (b) add to the spanner edges between any two net points pp and qq such that (u,v)𝒫i(u,v)\in\mathcal{P}_{i} and there is a pair (u,v)(u,v) in 𝒫i\mathcal{P}_{i} such that uu and vv are covered by (i.e., within distance ϵLi\epsilon L_{i} from) pp and qq, respectively. The stretch will be in check because uu and vv are at distance roughly O(ϵ)||u,v||O(\epsilon)||u,v|| from their net points and thus, the additive stretch between uu and vv is O(ϵ)||u,v||O(\epsilon)||u,v||. For lightness, we can show that the number of net points |Ni|=O(w(𝖬𝖲𝖳)ϵLi)|N_{i}|=O(\frac{w(\mathsf{MST})}{\epsilon L_{i}}), and using a (nontrivial) packing argument, there are about Niϵ\frac{N_{i}}{\epsilon} edges of length O(Li)O(L_{i}) added in step (b). Thus, the total weight of the spanner is O(w(𝖬𝖲𝖳)ϵ2)O(\frac{w(\mathsf{MST})}{\epsilon^{2}}), which is bigger than our aimed lightness bound by a factor of 1ϵ\frac{1}{\epsilon}.

To shave the factor of 1ϵ\frac{1}{\epsilon}, we employ two ideas. First, we take NiN_{i} to be a ϵLi\sqrt{\epsilon}L_{i}-net of PP. In this way |Ni|=O(w(𝖬𝖲𝖳)ϵ)|N_{i}|=O(\frac{w(\mathsf{MST})}{\sqrt{\epsilon}}). By applying the 2-dimensional Steiner spanner construction of [62] as a blackbox, we obtain a Steiner spanner with only |Ni|ϵ\frac{|N_{i}|}{\sqrt{\epsilon}} edges of length O(Li)O(L_{i}) that approximates distances between points in NiN_{i}; we have thus reduced the weight bound to O(w(𝖬𝖲𝖳)ϵ)O(\frac{w(\mathsf{MST})}{\epsilon}), as required. The problem now is with the stretch guarantee: Preserving distances between the points in NiN_{i} is no longer sufficient. Indeed, for every pair (u,v)𝒫i(u,v)\in\mathcal{P}_{i}, the distance between uu and vv to the nearest net points is O(ϵ)||u,v||O(\sqrt{\epsilon})||u,v||, hence the resulting stretch is (1+O(ϵ))||u,v||(1+O(\sqrt{\epsilon}))||u,v||. We overcome this hurdle by introducing a novel construction of single-source spanners, which generalize Steiner shallow-light trees of Solomon [71]. Specifically, we open the black-box of [62] and observe that every time we want to preserve the distance from (some) Steiner point ss to a net-point pNip\in N_{i}, instead of connecting ss to pp by a straight line of weight O(Li)O(L_{i}), we can use a single-source spanner (rooted at ss) of weight O(Li)O(L_{i}) to preserve distances (up to a (1+ϵ)(1+\epsilon) factor) from ss to every point within distances O(ϵLi)O(\sqrt{\epsilon}L_{i}) from pp. As a result, our Steiner spanner can preserve distances between any two points (u,v)𝒫i(u,v)\in\mathcal{P}_{i} to within a factor of (1+ϵ)(1+\epsilon), where uB(p,O(ϵLi))u\in B(p,O(\sqrt{\epsilon}L_{i})), vB(q,O(ϵLi))v\in B(q,O(\sqrt{\epsilon}L_{i})), and p,qp,q are their nearest net points.

Replacing logΔ\log\Delta by logn\log n

A factor log(Δ)\log(\Delta) incurred in the lightness bound of Theorem 1.1 is because we have m=O(logΔ)m=O(\log\Delta) subsets {𝒫1,,𝒫m}\{\mathcal{P}_{1},\ldots,\mathcal{P}_{m}\}. To reduce mm to O(logn)O(\log n), we observe that Δw(𝖬𝖲𝖳)\Delta\leq w(\mathsf{MST}) and that we can take every edge of weight at most w(𝖬𝖲𝖳)n2\frac{w(\mathsf{MST})}{n^{2}} to the spanner since all such edges have total weight at most O(w(𝖬𝖲𝖳))O(w(\mathsf{MST})). Thus, the pairs of interest now have weights in the range (w(𝖬𝖲𝖳)n2,w(𝖬𝖲𝖳)](\frac{w(\mathsf{MST})}{n^{2}},w(\mathsf{MST})] and hence we set m=logn2=O(logn)m=\log n^{2}=O(\log n).

1.2.2 Proof of Theorem 1.3

By extending the construction in Theorem 1.1, we can construct a Steiner spanner with lightness O~(ϵ(d+1)/2logΔ)\tilde{O}(\epsilon^{-(d+1)/2}\log\Delta) as follows: for each 𝒫i\mathcal{P}_{i}, we construct an ϵLi\epsilon L_{i}-net NiN_{i} and then apply the construction of [62] as a black box to obtain a Steiner spanner SiS_{i} for NiN_{i} with weight O~(ϵ(d1)/2|Ni|Li)\tilde{O}(\epsilon^{-(d-1)/2}|N_{i}|L_{i}). The stretch will be in check since NiN_{i} is an ϵLi\epsilon L_{i}-net. Since |Ni|=O(w(𝖬𝖲𝖳)ϵLi)|N_{i}|=O(\frac{w(\mathsf{MST})}{\epsilon L_{i}}), w(Si)=O~(ϵ(d+1)/2w(𝖬𝖲𝖳))w(S_{i})=\tilde{O}(\epsilon^{-(d+1)/2}w(\mathsf{MST})). The union of Steiner spanners SiS_{i} for all i[1,m]i\in[1,m] has weight O~(ϵ(d+1)/2logΔ)w(𝖬𝖲𝖳)\tilde{O}(\epsilon^{-(d+1)/2}\log\Delta)w(\mathsf{MST}). Note when d3d\geq 3, we can not take NiN_{i} as a ϵLi\sqrt{\epsilon}L_{i}-net since the construction of single-source spanners with O(Li)O(L_{i}) weight in the proof of Theorem 1.1 only works when d=2d=2.

Most of our effort is to further refine the result in a way that logΔ\log\Delta term is multiplied only by ϵ2\epsilon^{-2} and not by the term that depends on dd. We first reduce to the problem of approximating distances between pairs (of endpoints) in a family of edge sets ={E1,,Em}\mathcal{E}=\{E_{1},\ldots,E_{m}\} with m=O(logΔ)m=O(\log\Delta), where edges of EiE_{i} have length (roughly) in the interval (12ϵi,1ϵi](\frac{1}{2\epsilon^{i}},\frac{1}{\epsilon^{i}}] and edges in E1E_{1} have length in [1,1ϵ)[1,\frac{1}{\epsilon}). Let Li=1ϵiL_{i}=\frac{1}{\epsilon^{i}} . For a technical reason, we will subdivide edges of 𝖬𝖲𝖳\mathsf{MST} by using a set of Steiner points KK so that each new edge has length in (1/2,1](1/2,1].

We construct a Steiner spanner for edges in \mathcal{E} using a charging cover tree TT: TT has depth m+1m+1, level ii of TT is associated with an ϵLi\epsilon L_{i}-cover777A subset of points NPN\subseteq P is an rr-cover if every point in PP is within distance rr from some point in NN. of PKP\cup K, and leaves (at level 0) of TT are points in PKP\cup K. For each cover NiN_{i} at level ii of TT, we construct a graph HiH_{i} where V(Hi)=NiV(H_{i})=N_{i} and there is an edge (u,v)(u,v) between u,vNiu,v\in N_{i} if there is a corresponding edge in EiE_{i} whose endpoints are covered by uu and vv, respectively. Graph HiH_{i} is used to distinguish between low degree points, whose degree in HiH_{i} is O(1ϵ)O(\frac{1}{\epsilon}), and high degree points, whose degree in HiH_{i} is Ω(1ϵ)\Omega(\frac{1}{\epsilon}). TT will have two charging properties: (1) every point pNip\in N_{i} has at least ϵLi\epsilon L_{i} uncharged descendants and (2) at every level ii, one can charge up to ϵLi2\frac{\epsilon L_{i}}{2} uncharged descendants of high degree points. Note that, once an uncharged point is charged at level ii, it will be marked as charged at higher levels; initially at level 0, every point is uncharged.

We then use a charging cover tree TT to guide the Steiner spanner construction. Specifically, at level ii, we add all edges incident to low degree points to the spanner and we can show that the total weight of all these edges over all levels is at most O(w(𝖬𝖲𝖳)logΔϵ2)O(\frac{w(\mathsf{MST})\log\Delta}{\epsilon^{2}}). For high degree points, we apply the construction of Le and Solomon [62] to obtain a Steiner spanner SiS_{i}, and we charge the weight of SiS_{i} to Liϵ2\frac{L_{i}\epsilon}{2} uncharged descendants of each high degree point. This charging is possible by the charging property (2) of TT. We then show that each point in KPK\cup P is charged a weight at most O~(ϵ(d+1)/2)\tilde{O}(\epsilon^{-(d+1)/2}). Thus, the total weight of the Steiner spanners (for high degree points) at all levels is O~(ϵ(d+1)/2)w(𝖬𝖲𝖳)\tilde{O}(\epsilon^{-(d+1)/2})w(\mathsf{MST}).

Our construction of a charging cover tree is inspired by the construction of a hierarchy of clusters in the iterative clustering technique. The technique was initially developed by Chechick and Wulff-Nilsen [27] to construct light spanners for general graphs, and then was adapted to many other different settings [27, 13, 14, 62, 61]. Our construction is directly inspired by the construction of Borradaile et al. [14] in the doubling dimension setting. However, our construction is much simpler. Specifically, we are able to decouple the Steiner spanner construction from the charging cover tree construction. We refer readers to Section 5 for more details.

Replacing logΔ\log\Delta by logn\log n

Using the same technique pointed in the previous section, by taking every edge of weight at most w(𝖬𝖲𝖳)n2\frac{w(\mathsf{MST})}{n^{2}} to the spanner, we are left with pairs of weights in range (w(𝖬𝖲𝖳)n2,w(𝖬𝖲𝖳)](\frac{w(\mathsf{MST})}{n^{2}},w(\mathsf{MST})]. Thus, we can set m=logn2=O(logn)m=\log n^{2}=O(\log n) instead of O(log(Δ))O(\log(\Delta)).

2 Preliminaries

Let PP be a point set of nn points in d\mathbb{R}^{d}. We denote by ||p,q||||p,q|| the Euclidean distance between two points p,qdp,q\in\mathbb{R}^{d}. Let B(p,r)={xd,||p,x||r}B(p,r)=\{x\in\mathbb{R}^{d},||p,x||\leq r\} be the ball of radius rr centered at pp. Given a point pp and a set of point QQ on the plane, we define the distance between pp and QQ, denoted by d(p,Q)d(p,Q), to be infxQ||p,x||\inf_{x\in Q}||p,x||.

An rr-cover of PP is a subset of points NPN\subseteq P such that for every point xPx\in P, there is at least one point pNp\in N such that ||p,x||r||p,x||\leq r; we say xx is covered by pp. When the value of rr is clear from the context, we simply call NN a cover of PP. A subset of point NPN\subseteq P is called an rr-net if NN is an rr-cover of PP and also an rr-packing of PP, i.e., for every two points pqNp\not=q\in N, ||p,q||>r||p,q||>r.

Let GG be a graph with weight function ww on the edges. We denote the vertex set and edge set of GG by V(G)V(G) and E(G)E(G), respectively. Let dG(p,q)d_{G}(p,q) be the distance between two vertices p,qp,q of GG. We denote by G[X]G[X] the subgraph induced by a subset of vertices XX.

GG is geometric in d\mathbb{R}^{d} if each vertex of GG corresponds to a point pdp\in\mathbb{R}^{d} and for every edge (p,q)(p,q), w(p,q)=||p,q||w(p,q)=||p,q||. In this case, we use points to refer to vertices of GG. We say that a geometric graph GG is a (1+ϵ)(1+\epsilon)-spanner of PP if V(G)=PV(G)=P and for every two points pqPp\not=q\in P, dG(p,q)(1+ϵ)||p,q||d_{G}(p,q)\leq(1+\epsilon)||p,q||. We say that GG is a Steiner (1+ϵ)(1+\epsilon)-spanner for PP if PV(G)P\subseteq V(G) and for every two points pqPp\not=q\in P, dG(p,q)(1+ϵ)||p,q||d_{G}(p,q)\leq(1+\epsilon)||p,q||. Points in V(G)PV(G)\setminus P are called Steiner points. Note that distances between Steiner points may not be preserved in a Steiner (1+ϵ)(1+\epsilon)-spanner.

3 Steiner Spanners on the Plane

We focus on constructing a Steiner spanner with good lightness; the fast construction is in Section 4. We will use the following geometric Steiner shallow-light tree (SLT) construction by Solomon [71].

Lemma 3.1.

Let LL be a line segment of length ϵ\sqrt{\epsilon} and pp be a point on the plane such that d(p,L)=1d(p,L)=1. For any point set XLX\in L, there is a geometric graph HH of weight Θ(1)\Theta(1) such that dH(p,x)(1+ϵ)||p,x||d_{H}(p,x)\leq(1+\epsilon)||p,x|| for any point xXx\in X.

We will use single-source spanners (defined below) as a black box in our construction.

Definition 3.2 (Single-source spanners).

Given a point pp (source), a set of points XX on the plane and a connected geometric graph SXS_{X} spanning XX, a single source (1+ϵ)(1+\epsilon)-spanner w.r.t. (p,X,SX)(p,X,S_{X}) is a graph HH such that for every xXx\in X: ||p,x||dHSX(p,x)(1+ϵ)||p,x||||p,x||\leq d_{H\cup S_{X}}(p,x)\leq(1+\epsilon)||p,x||.

Our starting point is the construction of a single source spanner from a point pp to point set XX enclosed in a circle CC of radius ϵ\sqrt{\epsilon} such that d(p,C)=1d(p,C)=1. We show that, if SXS_{X} approximately preserves the distances between pairs of points in XX up to a (1+gϵ)(1+g\epsilon) factor for any constant gg, it is possible to construct a single-source spanner with weight O(1)O(1). It is not so hard to see that if Steiner points are not allowed, a lower bound of weight Ω(1ϵ)\Omega(\frac{1}{\sqrt{\epsilon}}) holds here.

Lemma 3.3.

Let XX be a set of points in a circle CC of radius ϵ\sqrt{\epsilon} on the plane and a point pp of distance 11 from CC. Let SXS_{X} be a (1+gϵ)(1+g\epsilon)-spanner of XX for any constant gg. Then there is a single-source (1+13ϵ)(1+13\epsilon)-spanner HH w.r.t. (p,X,SX)(p,X,S_{X}) of weight O(1)O(1) when g1ϵg\ll\frac{1}{\epsilon}.

Proof:  Let cc be a center of CC. W.l.o.g, we assume that pcpc is parallel to yy-axis. Let QQ be the axis-aligned smallest square bounding CC. Observe that the side length of QQ is at mos 2ϵ2\sqrt{\epsilon}. Place a 2ϵ×2ϵ\frac{2}{\sqrt{\epsilon}}\times\frac{2}{\sqrt{\epsilon}} grid WW on QQ, so that every cell of WW is a square of side length ϵ\epsilon. Observe that:

w(W)ϵ4ϵ=O(1)w(W)\leq\epsilon\cdot\frac{4}{\epsilon}=O(1)

We extend WW to W1W_{1} by connecting an (arbitrary) corner of each grid cell to an arbitrary point of XX in the cell. Observe that: w(W1)=O(W)=O(1)w(W_{1})=O(W)=O(1). Let PP be the set of grid points on the side, say LL, of QQ that is closer to pp (than the opposite side). We apply the construction in Lemma 3.1 to pp and LL to obtain a geometric graph KK. Let H=W1KH=W_{1}\cup K. Since w(K)=O(1)w(K)=O(1) by Lemma 3.1, it holds that w(H)=O(1)w(H)=O(1).

It remains to show the stretch bound. Let xx be any point of XX and vv be the point in the same cell with xx that is connected to a corner, say zz of grid WW. We will show below that:

dWK(z,p)(1+3ϵ)||p,z||d_{W\cup K}(z,p)\leq(1+3\epsilon)||p,z|| (1)

If Equation 1 holds, it would imply:

dSXH(x,p)dSX(x,v)+dH(v,p)(1+gϵ)2ϵ+dH(v,p)(1+gϵ)2ϵ+dH(z,v)+dH(z,p)g1/ϵ22ϵ+2ϵ+dWK(z,p)Eq. 1(1+3ϵ)||p,z||+32ϵ||x,z||2ϵ(1+3ϵ)(||p,x||+2ϵ)+32ϵ(1+3ϵ)||p,x||+72ϵ(1+13ϵ)||p,x||since ||p,x||1\begin{split}d_{S_{X}\cup H}(x,p)&\leq d_{S_{X}}(x,v)+d_{H}(v,p)\leq(1+g\epsilon)\sqrt{2}\epsilon+d_{H}(v,p)\\ &\leq(1+g\epsilon)\sqrt{2}\epsilon+d_{H}(z,v)+d_{H}(z,p)\overset{g\ll 1/\epsilon}{\leq}2\sqrt{2}\epsilon+\sqrt{2}\epsilon+d_{W\cup K}(z,p)\\ &\overset{\text{Eq.\leavevmode\nobreak\ \ref{eq:gridpoint-stretch}}}{\leq}(1+3\epsilon)||p,z||+3\sqrt{2}\epsilon\overset{||x,z||\leq\sqrt{2}\epsilon}{\leq}(1+3\epsilon)(||p,x||+\sqrt{2}\epsilon)+3\sqrt{2}\epsilon\\ &\leq(1+3\epsilon)||p,x||+7\sqrt{2}\epsilon\leq(1+13\epsilon)||p,x||\qquad\mbox{since }||p,x||\geq 1\end{split}

Thus, it remains to prove Equation 1. To this end, let yy be the projection of zz on LL. (Point yy is also a grid point; see Figure 1) Let y,zy^{\prime},z^{\prime} be projections of yy and zz on the line containing pcpc, respectively. Let uu be the intersection of pzpz and yyyy^{\prime}. Observe that ||p,y||(1+ϵ)(1+ϵ)||p,u||||p,y||\leq(1+\epsilon)\leq(1+\epsilon)||p,u||. Thus,

||p,y||+||y,z||(1+ϵ)||p,u||+||y,z||(1+ϵ)||p,u||+||u,z||(1+ϵ)||p,z||||p,y||+||y,z||\leavevmode\nobreak\ \leq\leavevmode\nobreak\ (1+\epsilon)||p,u||+||y,z||\leq(1+\epsilon)||p,u||+||u,z||\leq(1+\epsilon)||p,z|| (2)

Since dW(z,y)=||z,y||d_{W}(z,y)=||z,y|| and dK(y,p)=(1+ϵ)||p,y||d_{K}(y,p)=(1+\epsilon)||p,y|| by Lemma 3.1, we have:

dWK(z,p)(1+ϵ)(||z,y||+||p,y||)Eq.2(1+ϵ)(1+ϵ)||p,z||(1+3ϵ)||p,z||d_{W\cup K}(z,p)\leavevmode\nobreak\ \leq\leavevmode\nobreak\ (1+\epsilon)(||z,y||+||p,y||)\leavevmode\nobreak\ \overset{Eq.\leavevmode\nobreak\ \ref{eq:pyz-vs-pz}}{\leq}\leavevmode\nobreak\ (1+\epsilon)(1+\epsilon)||p,z||\leavevmode\nobreak\ \leq\leavevmode\nobreak\ (1+3\epsilon)||p,z|| (3)

which implies Equation 1.

r Refer to caption

Figure 1: (Left) A single source spanner from pp to a set of points enclosed by a circle of radius ϵ\sqrt{\epsilon}. One point in each non-empty cell is connected to a corner by a thick edge. (Right) An illustration for analyzing the stretch of pzpz.

We obtain the following corollary of Lemma 3.3.

Corollary 3.4.

Let XX be a set of points in a circle CC of radius ϵL\sqrt{\epsilon}L on the plane and a point pp of distance L/hL/h from CC for some constant h1h\geq 1. Let SXS_{X} be a (1+gϵ)(1+g\epsilon)-spanner of XX for any constant gg. Then there is a single-source (1+13ϵ)(1+13\epsilon)-spanner HH w.r.t. (p,X,SX)(p,X,S_{X}) of weight O(hL)O(hL) when g1ϵg\ll\frac{1}{\epsilon}.

Proof:  We scale the space by L/hL/h. In the scaled space, CC has radius hϵh\sqrt{\epsilon} and d(p,C)=1d(p,C)=1. Let C1,C2,,CmC_{1},C_{2},\ldots,C_{m}, where m=O(h2)m=O(h^{2}), be circles of radius ϵ\sqrt{\epsilon} covering CC; such a set of circles can be constructed greedily. We apply Lemma 3.3 to pp and each CiC_{i} to construct a single-source (1+13ϵ)(1+13\epsilon)-spanner HiH_{i} from pp to each CiC_{i}. The final spanner is H=i=1mHiH=\cup_{i=1}^{m}H_{i} that has total weight O(h2)O(h^{2}) in the scaled metric. Thus, in the original metric, w(H)=O(h2L/h)=O(hL)w(H)=O(h^{2}L/h)=O(hL). We are now ready to prove Theorem 1.1.

Proof: [Proof of Theorem 1.1] Assume that the minimum pairwise distance is 11. Let 𝒫=(P2)\mathcal{P}={P\choose 2} be all pairs of points. Partition 𝒫\mathcal{P} into O(logΔ)O(\log\Delta) sets 𝒫1,𝒫2,,𝒫logΔ\mathcal{P}_{1},\mathcal{P}_{2},\ldots,\mathcal{P}_{\lceil\log\Delta\rceil} where 𝒫i\mathcal{P}_{i} is the set of pairs (x,y)(x,y) such that ||x,y||[2i1,2i)||x,y||\in[2^{i-1},2^{i}).

For a fixed ii, we claim that there is a geometric graph HiH_{i} such that for every two distinct points (x,y)𝒫i(x,y)\in\mathcal{P}_{i}, dH1Hi(x,y)(1+ϵ)||x,y||d_{H_{1}\cup\ldots\cup H_{i}}(x,y)\leq(1+\epsilon)||x,y|| and that w(Hi)=O(1ϵ)w(𝖬𝖲𝖳)w(H_{i})=O(\frac{1}{\epsilon})w(\mathsf{MST}). Thus, H1HlogΔH_{1}\cup\ldots\cup H_{\lceil\log\Delta\rceil} is a Steiner spanner with weight O(logΔϵ)w(𝖬𝖲𝖳)O(\frac{\log\Delta}{\epsilon})w(\mathsf{MST}).

We now focus on constructing HiH_{i}. Let Si1=H1H2Hi1S_{i-1}=H_{1}\cup H_{2}\ldots\cup H_{i-1}. We will construct a spanner with stretch (1+cϵ)(1+c\epsilon) for some constant cc. By induction, we can assume that:

dSi1(p,q)(1+cϵ)||p,q||d_{S_{i-1}}(p,q)\leq(1+c\epsilon)||p,q|| (4)

for any pair (p,q)𝒫1𝒫i1(p,q)\in\mathcal{P}_{1}\cup\ldots\cup\mathcal{P}_{i-1}.

Let Li=2iL_{i}=2^{i} and NiN_{i} be a (ϵLi)(\sqrt{\epsilon}L_{i})-net of PP. For each point xx, let Ni(x)N_{i}(x) be the net point that covers xx: the distance from xx to Ni(x)N_{i}(x) is at most ϵLi\sqrt{\epsilon}L_{i}.

Claim 3.5.

|Ni|=O(w(𝖬𝖲𝖳)Liϵ)|N_{i}|=O(\frac{w(\mathsf{MST})}{L_{i}\sqrt{\epsilon}}).

Proof:  Consider the circle B(p,ϵLi)B(p,\sqrt{\epsilon}L_{i}) centered at pp; B(p,ϵLi)B(p,\sqrt{\epsilon}L_{i}) contains a segment of length Ω(ϵLi)\Omega(\sqrt{\epsilon}L_{i}) of the MST, which is not contained in any other circle. Thus, the claim holds.

Next, we consider the smallest axis-aligned square QQ bounding the point set. In the following, we divide QQ into a set of (overlapping) sub-squares \mathcal{B} of side length Θ(Li)\Theta(L_{i}) each. This way, for any pair (x,y)𝒫i(x,y)\in\mathcal{P}_{i} (of distance at most LiL_{i}), there is a sub-square entirely containing Ni(x),Ni(y)N_{i}(x),N_{i}(y), and the balls of radius O(ϵLi)O(\sqrt{\epsilon}L_{i}) around the two net points.

Constructing \mathcal{B} We first divide QQ into subsquares of side length 5Li5L_{i} each888We assume that the side length of QQ is divisible by 5Li5L_{i}; otherwise, we can extend QQ in such a way.. For each subsquare BB, we extend its borders equally to four directions by an amount of 2Li2L_{i} in each direction. After this extension, BB has side length 9Li9L_{i}.

Refer to caption
Figure 2: (a) Square BB is divided into O(1)O(1) horizontal and vertical bands of width Li/8L_{i}/8 each. (b) The Steiner spanner construction for two non-adjacent horizontal bands HaH_{a} and HbH_{b}. The dashed cone represents a single-source spanner from rr to circle B(p,ϵLi)B(p,\sqrt{\epsilon}L_{i}).
Claim 3.6.

Every point in QQ belongs to at most 44 subsquares in \mathcal{B}. Furthermore, for each pair (x,y)𝒫i(x,y)\in\mathcal{P}_{i}, there is a subsquare BB\in\mathcal{B} such that B(Ni(x),εLi),B(Ni(y),εLi)B(N_{i}(x),\sqrt{\varepsilon}L_{i}),B(N_{i}(y),\sqrt{\varepsilon}L_{i}) are entirely contained in BB.

Proof:  Let BB be a subsquare in \mathcal{B} containing one of the endpoints of (x,y)(x,y), say xx, before extension. Then, after extension, BB will contain both x,yx,y since ||x,y||Li||x,y||\leq L_{i}, and furthermore, xx and yy are at least LiL_{i} away from the boundary since we extended BB by 2Li2L_{i} in each direction. Thus, points in B(Ni(x),εLi)B(N_{i}(x),\sqrt{\varepsilon}L_{i}) (B(Ni(y),εLi)B(N_{i}(y),\sqrt{\varepsilon}L_{i})) will be at most 2ϵLi<Li2\sqrt{\epsilon}L_{i}<L_{i} from xx (yy) when ϵ1\epsilon\ll 1.

Consider a subsquare BB\in\mathcal{B}. Let NB=NiBN_{B}=N_{i}\cap B. By abusing notation, we denote by 𝒫iB\mathcal{P}_{i}\cap B all the pairs in BB of 𝒫i\mathcal{P}_{i}. We will show that:

Claim 3.7.

There is a Steiner spanner SBS_{B} of weight at most O(|NB|Li/ϵ)O(|N_{B}|L_{i}/\sqrt{\epsilon}) such that for any pair of points (x,y)𝒫iB(x,y)\in\mathcal{P}_{i}\cap B, it holds that:

dSBSi1(x,y)(1+cϵ)||x,y||d_{S_{B}\cup S_{i-1}}(x,y)\leq(1+c\epsilon)||x,y||

for some big enough constant cc.

Proof:  We divide BB into O(1)O(1) horizontal (vertical) bands of length (width) Li/8L_{i}/8 so that for any two points x,y𝒫iBx,y\in\mathcal{P}_{i}\cap B, Ni(x)N_{i}(x) and Ni(y)N_{i}(y) are in two non-adjacent horizontal bands and/or vertical bands (see Figure 2). These bands exist since

||Ni(x),Ni(y)||||x,y||2ϵLiLi/22ϵLiLi/4||N_{i}(x),N_{i}(y)||\leavevmode\nobreak\ \geq\leavevmode\nobreak\ ||x,y||-2\sqrt{\epsilon}L_{i}\leavevmode\nobreak\ \geq\leavevmode\nobreak\ L_{i}/2-2\sqrt{\epsilon}L_{i}\leavevmode\nobreak\ \geq\leavevmode\nobreak\ L_{i}/4

Now for each pair of non-adjacent horizontal bands HaH_{a} and HbH_{b}, d(Ha,Hb)Li8d(H_{a},H_{b})\geq\frac{L_{i}}{8}. Draw a bisecting segment (touching two sides of BB) between HaH_{a} and HbH_{b} and place O(1ϵ)O(\frac{1}{\sqrt{\epsilon}}) equally-spaced Steiner points, say RR, on the bisecting line in a way that the distance between any two nearby Steiner points is LiϵL_{i}\sqrt{\epsilon} (see Figure 2(a)). For each point rRr\in R, and each net point piNB(HaHb)p_{i}\in N_{B}\cap(H_{a}\cup H_{b}), we apply the construction of Corollary 3.4 to rr, the set of endpoints of 𝒫i\mathcal{P}_{i} inclosed in circle B(pi,ϵLi)B(p_{i},\sqrt{\epsilon}L_{i}) and Si1S_{i-1}; let Sa,b(pi)S_{a,b}(p_{i}) be the obtained geometric graph (see Figure 2(b)). Note that d(r,B(pi,ϵLi))=Ω(Li)d(r,B(p_{i},\sqrt{\epsilon}L_{i}))=\Omega(L_{i}). Thus, by Corollary 3.4, w(Sa,b(pi))=O(Li)w(S_{a,b}(p_{i}))=O(L_{i}) and that:

dSi1Sa,b(pi)(r,q)(1+13ϵ)||r,q||d_{S_{i-1}\cup S_{a,b}(p_{i})}(r,q)\leq(1+13\epsilon)||r,q|| (5)

for any qB(pi,ϵLi)Pq\in B(p_{i},\sqrt{\epsilon}L_{i})\cap P. Let Sa,b(r)=piNB(HaHb)Sa,b(pi)S_{a,b}(r)=\cup_{p_{i}\in N_{B}\cap(H_{a}\cup H_{b})}S_{a,b}(p_{i}). It holds that

w(Sa,b(r))O(Li)|NB(HaHb)|.w(S_{a,b}(r))\leq O(L_{i})|N_{B}\cap(H_{a}\cup H_{b})|.

Let Sa,b=rRSa,b(r)S_{a,b}=\cup_{r\in R}S_{a,b}(r). Then, we have:

w(Sa,b)O(Li|R||NB(HaHb)|)=O(Liϵ|NB(HaHb)|)w(S_{a,b})\leq O(L_{i}\cdot|R|\cdot|N_{B}\cap(H_{a}\cup H_{b})|)=O(\frac{L_{i}}{\sqrt{\epsilon}}|N_{B}\cap(H_{a}\cup H_{b})|) (6)

We apply the same construction for every pair of non-adjacent vertical bands. We then let SBS_{B} be the union of all Sa,bS_{a,b} for every pair of non-adjacent horizontal/vertical bands Ha,HbH_{a},H_{b}. It holds that:

w(SB)=O(Li|R||NB|)=O(Li|NB|ϵ)w(S_{B})=O(L_{i}\cdot|R|\cdot|N_{B}|)=O(\frac{L_{i}|N_{B}|}{\sqrt{\epsilon}}) (7)

since there are only O(1)O(1) pairs of bands. To bound the stretch, let (x,y)(x,y) be a pair in 𝒫i\mathcal{P}_{i} whose endpoints are in BB. W.l.o.g, assume that Ha,HbH_{a},H_{b} are two non-adjacent horizontal bands that contain Ni(x)N_{i}(x) and Ni(y)N_{i}(y), respectively. Let vv be the intersection of segment xyxy and the bisecting line LL of Ha,HbH_{a},H_{b} (see Figure 2(b)). Let rRr\in R be the closest Steiner point to vv in LL and zz be the projection of rr on xyxy. Observe that ||z,x||,||z,y||Li16||z,v||Li/16ϵLiLi/32||z,x||,||z,y||\geq\frac{L_{i}}{16}-||z,v||\geq L_{i}/16-\sqrt{\epsilon}L_{i}\geq L_{i}/32 when ϵ1\epsilon\ll 1. We have:

||r,x||+||r,y||=||x,z||2+||r,z||2+||y,z||2+||r,z||2||x,z||1+ϵLi2||x,z||2+||y,z||1+ϵLi2||y,z||2since ||r,z||ϵLi||x,z||1+1024ϵ+||y,z||1+1024ϵsince ||x,z||,||y,z||Li/32||x,z||(1+512ϵ)+||y,z||(1+512ϵ)=(1+512ϵ)||x,y||\begin{split}||r,x||+||r,y||&=\sqrt{||x,z||^{2}+||r,z||^{2}}+\sqrt{||y,z||^{2}+||r,z||^{2}}\\ &\leq||x,z||\sqrt{1+\frac{\epsilon L^{2}_{i}}{||x,z||^{2}}}+||y,z||\sqrt{1+\frac{\epsilon L_{i}^{2}}{||y,z||^{2}}}\qquad\mbox{since }||r,z||\leq\sqrt{\epsilon}L_{i}\\ &\leq||x,z||\sqrt{1+1024\epsilon}+||y,z||\sqrt{1+1024\epsilon}\qquad\mbox{since }||x,z||,||y,z||\geq L_{i}/32\\ &\leq||x,z||(1+512\epsilon)+||y,z||(1+512\epsilon)=(1+512\epsilon)||x,y||\end{split}

Thus, by Equation 5, we have:

dSBSi1(x,y)(1+13ϵ)(||r,x||+||r,y||)=(1+13ϵ)(1+512ϵ)||x,y||=(1+O(ϵ))||x,y||d_{S_{B}\cup S_{i-1}}(x,y)\leq(1+13\epsilon)(||r,x||+||r,y||)=(1+13\epsilon)(1+512\epsilon)||x,y||=(1+O(\epsilon))||x,y||

Thus, the stretch is (1+cϵ)(1+c\epsilon) for a sufficiently big constant cc.

Let Hi=BSBH_{i}=\cup_{B\in\mathcal{B}}S_{B}. Since each net point belongs to at most 44 subsquares in \mathcal{B} by Claim 3.6, and w(Hi)O(|Ni|Liϵ)w(H_{i})\leq O(\frac{|N_{i}|L_{i}}{\sqrt{\epsilon}}) by Claim 3.7, it holds that:

w(Hi)=O(Liϵw(𝖬𝖲𝖳)Liϵ)=O(w(𝖬𝖲𝖳)ϵ)w(H_{i})=O(\frac{L_{i}}{\sqrt{\epsilon}}\frac{w(\mathsf{MST})}{L_{i}\sqrt{\epsilon}})=O(\frac{w(\mathsf{MST})}{\epsilon}) (8)

by Claim 3.5 as desired.

4 A Linear Time Construction

In this section, we assume that Δ=O(nc)\Delta=O(n^{c}) for some constant cc, and ϵ\epsilon is a constant. We use the same model of computation used by Chan [21]: the real-RAM model with Θ(logn)\Theta(\log n) word size and floor function. We will use OϵO_{\epsilon} notation to hide a polynomial factor of 1ϵ\frac{1}{\epsilon}. Chan [21] showed that:

Theorem 4.1 (Step 4 in [21]).

Given a poin set PdP\in\mathbb{R}^{d} with spread Δ=O(nc)\Delta=O(n^{c}) for constant dd and cc, a (1+ϵ)(1+\epsilon)-spanner of PP can be constructed in Oϵ(P)O_{\epsilon}(P) time.

We will use a construction of an rr-net for a point set PP for any rr in time O(n)O(n). Such a construction was implicit in the work of Har-Peled [51] which was made explicit by Har-Peled and Raichel (Lemma 2.3 [53]).

Lemma 4.2 (Lemma 2.3 and Corollary 2.4 [53]).

Given r1r\geq 1 and an nn-point set PP in d\mathbb{R}^{d}, an rr-net NN of PP can be constructed in O(n)O(n) time. Furthermore, for each net point pp, one can compute all the points covered by pp in total O(n)O(n) time.

We first show that the spanner in Corollary 3.4 can be implemented in Oϵ(|X|)O_{\epsilon}(|X|) time.

Claim 4.3.

The single-source spanner HH in Corollary 3.4 can be found in Oϵ(|X|)O_{\epsilon}(|X|) time.

Proof:  First, we observe that the single source spanner in Lemma 3.3 can be constructed in time Oϵ(|X|)O_{\epsilon}(|X|). This is because the grid WW has size Oϵ(1)O_{\epsilon}(1) and the SLT tree from pp to (a set of O(1ϵ)O(\frac{1}{\sqrt{\epsilon}}) grid points on) LL can be constructed in Oϵ(1)O_{\epsilon}(1) time. The single-source spanner in Corollary 3.4 uses a constant number of constructions construction in Lemma 3.3. Thus, the total running time is Oϵ(|X|)O_{\epsilon}(|X|).

Proof: [Proof of Theorem 1.2]

Our implementation will follow the construction in Section 3 ; we will reuse notation in that section as well. Let KK be a (1+ϵ)(1+\epsilon)-spanner HH for PP constructed in time O(n)O(n) by Theorem 4.1. In our fast construction algorithm, instead of considering all pairs of points 𝒫=(P2)\mathcal{P}={P\choose 2}, we only consider the pairs corresponding to edges of HH; there are O(n)O(n) such pairs. Our algorithm has four steps:

  • Step 1 Partition pairs of endpoints in E(H)E(H) into at most O(log(Δ))O(\log(\Delta)) sets 𝒫1,,𝒫logΔ\mathcal{P}_{1},\ldots,\mathcal{P}_{\lceil\log\Delta\rceil} where 𝒫i\mathcal{P}_{i} is the set of pairs (x,y)(x,y) such that ||x,y||[2i1,2i)||x,y||\in[2^{i-1},2^{i}). Let Li=2iL_{i}=2^{i}. This step can be implemented in time O(|E(H)|)=Oϵ(n)O(|E(H)|)=O_{\epsilon}(n). The following steps are applied to each i[1,logΔ]i\in[1,\lceil\log\Delta\rceil]. Let PiP_{i} be the set of endpoints of 𝒫i\mathcal{P}_{i}. We observe that:

    i=1n|Pi| 2i=1n|𝒫i|= 2|E(H)|=O(n)\sum_{i=1}^{n}|P_{i}|\leavevmode\nobreak\ \leq\leavevmode\nobreak\ 2\sum_{i=1}^{n}|\mathcal{P}_{i}|\leavevmode\nobreak\ =\leavevmode\nobreak\ 2|E(H)|\leavevmode\nobreak\ =\leavevmode\nobreak\ O(n) (9)
  • Step 2 Construct a (ϵLi)(\sqrt{\epsilon}L_{i})-net NiN_{i} for PiP_{i} in O(|Pi|)O(|P_{i}|) time using the algorithm in Lemma 4.2.

  • Step 3 Compute a bounding square QQ and divide it into (overlapping) subsquares of length Θ(Li)\Theta(L_{i}) each. Let \mathcal{B} be the set of subsquares that contain at least one point participating in the pairs 𝒫i\mathcal{P}_{i}. Since there are only O(|Pi|)O(|P_{i}|) non-empty subsquares, \mathcal{B} can be computed in time O(|Pi|)O(|P_{i}|) by iterating over each point and check (in O(1)O(1) time) which subsquare the point falls into. Here we use the fact that each floor operation takes O(1)O(1) time.

  • Step 4 For each subsquare BB\in\mathcal{B}, we divide it into O(1)O(1) horizontal bands and vertical bands of length Li/8L_{i}/8. For each pair of non-adjacent (horizontal) bands Ha,HbH_{a},H_{b}, construct a set of O(1ϵ)O(\frac{1}{\sqrt{\epsilon}}) Steiner points on the bisecting line between HaH_{a} and HbH_{b} as in Section 3. For each Steiner point rr and each net point pNi(HaHb)p\in N_{i}\cap(H_{a}\cap H_{b}), we apply Corollary 3.4 to construct a single source spanner from rr to a set of points B(p,ϵLi)PiB(p,\sqrt{\epsilon}L_{i})\cap P_{i}; this step can be implemented in time Oϵ(|B(p,ϵLi)Pi|)O_{\epsilon}(|B(p,\sqrt{\epsilon}L_{i})\cap P_{i}|) by Claim 4.3. By Claim 3.6, the construction in this step can be implemented in Oϵ(|Pi|)O_{\epsilon}(|P_{i}|) time. Our final spanner is the union of all single source spanners in all subsquares in \mathcal{B}.

The running time needed to implement Steps 2 to 4 is Oϵ(i=1|Pi|)=Oϵ(n)O_{\epsilon}(\sum_{i=1}|P_{i}|)=O_{\epsilon}(n) by Equation 9. The same analysis in Section 3 gives O(logΔϵ)O(\frac{\log\Delta}{\epsilon}) lightness. For stretch, we observe that the stretch of the spanner for each edge of HH is (1+O(ϵ))(1+O(\epsilon)). Thus, the stretch for every pair of points in PP is (1+ϵ)(1+O(ϵ))=(1+O(ϵ))(1+\epsilon)(1+O(\epsilon))=(1+O(\epsilon)). We can recover stretch (1+ϵ)(1+\epsilon^{\prime}) by setting ϵ=ϵc\epsilon^{\prime}=\frac{\epsilon}{c} where cc is the constant behind big-O.

5 Steiner Spanners in High Dimension

In this section, we a light Steiner spanner for a point set PdP\in\mathbb{R}^{d} with spread Δ\Delta as in Theorem 1.3. We rescale the metric so that every edge in (P2){P\choose 2} has weight at least 1ϵ\frac{1}{\epsilon}. Let 𝖬𝖲𝖳\mathsf{MST} be the minimum spanning tree of PP. We subdivide each 𝖬𝖲𝖳\mathsf{MST} edge of length >1>1, by placing Steiner points greedily, in a way that each new edge has length at least 1/21/2 and at most 11. Let KK be the set of Steiner points. We observe that:

w(𝖬𝖲𝖳)=Θ(|P|+|K|)w(\mathsf{MST})=\Theta(|P|+|K|) (10)

Let δ>1\delta>1 be some parameter and Li=δϵiL_{i}=\frac{\delta}{\epsilon^{i}}. Let δ={E1,,Em}\mathcal{E}_{\delta}=\{E_{1},\ldots,E_{m}\} be the set of edges such that

Ei={e|e(P2)w(e)(Li/2,Li]}E_{i}=\{e|e\in{P\choose 2}\wedge w(e)\in(L_{i}/2,L_{i}]\} (11)

where m=log1ϵ(Δ/(ϵδ))log1ϵΔ+1m=\lceil\log_{\frac{1}{\epsilon}}(\Delta/(\epsilon\delta))\rceil\leavevmode\nobreak\ \leq\leavevmode\nobreak\ \lceil\log_{\frac{1}{\epsilon}}\Delta\rceil+1. If an edge eEie\in E_{i} for some EiδE_{i}\in\mathcal{E}_{\delta}, we will abuse notation by saying that eδe\in\mathcal{E}_{\delta}. The main focus of this section is to show that:

Lemma 5.1.

There is a Steiner spanner that preserves distances between the endpoints of edges in δ\mathcal{E}_{\delta} with weight O~(ϵ(d+1)/2+(δ+ϵ2)log1ϵΔ)w(𝖬𝖲𝖳)\tilde{O}(\epsilon^{-(d+1)/2}+(\delta+\epsilon^{-2})\log_{\frac{1}{\epsilon}}\Delta)w(\mathsf{MST}).

We will show below that Lemma 5.1 implies Theorem 1.3.

Proof: [Proof of Theorem 1.3] We assume that 1ϵ\frac{1}{\epsilon} is a power of 22. We partition the interval [1,ϵ)[1,\epsilon) into J=log2(1ϵ)J=\log_{2}(\frac{1}{\epsilon}) intervals [1,2),,[2J1,2J)[1,2),\ldots,[2^{J-1},2^{J}). For each fixed j[1,J]j\in[1,J], let δi=2j\delta_{i}=2^{j}, and δj\mathcal{E}_{\delta_{j}} be the set of edges with δ=δj\delta=\delta_{j} in the definition of δ\mathcal{E}_{\delta}. Recall that we scale the metric so that every edge in (P2){P\choose 2} has weight at least 1ϵ\frac{1}{\epsilon}. Thus, (P2)=j=1Jδj{P\choose 2}=\cup_{j=1}^{J}\mathcal{E}_{\delta_{j}}

Observe that δj1ϵ\delta_{j}\leq\frac{1}{\epsilon} for all j[1,J]j\in[1,J]. By Lemma 5.1, there exists a Steiner spanner SjS_{j} with weight O~(ϵ(d+1)/2+(ϵ2log1ϵΔ)w(𝖬𝖲𝖳)\tilde{O}(\epsilon^{-(d+1)/2}+(\epsilon^{-2}\log_{\frac{1}{\epsilon}}\Delta)w(\mathsf{MST}) preseving distances between endpoints of edges in δj\mathcal{E}_{\delta_{j}} up to a (1+ϵ)(1+\epsilon) factor. Then S=i=1JSjS=\cup_{i=1}^{J}S_{j} is a Steiner (1+ϵ)(1+\epsilon)-spanner with weight O~(ϵ(d+1)/2+ϵ2logΔ)w(𝖬𝖲𝖳)\tilde{O}(\epsilon^{-(d+1)/2}+\epsilon^{-2}\log\Delta)w(\mathsf{MST}).

We now focus on constructing a Steiner spanner in Lemma 5.1. We will use the following Steiner spanner construction as a black box.

Theorem 5.2 (Theorem 1.3 [62]).

For a given point set PP, there is a Steiner (1+ϵ)(1+\epsilon)-spanner, denoted by 𝖲𝖳𝖯(P)\mathsf{STP}(P), with O~(ϵ(d1)/2)|P|\tilde{O}(\epsilon^{-(d-1)/2})|P| edges that preserves pairwise distances of points in PP up to a (1+ϵ)(1+\epsilon) factor.

We will rely on a cover tree to construct a Steiner spanner. Let cc be a sufficiently big constant chosen later (c=20c=20).

Definition 5.3 (Cover tree).

A cover TT for point set PKP\cup K with (m+1)(m+1) levels has each node associated with a point of PP such that (a) level-0 of TT is the point set PKP\cup K, (b) level-ii of TT is associated with a (cϵLi)(c\epsilon L_{i})-cover NiN_{i} of PP and (c) NmNm1N0N_{m}\subseteq N_{m-1}\subseteq\ldots\subseteq N_{0}.

A point pp may appear in many levels of a cover tree TT. To avoid confusion, we denote by (p,i)(p,i) the copy of pp at level ii, and we still call (p,i)(p,i) a point of PKP\cup K. For each point (p,i)(p,i), we denote by 𝖼𝗁𝗂𝗅𝖽(p,i)\mathsf{child}(p,i) and 𝖽𝖾𝗌𝖼(p,i)\mathsf{desc}(p,i) the set of children and descendants of (p,i)(p,i) in TT, respectively. Note that 𝖽𝖾𝗌𝖼(p,i)\mathsf{desc}(p,i) includes (p,i)(p,i).

We will construct the Steiner spanner level by level, starting from level 11. At every level, we will add a certain set of edges to EspE_{sp}. We then charge the weight of a subset of the edges to a subset of uncharged points of PKP\cup K; initially, every point of PKP\cup K is uncharged. To decide which uncharged points we will charge to at level ii, we consider a geometric graph HiH_{i} where V(Hi)=NiV(H_{i})=N_{i} and there is an edge between two points (p,i)(q,i)(p,i)\not=(q,i) (of weight ||p,q||||p,q||) in HiH_{i} if there exists at least one eEie\in E_{i} between two descendants of (p,i)(p,i) and (q,i)(q,i), respectively. We say a cover point (p,i)(p,i) has high degree if its degree in HiH_{i} is at least 4cϵ\frac{4c}{\epsilon}. At level ii, we only charge to uncharged points which are descendants of high degree cover points. The intuition is that high cover points have many descendants. This leads to a notion of a charging cover tree. We call a cover tree a charging cover tree for δ\mathcal{E}_{\delta} if for all level i1i\geq 1,

  • (1)

    Each point (p,i)(p,i) has at least ϵLi\epsilon L_{i} descendants that are uncharged at level less than ii.

  • (2)

    Up to ϵLi/2\epsilon L_{i}/2 uncharged descendant of each high-degree cover point (p,i)(p,i) can be charged at level ii. No descendant of low-degree points is charged at level ii.

We show how to construct a charging cover tree in Appendix 5.4. We now show that given a charging cover tree, we can construct a Steiner spanner with the lightness bound in Lemma 5.1. Let TT be such a charging cover tree. We define a set of edges ETE_{T} as follows:

ET={(p,q)|(p𝖼𝗁𝗂𝗅𝖽(q,i)q𝖼𝗁𝗂𝗅𝖽(p,i)) for some i}E_{T}=\{(p,q)|(p\in\mathsf{child}(q,i)\vee q\in\mathsf{child}(p,i))\leavevmode\nobreak\ \mbox{ for some $i$}\} (12)

We abuse notation by denoting ETE_{T} the graph induced by the set of edges in ETE_{T}.

Claim 5.4.

w(ET)=O(δ+ϵ1log1ϵΔ)w(𝖬𝖲𝖳))w(E_{T})=O(\delta+\epsilon^{-1}\log_{\frac{1}{\epsilon}}\Delta)w(\mathsf{MST})) and for any pp and every xy𝖽𝖾𝗌𝖼(p,i)x\not=y\in\mathsf{desc}(p,i), dET(x,y)4cϵLid_{E_{T}}(x,y)\leq 4c\epsilon L_{i}.

Proof:  Edges in ETE_{T} can be partitioned according to levels where an edge is at level ii if it connects a point (p,i)(p,i) and its parent. Observe that at level 0, the total edge weight is at most cδc\delta times the number of points and hence, the total weight is O(δ|KP|)=O(δw(𝖬𝖲𝖳))O(\delta|K\cup P|)=O(\delta w(\mathsf{MST})) by Equation 10. At higher level, we observe that the total weight of edges of ETE_{T} at level i1i\geq 1 is at most Li|Ni|L_{i}|N_{i}|, and that Ni|KP||ϵLi|N_{i}\leq\frac{|K\cup P|}{|\epsilon L_{i}|} since each point (p,i)(p,i) has |𝖽𝖾𝗌𝖼(p,i)|ϵLi|\mathsf{desc}(p,i)|\geq\epsilon L_{i} by property (1) of the charging tree. Thus, the total weight of edges EtE_{t} at level at least 11 is at most:

i=1m|KP|ϵ=m|KP|ϵ=O(ϵ1log1ϵΔ|KP|)=O(ϵ1log1ϵΔ)w(𝖬𝖲𝖳)\sum_{i=1}^{m}\frac{|K\cup P|}{\epsilon}=m\frac{|K\cup P|}{\epsilon}=O(\epsilon^{-1}\log_{\frac{1}{\epsilon}}\Delta|K\cup P|)=O(\epsilon^{-1}\log_{\frac{1}{\epsilon}}\Delta)w(\mathsf{MST})

This implies the weight bound of ETE_{T}. We now bound the distance between xy𝖽𝖾𝗌𝖼(p,i)x\not=y\in\mathsf{desc}(p,i). Let x=v0,v1,,vk=px=v_{0},v_{1},\ldots,v_{k}=p be the (unique) path from xx to pp. By construction, ||vi1,vi||vivi+1ϵ||v_{i-1},v_{i}||\leq\frac{v_{i}v_{i+1}}{\epsilon} for i[1,k1]i\in[1,k-1]. This implies:

dET(x,p)=||p,vk1||i=0k1ϵi||p,vk1||1ϵ2||p,vk1||=2cϵLid_{E_{T}}(x,p)=||p,v_{k-1}||\sum_{i=0}^{k-1}\epsilon^{i}\leq\frac{||p,v_{k-1}||}{1-\epsilon}\leq 2||p,v_{k-1}||=2c\epsilon L_{i}

when ϵ12\epsilon\leq\frac{1}{2}. Similarly, dET(y,p)2cϵLid_{E_{T}}(y,p)\leq 2c\epsilon L_{i} and hence dET(x,y)4cϵLid_{E_{T}}(x,y)\leq 4c\epsilon L_{i}. Claim 5.4 implies that the descendants of any level ii node in a charging cover tree form a subgraph of diameter at most O(cϵLi)O(c\epsilon L_{i}). Let EspE_{sp} be the set of edges that will be our final spanner. Initially, Esp=ET𝖬𝖲𝖳E_{sp}=E_{T}\cup\mathsf{MST}. We will abuse notation by denoting EspE_{sp} the graph induced by edge set EspE_{sp}.

5.1 Spanner construction at level ii

Recall that HiH_{i} is a geometric graph where V(Hi)=NiV(H_{i})=N_{i} and there is an edge between two points (p,i)(q,i)(p,i)\not=(q,i) in HiH_{i} if there exists at least one eEie\in E_{i} between two descendants of (p,i)(p,i) and (q,i)(q,i), respectively. Recall that a high degree point (p,i)(p,i) has at least 4cϵ\frac{4c}{\epsilon} neighbors in HiH_{i}. We proceed in two steps.

  • Step 1 For every low degee point (p,i)(p,i), we add all incident edges of (p,i)(p,i) in HiH_{i} to EspE_{sp}.

  • Step 2 Let QQ be the set of high degree points in NiN_{i}. We add to EspE_{sp} the set of edges of 𝖲𝖳𝖯(Q)\mathsf{STP}(Q). We take from each high degree cover point (p,i)(p,i) exactly ϵLi/2\epsilon L_{i}/2 uncharged descendants and let XX be the set of these uncharged points. We charge the cost of 𝖲𝖳𝖯(Q)\mathsf{STP}(Q) equally to all points in XX and mark them charged. This charging is possible by property (2) of TT.

5.2 Bounding the stretch

We will show that the stretch is (1+(48c+1)ϵ)(1+(48c+1)\epsilon). We can recover stretch (1+ϵ)(1+\epsilon^{\prime}) by setting ϵ=ϵ48c+1\epsilon^{\prime}=\frac{\epsilon}{48c+1}.

Observe by construction that for every edge eHie\in H_{i}, the stretch of ee in EspE_{sp} is at most (1+ϵ)(1+\epsilon). Recall that for every edge (u,v)Ei(u,v)\in E_{i}, there is an edge (p,q)E(Hi)(p,q)\in E(H_{i}) such that u𝖽𝖾𝗌𝖼(p,i),v𝖽𝖾𝗌𝖼(q,i)u\in\mathsf{desc}(p,i),v\in\mathsf{desc}(q,i). By Claim 5.4, there is a path between uu and vv in EspE_{sp} of length at most dEsp(p,q)+8cϵLid_{E_{sp}}(p,q)+8c\epsilon L_{i}. By triangle inequality, ||p,q||2cϵLi||u,v||||p,q||+2cϵLi||p,q||-2c\epsilon L_{i}\leq||u,v||\leq||p,q||+2c\epsilon L_{i}. Thus, we have:

dEsp(u,v)||u,v||dEsp(p,q)+8cϵL2||p,q||2cϵLi=dEsp(p,q)||p,q||+(dEsp(p,q)+4||p,q||)2cϵLi||p,q||(||p,q||2cϵLi)dEsp(p,q)||p,q||+12cϵLi||p,q||2cϵLisince dEsp(p,q)2||p,q||dEsp(p,q)||p,q||+48cϵ1+(48c+1)ϵ\begin{split}\frac{d_{E_{sp}}(u,v)}{||u,v||}&\leq\frac{d_{E_{sp}}(p,q)+8c\epsilon L_{2}}{||p,q||-2c\epsilon L_{i}}=\frac{d_{E_{sp}}(p,q)}{||p,q||}+\frac{(d_{E_{sp}}(p,q)+4||p,q||)2c\epsilon L_{i}}{||p,q||(||p,q||-2c\epsilon L_{i})}\\ &\leq\frac{d_{E_{sp}}(p,q)}{||p,q||}+\frac{12c\epsilon L_{i}}{||p,q||-2c\epsilon L_{i}}\qquad\mbox{since }d_{E_{sp}}(p,q)\leq 2||p,q||\\ &\leq\frac{d_{E_{sp}}(p,q)}{||p,q||}+48c\epsilon\leq 1+(48c+1)\epsilon\end{split}

The penultimate inequality follows from the fact that

||p,q||2cϵLi||u,v||4cϵLiLi/24cϵLiLi/4||p,q||-2c\epsilon L_{i}\leavevmode\nobreak\ \geq\leavevmode\nobreak\ ||u,v||-4c\epsilon L_{i}\leavevmode\nobreak\ \geq\leavevmode\nobreak\ L_{i}/2-4c\epsilon L_{i}\leavevmode\nobreak\ \geq\leavevmode\nobreak\ L_{i}/4

when ϵ1c\epsilon\ll\frac{1}{c}.

5.3 Bounding w(Esp)w(E_{sp})

Observe that the total number of low degree points in NiN_{i} is at most |KP|ϵLi\frac{|K\cup P|}{\epsilon L_{i}} since each low degree point has at least ϵLi\epsilon L_{i} (uncharged) descendants by property (1) of charging tree TT. By triangle inequality, each edge of HiH_{i} has weight at most Li+2cϵLi3LiL_{i}+2c\epsilon L_{i}\leq 3L_{i} when ϵ<1c\epsilon<\frac{1}{c}. Thus, the total weight of edges added to EspE_{sp} in Step 1 is bounded by:

3Li4cϵ|{p|pNi and p has low degree}|=O(Liϵ|KP|ϵLi)=O(1ϵ2)w(𝖬𝖲𝖳)\frac{3L_{i}\cdot 4c}{\epsilon}|\{p|p\in N_{i}\mbox{ and $p$ has low degree}\}|=O(\frac{L_{i}}{\epsilon}\frac{|K\cup P|}{\epsilon L_{i}})=O(\frac{1}{\epsilon^{2}})w(\mathsf{MST})

by Equation 10. Thus, the total weight of the edges added to EspE_{sp} in Step 1 over mm levels is O(ϵ2log1ϵΔ)w(𝖬𝖲𝖳)O(\epsilon^{-2}\log_{\frac{1}{\epsilon}}\Delta)w(\mathsf{MST}). Note here that mlog1ϵΔ+1m\leq\lceil\log_{\frac{1}{\epsilon}}\Delta\rceil+1.

We now bound the total weight of the edges added to EspE_{sp} in Step 2 over mm levels. Since each edge of HiH_{i} has weight at most 3Li3L_{i}, each edge of 𝖲𝖳𝖯(Q)\mathsf{STP}(Q) has weight a most (1+ϵ)3Li6Li(1+\epsilon)3L_{i}\leq 6L_{i}. By Theorem 5.2,

w(𝖲𝖳𝖯(Q))=O~(ϵ(d1)/2)|Q|6Li=O~(ϵ(d1)/2+o(1))|Q|Liw(\mathsf{STP}(Q))=\tilde{O}(\epsilon^{-(d-1)/2})|Q|6L_{i}=\tilde{O}(\epsilon^{-(d-1)/2+o(1)})|Q|L_{i}

Thus, in Step 2, each uncharged point is charged at most:

O~(ϵ(d1)/2)|Q|Li|Q|ϵLi/2=O~(ϵ(d+1)/2)\frac{\tilde{O}(\epsilon^{-(d-1)/2})|Q|L_{i}}{|Q|\epsilon L_{i}/2}=\tilde{O}(\epsilon^{-(d+1)/2}) (13)

This implies the total weight of the edges added to EspE_{sp} in Step 2 over all levels is O~(ϵ(d+1)/2)(|PK|)=O~(ϵ(d+1)/2)w(𝖬𝖲𝖳)\tilde{O}(\epsilon^{-(d+1)/2})(|P\cup K|)=\tilde{O}(\epsilon^{-(d+1)/2})w(\mathsf{MST}). Together with Claim 5.4, we conclude that:

w(Esp)=O~(ϵ(d+1)/2+(δ+ϵ2)log1ϵΔ)w(𝖬𝖲𝖳)w(E_{sp})=\tilde{O}(\epsilon^{-(d+1)/2}+(\delta+\epsilon^{-2})\log_{\frac{1}{\epsilon}}\Delta)w(\mathsf{MST})

This completes the proof of Lemma 5.1.

5.4 Constructing a Charging Cover Tree

The main difficulty is to guarantee property (1) in constructing a charging cover tree; for property (2) at each level ii, we simply charge to exactly ϵLi/2\epsilon L_{i}/2 uncharged descendants of each high degree cover point.

A natural idea is to guarantee that each cover point has 1ϵ\frac{1}{\epsilon} children. Then inductively, if each child of a cover point (p,i)(p,i) has at least ϵLi1/2\epsilon L_{i-1}/2 uncharged descendants after the charging at level i1i-1, we can hope that pp has at least 1ϵϵLi1=ϵLi\frac{1}{\epsilon}\epsilon L_{i-1}=\epsilon L_{i} uncharged descendants. There are two issues with this idea: (a) if at least one child, say (q,i1)(q,i-1), of (p,i)(p,i) has high degree in the graph Hi1H_{i-1}, up to ϵLi1/2\epsilon L_{i-1}/2 uncharged points in 𝖽𝖾𝗌𝖼(q,i1)\mathsf{desc}(q,i-1) were charged at level i1i-1 by property (2), and thus, (q,i1)(q,i-1) only contributes ϵLi12\frac{\epsilon L_{i-1}}{2} uncharged descendants to (p,i)(p,i); and (b) there may not be enough cover points at level i1i-1 close to pp as these points and their descendants must be within distance cϵLic\epsilon L_{i} from pp.

In our construction, we resolve both issues by picking a cover point in a way that the total number of uncharged descendants of its children is at least ϵLi\epsilon L_{i}. We do so by having a more accurate way to track the number of uncharged descendants of a cover point, instead of simply relying on the lower bound ϵLi\epsilon L_{i} of uncharged descendants. Specifically, denote by 𝖣(X)\mathsf{D}(X) the diameter of a point set XX. We will construct a charging cover tree in a way that the following invariant is maintained at all levels.

Strong Charging Invariant: (SCI)

Each point (p,i)(p,i) has at least max(ϵLi,𝖣(𝖽𝖾𝗌𝖼(p,i))+1)\max(\epsilon L_{i},\mathsf{D}(\mathsf{desc}(p,i))+1) uncharged descendants (before the charging happened at level ii).

Clearly, SCI implies property (1) of TT. We begin by constructing the level-11 cover. Recall that 𝖬𝖲𝖳\mathsf{MST} edges have weight at most 11 and at least 12\frac{1}{2}, and that δ1\delta\geq 1.

Level 11

We construct level-11 cover points N1N_{1} by greedily breaking 𝖬𝖲𝖳\mathsf{MST} edges into subtrees of diameter at least δ\delta and at most 3δ+25δ3\delta+2\leq 5\delta. Let XX be such a subtree of 𝖬𝖲𝖳\mathsf{MST} with diameter dXd_{X}; XX will have at least δ\delta points since 𝖬𝖲𝖳\mathsf{MST} edge has weight at most 11. We pick any point, say pXp\in X, to be a level-11 cover point, and make other points in XX become pp’s children; pp will have at least δ\delta children (uncharged at level 0). Recall that ϵL1=δ\epsilon L_{1}=\delta. Since each 𝖬𝖲𝖳\mathsf{MST} edge has weight at most 11, the number of descendants of (p,1)(p,1) is at least:

dX+1max(ϵL1,𝖣(𝖽𝖾𝗌𝖼(p,1))+1)d_{X}+1\geq\max(\epsilon L_{1},\mathsf{D}(\mathsf{desc}(p,1))+1)

Thus, SCI holds for this level.

Level i+1i+1

Recall HiH_{i} is a graph with vertex set NiN_{i}. We construct a cover Ni+1N_{i+1} in three steps A, B and C.

  • Step A For each high degree point pp (with at least 4cϵ\frac{4c}{\epsilon} unmarked neighbors in HiH_{i}), we pick pp to Ni+1N_{i+1} andmake its unmarked neighbors become its children. We then mark pp and all of its neighbors. For each remaining unmarked high degree point xx in HiH_{i}, at least one of its neighbors, say qq, must be marked before. We make xx become a child of qq’s parent.

The intuition of the construction in Step A is that (p,i+1)(p,i+1) picked at this step has at least 4cϵ\frac{4c}{\epsilon} children. Since at least (ϵLi)/2(\epsilon L_{i})/2 descendants of each child of (p,i)(p,i) remain uncharged after level ii, the total number of uncharged descendants of (p,i+1)(p,i+1) is 4cϵϵLi2=2cLi=2cϵLi+1>ϵLi+1\frac{4c}{\epsilon}\frac{\epsilon L_{i}}{2}=2cL_{i}=2c\epsilon L_{i+1}>\epsilon L_{i+1}. Furthermore, since every high degree point is marked in this step, points in subsequent steps have low degree and hence no uncharged descendant of these points is charged at level ii by property (2) of charging cover trees.

Let WW be the set of remaining points in NiN_{i}. We construct a forest FF from WW as follows. The vertex set of FF is WW, and there is an edge between two vertices p,qp,q of FF if there is an 𝖬𝖲𝖳\mathsf{MST} edge, called the source of the edge, connecting a point in 𝖽𝖾𝗌𝖼(p)\mathsf{desc}(p) and a point in 𝖽𝖾𝗌𝖼(q)\mathsf{desc}(q). We set the weight of each edge in FF to be the weight of the source edge. Note that FF is not a geometric graph. We observe that:

Observation 5.5.

For every connected component CFC\in F, there must be a point pCp\in C and a point qq marked in Step A such that there is an 𝖬𝖲𝖳\mathsf{MST} edge between a descendant of (p,i)(p,i) and a descendant of (p,i)(p,i), except when there is no point marked in Step A (and FF is a tree in this case).

Proof:  The observation follows from the fact that 𝖬𝖲𝖳\mathsf{MST} spans PKP\cup K.

We define the weight on each vertex pp of FF to be w(p)=D(𝖽𝖾𝗌𝖼(p,i))w(p)=D(\mathsf{desc}(p,i)), and the vertex-weight of a path PP, denoted by 𝗏𝗐(P)\mathsf{vw}(P), of FF to be the total weight of vertices on the path. We define the absolute weight of PP, denoted by 𝖺𝗐(P)\mathsf{aw}(P), to be the total vertex and edge weight of PP. Since each 𝖬𝖲𝖳\mathsf{MST} edge has weight at most 11 and each vertex has weight at least 11,

𝖺𝗐(P)2𝗏𝗐(P)\mathsf{aw}(P)\leq 2\mathsf{vw}(P) (14)

The vertex-diameter of a subtree CC, denoted by 𝖵𝖣(C)\mathsf{VD}(C), of FF is defined to be the vertex-weight of the path of maximum vertex-weight in the subtree. The absolute diameter of CC, denoted by 𝖠𝖣(C)\mathsf{AD}(C), is defined similarly but w.r.t absolute weight.

  • Step B For each component CC of FF of vertex-diameter at least LiL_{i}, we greedily break CC into sub-trees of vertex-diameter at least LiL_{i} and at most 3Li3L_{i}. For each subtree of CC, choose an arbitrary point pp to be a level-(i+1)(i+1) cover point and make other points become pp’s children.

  • Step C For each component CC of FF of vertex-diameter at most LiL_{i}, by Observation 5.5, there must be at least one 𝖬𝖲𝖳\mathsf{MST} connecting a point in 𝖽𝖾𝗌𝖼(u,i)\mathsf{desc}(u,i) for some uCu\in C to a point in 𝖽𝖾𝗌𝖼(v,i)\mathsf{desc}(v,i) for some point vv marked in Step 1. We make all points in CC become children of vv’s parent.

The following claim implies that Ni+1N_{i+1} is a (cϵLi+1)(c\epsilon L_{i+1})-cover.

Claim 5.6.

For each point (p,i+1)(p,i+1), 𝖣(𝖽𝖾𝗌𝖼(p,i+1))cϵLi+1\mathsf{D}(\mathsf{desc}(p,i+1))\leq c\epsilon L_{i+1} for c=20c=20.

Proof:  Note that for each point (q,i)(q,i), 1𝖣(𝖽𝖾𝗌𝖼(q,i))2cϵLi1\leq\mathsf{D}(\mathsf{desc}(q,i))\leq 2c\epsilon L_{i} since every point in 𝖽𝖾𝗌𝖼(q,i)\mathsf{desc}(q,i) is within distance cϵLic\epsilon L_{i} from qq.

First, consider the case that (p,i+1)(p,i+1) is chosen in Step B. Then pp and its children belong to a subtree CC of FF of vertex-diameter at most 3Li3L_{i}. by Equation 14, 𝖠𝖣(C)23Li=6Li\mathsf{AD}(C)\leq 2\cdot 3L_{i}=6L_{i}. Thus, for a point pNi+1p\in N_{i+1} selected in Step B, D(𝖽𝖾𝗌𝖼(p,i+1))𝖠𝖣(C)6LiD(\mathsf{desc}(p,i+1))\leq\mathsf{AD}(C)\leq 6L_{i}.

We now consider the case where (p,i+1)(p,i+1) is chosen in Step A. (There is no cover point at level (i+1)(i+1) selected in Step C.) Recall that each edge of HiH_{i} has length at most Li+2cϵLiL_{i}+2c\epsilon L_{i} by the triangle inequality. Observe that after Step 1, for any (q,i)𝖼𝗁𝗂𝗅𝖽(p,i+1)(q,i)\in\mathsf{child}(p,i+1), the hop distance in HiH_{i} between (p,i)(p,i) and (q,i)(q,i) is at most 22, hence ||p,q||2(Li+2cϵLi)=2Li+4cϵLi||p,q||\leq 2(L_{i}+2c\epsilon L_{i})=2L_{i}+4c\epsilon L_{i}. That implies, after Step A,

||p,x||(2Li+4cϵLi)+cϵLi=2Li+5cϵLifor any x𝖽𝖾𝗌𝖼(p,i+1)||p,x||\leq(2L_{i}+4c\epsilon L_{i})+c\epsilon L_{i}=2L_{i}+5c\epsilon L_{i}\quad\mbox{for any $x\in\mathsf{desc}(p,i+1)$} (15)

In Step C, we add more points belonging to subtrees of FF to 𝖼𝗁𝗂𝗅𝖽(p,i+1)\mathsf{child}(p,i+1). Let CC be any of these subtrees. Since 𝖵𝖣(C)Li\mathsf{VD}(C)\leq L_{i}, 𝖠𝖣(C)2Li\mathsf{AD}(C)\leq 2L_{i}. By construction, there exists a point (v,i)C(v,i)\in C and a point (u,i)𝖼𝗁𝗂𝗅𝖽(p,i+1)(u,i)\in\mathsf{child}(p,i+1) such that there is an 𝖬𝖲𝖳\mathsf{MST} edge ee connecting a point in 𝖽𝖾𝗌𝖼(v,i)\mathsf{desc}(v,i) and a point in 𝖽𝖾𝗌𝖼(u,i)\mathsf{desc}(u,i). Thus, the augmentation in Step C increases the distance from pp to the furthest point of 𝖽𝖾𝗌𝖼(p,i+1)\mathsf{desc}(p,i+1) by at most w(e)+𝖠𝖣(C) 1+2Li 3Liw(e)+\mathsf{AD}(C)\leavevmode\nobreak\ \leq\leavevmode\nobreak\ 1+2L_{i}\leavevmode\nobreak\ \leq\leavevmode\nobreak\ 3L_{i}. This implies:

𝖣(𝖽𝖾𝗌𝖼(p,i+1))2(2Li+5cϵLi+3Li)20Li\mathsf{D}(\mathsf{desc}(p,i+1))\leq 2(2L_{i}+5c\epsilon L_{i}+3L_{i})\leq 20L_{i}

when ϵ<1c\epsilon<\frac{1}{c}. To complete the proof of Lemma 5.1, it remains to show SCI for level (i+1)(i+1).

Claim 5.7.

Each point (p,i+1)(p,i+1) has at least max(ϵLi+1,𝖣(𝖽𝖾𝗌𝖼(p,i+1)+1)\max(\epsilon L_{i+1},\mathsf{D}(\mathsf{desc}(p,i+1)+1) uncharged descendants.

Proof:  We first consider the case (p,i+1)(p,i+1) is picked in Step B. Let XX be the subtree of FF that pp belongs to. Let PP be a path of XX of maximum absolute weight. By definition on absolute weight, 𝖺𝗐(P)𝖣(𝖽𝖾𝗌𝖼(p,i+1))\mathsf{aw}(P)\geq\mathsf{D}(\mathsf{desc}(p,i+1)). Since 𝖬𝖲𝖳\mathsf{MST} has length at most 11, we have:

qP𝖣(𝖽𝖾𝗌𝖼(q,i))+|E(P)|𝖺𝗐(P)𝖣(𝖽𝖾𝗌𝖼(p,i+1))\sum_{q\in P}{\mathsf{D}(\mathsf{desc}(q,i))}+|E(P)|\geq\mathsf{aw}(P)\geq\mathsf{D}(\mathsf{desc}(p,i+1))

By SCI for level ii, we conclude that the number of uncharged descendants of (p,i+1)(p,i+1) is at least:

qP(𝖣(𝖽𝖾𝗌𝖼(q,i))+1)(qP𝖣(𝖽𝖾𝗌𝖼(q,i))+|E(P)|)+1𝖣(𝖽𝖾𝗌𝖼(p,i+1)))+1\sum_{q\in P}(\mathsf{D}(\mathsf{desc}(q,i))+1)\geq(\sum_{q\in P}{\mathsf{D}(\mathsf{desc}(q,i))}+|E(P)|)+1\geq\mathsf{D}(\mathsf{desc}(p,i+1)))+1

To show that XX has at least ϵLi+1\epsilon L_{i+1} uncharged descendants, we observe by construction that XX has a path QQ with 𝗏𝗐(Q)Li\mathsf{vw}(Q)\geq L_{i}. By definition of vertex-weight, 𝗏𝗐(Q)=qQ𝖣(𝖽𝖾𝗌𝖼(q,i))\mathsf{vw}(Q)=\sum_{q\in Q}\mathsf{D}(\mathsf{desc}(q,i)). Thus, the total number of uncharged descendants of all qQq\in Q by SCI is at least:

qQ(𝖣(𝖽𝖾𝗌𝖼(q,i))+1)>qQ𝖣(𝖽𝖾𝗌𝖼(q,i))Li=ϵLi+1\sum_{q\in Q}\left(\mathsf{D}(\mathsf{desc}(q,i))+1\right)>\sum_{q\in Q}\mathsf{D}(\mathsf{desc}(q,i))\geq L_{i}=\epsilon L_{i+1}

Thus, (p,i+1)(p,i+1) has at least max(ϵLi+1,𝖣(𝖽𝖾𝗌𝖼(p,i+1))+1)\max(\epsilon L_{i+1},\mathsf{D}(\mathsf{desc}(p,i+1))+1) uncharged descendants.

It remains to consider the case (p,i+1)(p,i+1) is picked in Step A. By construction, (p,i+1)(p,i+1) has at least 4cϵ\frac{4c}{\epsilon} children, and each has at least ϵLi1/2\epsilon L_{i-1}/2 uncharged descendants by property (2) of a charging cover tree. Note that 𝖣(𝖽𝖾𝗌𝖼(p,i+1))cϵLi+1=cLi\mathsf{D}(\mathsf{desc}(p,i+1))\leq c\epsilon L_{i+1}=cL_{i} by Claim 5.6. Thus, (p,i+1)(p,i+1) has at least:

4cϵϵLi2=2cLimax(ϵLi+1,𝖣(𝖽𝖾𝗌𝖼(p,i+1)))+cLi>max(ϵLi+1,𝖣(𝖽𝖾𝗌𝖼(p,i+1))+1)\frac{4c}{\epsilon}\frac{\epsilon L_{i}}{2}=2cL_{i}\geq\max(\epsilon L_{i+1},\mathsf{D}(\mathsf{desc}(p,i+1)))+cL_{i}>\max(\epsilon L_{i+1},\mathsf{D}(\mathsf{desc}(p,i+1))+1)

uncharged descendants as desired.

References

  • [1] M. A. Abam and S. Har-Peled. New constructions of sspds and their applications. In Proceedings of the 26th Annual Symposium on Computational Geometry, SoCG ‘10, page 192–200, 2010.
  • [2] P. K. Agarwal, K. Fox, D. Panigrahi, K. R. Varadarajan, and A. Xiao. Faster algorithms for the geometric transportation problem. In 33rd International Symposium on Computational Geometry, volume 77 of SoCG ‘17, pages 7:1–7:16, 2017.
  • [3] Stephen Alstrup, Søren Dahlgaard, Arnold Filtser, Morten Stöckel, and Christian Wulff-Nilsen. Constructing light spanners deterministically in near-linear time. In Michael A. Bender, Ola Svensson, and Grzegorz Herman, editors, 27th Annual European Symposium on Algorithms, ESA 2019, September 9-11, 2019, Munich/Garching, Germany, volume 144 of LIPIcs, pages 4:1–4:15. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019.
  • [4] I. Althöfer, G. Das, D. Dobkin, D. Joseph, and J. Soares. On sparse spanners of weighted graphs. Discrete Computational Geometry, 9(1):81–100, 1993.
  • [5] B Aronov, M. Berg, O. Cheong, J. Gudmundsson, H. Haverkort, and A. Vigneron. Sparse geometric graphs with small dilation. In International Symposium on Algorithms and Computation, ISAAC ‘05, pages 50–59, 2005.
  • [6] S. Arya and M. H. M. Smid. Efficient construction of a bounded degree spanner with low weight. Algorithmica, 17(1):33–54, 1997.
  • [7] Sunil Arya, David M. Mount, and Michiel H. M. Smid. Randomized and deterministic algorithms for geometric spanners of small diameter. In 35th Annual Symposium on Foundations of Computer Science, Santa Fe, New Mexico, USA, 20-22 November 1994, pages 703–712. IEEE Computer Society, 1994.
  • [8] Gali Bar-On and Paz Carmi. \delta -greedy t-spanner. In Faith Ellen, Antonina Kolokolova, and Jörg-Rüdiger Sack, editors, Algorithms and Data Structures - 15th International Symposium, WADS 2017, St. John’s, NL, Canada, July 31 - August 2, 2017, Proceedings, volume 10389 of Lecture Notes in Computer Science, pages 85–96. Springer, 2017.
  • [9] J. Beardwood, J. H. Halton, and J. M. Hammersley. The shortest path through many points. Mathematical Proceedings of the Cambridge Philosophical Society, 55(4):299–327, 1959.
  • [10] Marc Benkert, Alexander Wolff, Florian Widmann, and Takeshi Shirabe. The minimum manhattan network problem: Approximations and exact solutions. Comput. Geom., 35(3):188–208, 2006.
  • [11] S. Bhore and C. D. Tóth. On euclidean steiner (1+ϵ)(1+\epsilon)-spanners. Preprint arXiv:2010.02908, 2020. https://arxiv.org/abs/2010.02908.
  • [12] G. Bodwin and V. V. Williams. Better distance preservers and additive spanners. In Proceedings of the Twenty-seventh Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’16, pages 855–872, 2016.
  • [13] G. Borradaile, H. Le, and C. Wulff-Nilsen. Minor-free graphs have light spanners. In 2017 IEEE 58th Annual Symposium on Foundations of Computer Science, FOCS ’17, pages 767–778, 2017.
  • [14] G. Borradaile, H. Le, and C. Wulff-Nilsen. Greedy spanners are optimal in doubling metrics. In Proceedings of the 30th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ‘19, pages 2371–2379, 2019.
  • [15] Prosenjit Bose, Paz Carmi, Mathieu Couture, Michiel H. M. Smid, and Daming Xu. On a family of strong geometric spanners that admit local routing strategies. In Frank K. H. A. Dehne, Jörg-Rüdiger Sack, and Norbert Zeh, editors, Algorithms and Data Structures, 10th International Workshop, WADS 2007, Halifax, Canada, August 15-17, 2007, Proceedings, volume 4619 of Lecture Notes in Computer Science, pages 300–311. Springer, 2007.
  • [16] Prosenjit Bose, Luc Devroye, Maarten Löffler, Jack Snoeyink, and Vishal Verma. Almost all delaunay triangulations have stretch factor greater than pi/2. Comput. Geom., 44(2):121–127, 2011.
  • [17] K. Buchin. Delaunay triangulations in linear time? (part I). arXiv preprint arXiv:0812.0387, 2008. https://arxiv.org/abs/0812.0387.
  • [18] K. Buchin and W. Mulzer. Linear-time delaunay triangulations simplified. In 25th European Workshop on Computational Geometry, EuroCG ’09, pages 235–238, 2009.
  • [19] M. Bundefineddoiu, J. Chuzhoy, P. Indyk, and A. Sidiropoulos. Low-distortion embeddings of general metrics into the line. In Proceedings of the 37th Annual ACM Symposium on Theory of Computing, STOC ‘05, page 225–233, 2005.
  • [20] T. Carpenter, F. V. Fomin, D. Lokshtanov, S. Saurabh, and A. Sidiropoulos. Algorithms for low-distortion embeddings into arbitrary 1-dimensional spaces. In 34th International Symposium on Computational Geometry, SoCG ‘2018, pages 21:1–21:14, 2018.
  • [21] T. Chan. Well-separated pair decomposition in linear time? Information Processing Letters, 107(5):138–141, 2008.
  • [22] T. H. H. Chan, M. Li, L. Ning, and S. Solomon. New doubling spanners: Better and simpler. In The 40th International Colloquium on Automata, Languages and Programming, ICALP ‘13, pages 315–327, 2013.
  • [23] T.-H. H. Chan, M. Li, L. Ning, and S. Solomon. New doubling spanners: Better and simpler. SIAM Journal on Computing, 44(1):37–53, 2015.
  • [24] T.-H. Hubert Chan, Anupam Gupta, Bruce M. Maggs, and Shuheng Zhou. On hierarchical routing in doubling metrics. ACM Trans. Algorithms, 12(4):55:1–55:22, 2016. Preliminary version appeared in SODA 2005.
  • [25] B. Chandra, G. Das, G. Narasimhan, and J. Soares. New sparseness results on graph spanners. In Proceedings of the Eighth Annual Symposium on Computational Geometry, 1992.
  • [26] Barun Chandra. Constructing sparse spanners for most graphs in higher dimensions. Inf. Process. Lett., 51(6):289–294, 1994.
  • [27] S. Chechik and C. Wulff-Nilsen. Near-optimal light spanners. In Proceedings of the 27th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA’16, pages 883–892, 2016.
  • [28] Shiri Chechik and Christian Wulff-Nilsen. Near-optimal light spanners. ACM Trans. Algorithms, 14(3):33:1–33:15, 2018. preliminary version published in SODA 2016.
  • [29] L. P. Chew. There is a planar graph almost as good as the complete graph. In Proceedings of the Second Annual Symposium on Computational Geometry, SCG ‘86, pages 169–177, 1986.
  • [30] L. P. Chew. There are planar graphs almost as good as the complete graph. Journal of Computer and System Sciences, 39(2):205 – 219, 1989.
  • [31] K. Clarkson. Approximation algorithms for shortest path motion planning. In Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing, STOC ‘87, pages 56–65, 1987.
  • [32] V. Cohen-Addad and C. Mathieu. Effectiveness of local search for geometric optimization. In 31st International Symposium on Computational Geometry, volume 35 of SoCG ‘2015, pages 329–343, 2015.
  • [33] G. Das, P. Heffernan, and G. Narasimhan. Optimally sparse spanners in 3-dimensional euclidean space. In Proceedings of the 9th Annual Symposium on Computational Geometry, SCG ’93, pages 53–62, 1993.
  • [34] G. Das, G. Narasimhan, and J. Salowe. A new way to weigh malnourished euclidean graphs. In Proceedings of the 6th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’95, pages 215–222, 1995.
  • [35] M. Elkin and S. Solomon. Fast constructions of light-weight spanners for general graphs. In Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ‘13, 2013.
  • [36] Michael Elkin, Ofer Neiman, and Shay Solomon. Light spanners. SIAM J. Discret. Math., 29(3):1312–1321, 2015. preliminary version published in ICALP 2014.
  • [37] Michael Elkin and Shay Solomon. Narrow-shallow-low-light trees with and without steiner points. SIAM J. Discret. Math., 25(1):181–210, 2011. preliminary version published in ESA 2009.
  • [38] Michael Elkin and Shay Solomon. Steiner shallow-light trees are exponentially lighter than spanning ones. SIAM J. Comput., 44(4):996–1025, 2015. preliminary version published in FOCS 2011.
  • [39] J. Erickson. Dense point sets have sparse delaunay triangulations or “… but not too nasty”. Discrete & Computational Geometry, 33(1):83–115, 2004.
  • [40] Mohammad Farshi and Joachim Gudmundsson. Experimental study of geometric t-spanners. In Gerth Stølting Brodal and Stefano Leonardi, editors, Algorithms - ESA 2005, 13th Annual European Symposium, Palma de Mallorca, Spain, October 3-6, 2005, Proceedings, volume 3669 of Lecture Notes in Computer Science, pages 556–567. Springer, 2005.
  • [41] Mohammad Farshi and Joachim Gudmundsson. Experimental study of geometric t-spanners: A running time comparison. In Camil Demetrescu, editor, Experimental Algorithms, 6th International Workshop, WEA 2007, Rome, Italy, June 6-8, 2007, Proceedings, volume 4525 of Lecture Notes in Computer Science, pages 270–284. Springer, 2007.
  • [42] Arnold Filtser and Ofer Neiman. Light spanners for high dimensional norms via stochastic decompositions. In 26th Annual European Symposium on Algorithms, ESA 2018, August 20-22, 2018, Helsinki, Finland, pages 29:1–29:15, 2018.
  • [43] J. Gao, L. J. Guibas, and A. Nguyen. Deformable spanners and applications. Computational Geometry, 35(1):2–19, 2006.
  • [44] Lee-Ad Gottlieb. A light metric spanner. In IEEE 56th Annual Symposium on Foundations of Computer Science, FOCS 2015, Berkeley, CA, USA, 17-20 October, 2015, pages 759–772, 2015.
  • [45] J. Gudmundsson, C. Levcopoulos, G. Narasimhan, and M. H. M. Smid. Approximate distance oracles for geometric graphs. In Proc. of 13th SODA, pages 828–837, 2002.
  • [46] J. Gudmundsson, C. Levcopoulos, G. Narasimhan, and M. H. M. Smid. Approximate distance oracles for geometric spanners. ACM Transactions on Algorithms, 4(1), 2008.
  • [47] J. Gudmundsson, G. Narasimhan, and M. H. M. Smid. Fast pruning of geometric spanners. In Proc. of 22nd STACS, pages 508–520, 2005.
  • [48] Joachim Gudmundsson, Christos Levcopoulos, Giri Narasimhan, and Michiel H. M. Smid. Approximate distance oracles revisited. In Proc. of 13th ISAAC, pages 357–368, 2002.
  • [49] Joachim Gudmundsson, Christos Levcopoulos, Giri Narasimhan, and Michiel H. M. Smid. Approximate distance oracles for geometric spanners. ACM Trans. Algorithms, 4(1):10:1–10:34, 2008.
  • [50] Joachim Gudmundsson, Giri Narasimhan, and Michiel H. M. Smid. Fast pruning of geometric spanners. In Volker Diekert and Bruno Durand, editors, STACS 2005, 22nd Annual Symposium on Theoretical Aspects of Computer Science, Stuttgart, Germany, February 24-26, 2005, Proceedings, volume 3404 of Lecture Notes in Computer Science, pages 508–520. Springer, 2005.
  • [51] S. Har-Peled. Clustering motion. Discrete and Computational Geometry, 31(4):545–565, 2004.
  • [52] S. Har-peled. Geometric Approximation Algorithms. American Mathematical Society, 2011.
  • [53] S. Har-Peled and B. Raichel. Net and prune: A linear time algorithm for euclidean distance problems. Journal of the ACM, 62(6):1–35, 2015.
  • [54] S. Har-Peled and B. Sadri. How fast is the kk-means method? In Proceedings of the 16th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ‘05, page 877–885, 2006.
  • [55] Y. Hassin and D. Peleg. Sparse communication networks and efficient routing in the plane. In Proc. of 19th PODC, pages 41–50, 2000.
  • [56] R. M. Karp. Probabilistic analysis of partitioning algorithms for the traveling-salesman problem in the plane. Mathematics of Operations Research, 2(3):209–224, 1977.
  • [57] J. M. Keil. Approximating the complete euclidean graph. In Proceedings of the first Scandinavian Workshop on Algorithm Theory, SWAT ‘88, pages 208–213, 1988.
  • [58] J. M. Keil and C. A. Gutwin. Classes of graphs which approximate the complete Euclidean graph. Discrete and Computational Geometry, 7(1):13–28, 1992.
  • [59] Michael Kerber and Arnur Nigmetov. Metric spaces with expensive distances. CoRR, abs/1901.08805, 2019.
  • [60] P. N. Klein. Subset spanner for planar graphs, with application to subset TSP. In Proceedings of the 38th Annual ACM Symposium on Theory of Computing, STOC ’06, pages 749–756, 2006.
  • [61] Hung Le. A PTAS for subset TSP in minor-free graphs. In Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pages 2279–2298, 2020. Full version: arxiv:1804.01588.
  • [62] Hung Le and Shay Solomon. Truly optimal euclidean spanners. In 60th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2019, Baltimore, Maryland, USA, November 9-12, 2019, pages 1078–1100, 2019. Full version at https://arxiv.org/abs/1904.12042.
  • [63] Y. Mansour and D. Peleg. An approximation algorithm for min-cost network design. DIMACS Series in Discr. Math and TCS, 53:97–106, 2000.
  • [64] G. Narasimhan and M. Smid. Geometric Spanner Networks. Cambridge University Press, 2007.
  • [65] A. Nayyeri and B. Raichel. Reality distortion: Exact and approximate algorithms for embedding into the line. In Proceedings of the 56th Annual Symposium on Foundations of Computer Science, FOCS ‘15, page 729–747, 2015.
  • [66] A. Nayyeri and B. Raichel. A treehouse with custom windows: Minimum distortion embeddings into bounded treewidth graphs. In Proceedings of the 28 th Annual ACM-SIAM Symposium on Discrete Algorithm, SODA ‘17, page 724–736, 2017.
  • [67] A. Nayyeri and B. Raichel. Viewing the rings of a tree: Minimum distortion embeddings into trees. In Proceedings of the 30th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ‘19, pages 2380–2399, 2019.
  • [68] S. B. Rao and W. D. Smith. Approximating geometrical graphs via “spanners” and “banyans”. In Proceedings of the 30th Annual ACM Symposium on Theory of Computing, STOC ’98, pages 540–550, 1998. Full version at http://graphics.stanford.edu/courses/cs468-06-winter/Papers/rs-tsp.pdf.
  • [69] J. Ruppert and R. Seidel. Approximating the dd-dimensional complete Euclidean graph. In Proceedings of the 3rd Canadian Conference on Computational Geometry, CCCG ‘91, page 207–210, 1991.
  • [70] Jeffrey S. Salowe. On euclidean spanner graphs with small degree. In Proceedings of the Eighth Annual Symposium on Computational Geometry, Berlin, Germany, June 10-12, 1992, pages 186–191, 1992.
  • [71] S. Solomon. Euclidean Steiner shallow-light trees. Journal of Computational Geometry, 6(2), 2015. preliminary version published in SoCG 2014.
  • [72] S. Solomon and M. Elkin. Balancing degree, diameter and weight in euclidean spanners. In Proceedings of the 18th Annual European Symposium on Algorithms, ESA ‘10, pages 48–59, 2010.
  • [73] A. C. Yao. On constructing minimum spanning trees in kk-dimensional spaces and related problems. SIAM Journal on Computing, 11(4):721–736, 1982.