Light Euclidean Spanners with Steiner Points
LLight Euclidean Spanners with Steiner Points
Hung Le and Shay Solomon University of Victoria and University of Massachusetts Amherst Tel Aviv University
Abstract
The FOCS’19 paper of Le and Solomon [59], culminating a long line of research on Euclideanspanners, proves that the lightness (normalized weight) of the greedy (1 + (cid:15) )-spanner in R d is˜ O ( (cid:15) − d ) for any d = O (1) and any (cid:15) = Ω( n − d − ) (where ˜ O hides polylogarithmic factors of (cid:15) ),and also shows the existence of point sets in R d for which any (1+ (cid:15) )-spanner must have lightnessΩ( (cid:15) − d ). Given this tight bound on the lightness, a natural arising question is whether a betterlightness bound can be achieved using
Steiner points .Our first result is a construction of Steiner spanners in R with lightness O ( (cid:15) − log ∆), where∆ is the spread of the point set. In the regime of ∆ (cid:28) /(cid:15) , this provides an improvementover the lightness bound of [59]; this regime of parameters is of practical interest, as pointsets arising in real-life applications (e.g., for various random distributions) have polynomiallybounded spread, while in spanner applications (cid:15) often controls the precision, and it sometimesneeds to be much smaller than O (1 / log n ). Moreover, for spread polynomially bounded in 1 /(cid:15) ,this upper bound provides a quadratic improvement over the non-Steiner bound of [59], Wethen demonstrate that such a light spanner can be constructed in O (cid:15) ( n ) time for polynomiallybounded spread, where O (cid:15) hides a factor of poly( (cid:15) ). Finally, we extend the construction tohigher dimensions, proving a lightness upper bound of ˜ O ( (cid:15) − ( d +1) / + (cid:15) − log ∆) for any 3 ≤ d = O (1) and any (cid:15) = Ω( n − d − ). A t -spanner for a set P of points in the d -dimensional Euclidean space R d is a geometric graph thatpreserves all the pairwise Euclidean distances between points in P to within a factor of t , called the stretch factor ; by geometric graph we mean a weighted graph in which the vertices correspond topoints in 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 [27, 28] from 1986, whichpresented a spanner with constant stretch and O ( n ) edges for any set of n points in R . In thethree following decades, Euclidean spanners have evolved into an important subarea of Discrete andComputational Geometry, having found applications in many different areas, such as approximationalgorithms [65], geometric distance oracles [42, 45, 44, 43], and network design [52, 60]; see the bookby Narasimhan and Smid “Geometric Spanner Networks” [61] for an excellent account on Euclideanspanners and some of their applications. Numerous constructions of Euclidean spanners in two and The lightness of a spanner is the ratio of its weight and the MST weight. The spread ∆ = ∆( P ) of a point set P in R d is the ratio of the largest to the smallest pairwise distance. a r X i v : . [ c s . C G ] J u l igher dimensions were introduced over the years, such as Yao graphs [70], Θ-graphs [29, 54, 55, 66],the (path-)greedy spanner [4, 23, 61] and the gap-greedy spanner [67, 6]— unveiling an abundance oftechniques, tools and insights along the way; refer to the book of [61] for more spanner constructions.In addition to low stretch, many applications require that the spanner would be sparse , in theunweighted and/or weighted sense. The sparsity (respectively, lightness ) of a spanner is the ratio ofits size (respectively, weight) to the size (resp., weight) of a spanning tree (resp., MST), providinga normalized notion of size (resp., weight), which should ideally be O (1). For any dimension d = O (1), spanners with constant sparsity are known since the 80s [70, 29, 54, 55, 66, 4, 67, 6]; also,it is known since the early 90s that the greedy spanner has constant lightness [4]. The constantbounds on the sparsity and lightness depend on both (cid:15) and d . In some applications, (cid:15) must be avery small sub-constant parameter, so as to achieve the highest possible precision and minimizepotential errors, and in some situations (cid:15) may be as small as n − c for some constant 0 < c < (cid:15) and d in thesparsity and lightness bounds is of practical importance.Culminating a long line of work, in FOCS’19 Le and Solomon [59] showed that the precisedependencies on (cid:15) in the sparsity and lightness bounds are Θ( (cid:15) − d ) and ˜Θ( (cid:15) − d ), respectively, forany d = O (1) and any (cid:15) = Ω( n − d − ); throughout we shall use ˜ O, ˜Ω , ˜Θ to hide polylogarithmicfactors of (cid:15) . The lower bounds of [59] are proved for the d -dimensional sphere, for d = O (1). Onthe upper bound side, sparsity O ( (cid:15) − d ) is achieved by a number of classic constructions such asYao graphs [70], Θ-graphs [29, 54, 55, 66], the (path-)greedy spanner [4, 23, 61] and the gap-greedyspanner [67, 6], and the argument underlying all these upper bounds is basic and simple. On theother hand, constant lightness upper bound (regardless of the dependency on (cid:15) and d ) is achievedonly by the greedy algorithm [4, 31, 32, 65, 61, 41, 13, 59], and all known arguments for constantlightness are highly nontrivial, even for d = 2; in fact, the proofs in [4, 31, 32, 65] have missingdetails. The first complete proof was given in the book of [61], in a 60-page chapter, where it isshown that the greedy (1 + (cid:15) )-spanner has lightness O ( (cid:15) − d ), which improved the dependencies on (cid:15) and d given in all previous work. In SODA’19, Borradaile, Le and Wulff-Nilsen [13] presented ashorter and arguably simpler alternative proof that applies to the wider family of doubling metrics ,which improves the (cid:15) dependency provided in FOCS’15 by Gottlieb [41] for doubling metrics, butis inferior to the lightness bound of O ( (cid:15) − d ) by [61]. Finally, the lightness bound of ˜ O ( (cid:15) − d ) of [59]was proved via a tour-de-force argument; interestingly, the proof for d = 2 is much more intricatethan for higher dimensions d ≥ O ( (cid:15) (1 − d ) / ), and also provided a matching lower bound for d = 2. Their lower bound for sparsity is derived from a lightness lower bound; specifically, theyfirst prove that, for a set of points evenly spaced on the boundary of the unit square, with distancesΘ( √ (cid:15) ) between neighboring points, any Steiner (1 + (cid:15) )-spanner must incur lightness ˜Ω( (cid:15) ), and thenthey translated the lightness lower bound into a sparsity lower bound of ˜Ω( (cid:112) /(cid:15) ). Whether or notSteiner points can be used to reduce the lightness remained open in [59], but this should not come as The doubling dimension of a metric space (
X, δ ) is the smallest value d such that every ball B in the metric spacecan be covered by at most 2 d balls of half the radius of B . This notion generalizes the Euclidean dimension, since thedoubling dimension of the Euclidean space R d is Θ( d ). A metric space is called doubling if its doubling dimension isconstant. First, bounding the lightness of spanners is inherently more difficult than bounding theirsparsity— this is true for both Euclidean spaces and doubling metrics, as well as other graph familiesincluding general weighted graphs [4, 31, 32, 65, 61, 41, 13, 59, 26, 39, 33]. Second, constructingSteiner trees and spanners with asymptotically improved bounds is inherently more difficult thanconstructing their non-Steiner counterparts [34, 35, 68, 57, 11, 58]. In our particular case, while theclassic sparsity upper bound for non-Steiner Euclidean spanners is simple, its improved counterpartfor Steiner spanners by [59] requires a number of nontrivial insights and is rather intricate. Onthe other hand, the lightness upper bound of [59] uses a tour-de-force argument, and as mentionedalready this is true even for d = 2. Consequently, obtaining an improved lightness bound usingSteiner points seems currently out of reach, at least until an inherently simpler proof to [59] fornon-Steiner lightness is found (if one exists). In this paper, we explore the power of Steiner points in reducing lightness for Euclidean spacesof bounded spread ∆. Point sets of bounded spread have been studied extensively for Euclideanspanners and related geometric objects [9, 53, 30, 51, 17, 16, 36, 64, 1, 2, 5, 49, 50, 19, 62, 63, 18,69, 21]. The motivation for studying point sets of bounded spread is three-fold.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 ex-pectation and with high probability. In particular, it is known that for n -point sets drawnuniformly at random from the unit square, the expected spread is Θ( n ), and the expectedspread in the unit d -dimensional hypercube is n /d for any d = O (1). Researchers have studiedrandom distributions of point sets, in part to explain the success of solving various geometricoptimization problems in practice [9, 53, 30], and there are many results on spanners for ran-dom point sets [24, 7, 37, 10, 38, 14, 61, 69, 15, 21, 8, 56]. Of course, the family of boundedspread point sets is much wider than that of random point sets.2. Euclidean spanners can be constructed in (deterministic) O ( n ) time in such point sets [20],while there is no o ( n log n )-time algorithm for constructing Euclidean spanners in arbitrarypoint sets. (The result of [20] extends to other geometric objects, such as WSPD and com-pressed quadtrees, and some of the aforementioned references (e.g., [50, 17]) build on thisresult to achieve faster algorithms for other geometric problems for point sets of polynomiallybounded spread.)3. The case of bounded spread is sometimes used as a stepping stone towards the general case;see, e.g., [40, 47, 46, 21, 22, 3, 59].As mentioned above, Le and Solomon [59] showed that for a set of points evenly spaced on theboundary of the unit square, with distances Θ( √ (cid:15) ) between neighboring points, any Steiner (1 + (cid:15) )-spanner must incur lightness ˜Ω( (cid:15) ). Note that the spread of this point set is √ (cid:15) . The non-Steinerupper bound for d = 2 by [59] is ˜ O ( (cid:15) − ). A natural arising question is whether one can improve thelightness upper bound of ˜ O ( (cid:15) − ) using Steiner points, ideally quaratically, for point sets of boundedspread. We answer this question in the affirmative. The lightness of Steiner spanners can be defined with respect to the SMT (Steiner minimum tree) weight, but wecan also stick to the original definition, since the SMT and MST weights differ by a constant factor smaller than 2. The spread of a Euclidean space is the ratio of the maximum to minimum pairwise distances in it. heorem 1.1. Any point set P in R of spread ∆ admits a Steiner (1 + (cid:15) ) -spanner of lightness O ( log ∆ (cid:15) ) . Recalling that the lower bound of ˜Ω( (cid:15) ) by [59] applies to a point set of spread √ (cid:15) , the lightnessupper bound provided by Theorem 1.1 is therefore tight (up to polylogarithmic factors in (cid:15) ) forpoint sets of spread poly( (cid:15) ). Moreover, this upper bound improves the general upper bound of˜ O ( (cid:15) − ) from [59] in the regime log ∆ (cid:28) (cid:15) − , i.e., when ∆ (cid:28) /(cid:15) . For spread polynomial in n , weget an improvement over [59] as long as (cid:15) (cid:28) n . Of course, the improvement gets more significantas (cid:15) decays— in the most extreme situation (cid:15) is inverse polynomial in n , and then the improvementover [59] is polynomial in n even when ∆ is exponential in n .Our second result is that a Steiner spanner with near-optimal lightness can be constructed inlinear time, when the spread ∆ is polynomial in n . Theorem 1.2.
For any point set P in R of spread ∆ = O ( n c ) , for any c = O (1) , a Steiner (1 + (cid:15) ) -spanner of lightness O ( log ∆ (cid:15) ) can be constructed in O (cid:15) ( n ) time, where O (cid:15) ( . ) hides a factorof poly( (cid:15) ) . Higher dimensions
The lower bound of [58] states that any (non-Steiner) (1 + (cid:15) )-spanner must incur lightness Ω( (cid:15) − d ),for any d = O (1). We show that, similarly to the 2-dimensional case, one can improve the lightnessalmost quadratically using Steiner points, for point sets of bounded spread. Theorem 1.3.
For any d ≥ , any point set P in R d of spread ∆ admits a Steiner (1 + (cid:15) ) -spannerof lightness ˜ O ( (cid:15) − ( d +1) / + (cid:15) − log ∆) . Interestingly, the dependence on the spread in the lightness bound provided by Theorem 1.3does not grow with the dimension, hence the improvement over the non-Steiner bound gets moresignificant as the dimension grows, provided of course that the spread is not too large.
Proof of Theorem 1.1
We partition the set of pairs of points into m = O (log ∆) subsets {P , . . . , P m } where P i containspairs of distances in [2 i − , i ). The objective is to show that one can preserve distances between allpairs in P i to within a factor of (1 + (cid:15) ) using a Steiner spanner S i of weight O ( w ( MST ) (cid:15) ); by takingthe union of all such spanners, we obtain a Steiner spanner with the required lightness.Let L i = 2 i . A natural idea to preserve distances in P i is to (a) find an ( (cid:15)L i )-net N i of P and(b) add to the spanner edges between any two net points p and q such that ( u, v ) ∈ P i and thereis a pair ( u, v ) in P i such that u and v are covered by (i.e., within distance (cid:15)L i from) p and q ,respectively. The stretch will be in check because u and v are at distance roughly O ( (cid:15) ) || u, v || fromtheir net points and thus, the additive stretch between u and v is O ( (cid:15) ) || u, v || . For lightness, we canshow that the number of net points | N i | = O ( w ( MST ) (cid:15)L i ), and using a (nontrivial) packing argument, A subset of points N ⊆ P is an r -net if every point in P is within distance r from (or covered by) some point in N and pairwise distances between points in N are larger than r . N i (cid:15) edges of length O ( L i ) added in step (b). Thus, the total weight of the spanneris O ( w ( MST ) (cid:15) ), which is bigger than our aimed lightness bound by a factor of (cid:15) .To shave the factor of (cid:15) , we employ two ideas. First, we take N i to be a √ (cid:15)L i -net of P . Inthis way | N i | = O ( w ( MST ) √ (cid:15) ). By applying the 2-dimensional Steiner spanner construction of [59] asa blackbox, we obtain a Steiner spanner with only | N i |√ (cid:15) edges of length O ( L i ) that approximatesdistances between points in N i ; we have thus reduced the weight bound to O ( w ( MST ) (cid:15) ), as required.The problem now is with the stretch guarantee: Preserving distances between the points in N i is nolonger sufficient. Indeed, for every pair ( u, v ) ∈ P i , the distance between u and v to the nearest netpoints is O ( √ (cid:15) ) || u, v || , hence the resulting stretch is (1 + O ( √ (cid:15) )) || u, v || . We overcome this hurdle byintroducing a novel construction of single-source spanners , which generalize Steiner shallow-lighttrees of Solomon [68]. Specifically, we open the black-box of [59] and observe that every timewe want to preserve the distance from (some) Steiner point s to a net-point p ∈ N i , instead ofconnecting s to p by a straight line of weight O ( L i ), we can use a single-source spanner (rootedat s ) of weight O ( L i ) to preserve distances (up to a (1 + (cid:15) ) factor) from s to every point withindistances O ( √ (cid:15)L i ) from p . As a result, our Steiner spanner can preserve distances between anytwo points ( u, v ) ∈ P i to within a factor of (1 + (cid:15) ), where u ∈ B ( p, O ( √ (cid:15)L i )), v ∈ B ( q, O ( √ (cid:15)L i )),and p, q are their nearest net points. Proof of Theorem 1.3
By extending the construction in Theorem 1.1, we can construct a Steiner spanner with lightness˜ O ( (cid:15) − ( d +1) / log ∆) as follows: for each P i , we construct an (cid:15)L i -net N i and then apply the construc-tion of [59] as a black box to obtain a Steiner spanner S i for N i with weight ˜ O ( (cid:15) − ( d − / | N i | L i ). Thestretch will be in check since N i is an (cid:15)L i -net. Since | N i | = O ( w ( MST ) (cid:15)L i ), w ( S i ) = ˜ O ( (cid:15) − ( d +1) / w ( MST )).The union of Steiner spanners S i for all i ∈ [1 , m ] has weight ˜ O ( (cid:15) − ( d +1) / log ∆) w ( MST ). Note when d ≥
3, we can not take N i as a √ (cid:15)L i -net since the construction of single-source spanners with O ( L i )weight in the proof of Theorem 1.1 only works when d = 2.Most of our effort is to further refine the result in a way that log ∆ term is multiplied only by (cid:15) − and not by the term that depends on d . We first reduce to the problem of approximating distancesbetween pairs (of endpoints) in a family of edge sets E = { E , . . . , E m } with m = O (log ∆), whereedges of E i have length (roughly) in the interval ( (cid:15) i , (cid:15) i ] and edges in E have length in [1 , (cid:15) ). Let L i = (cid:15) i . For a technical reason, we will subdivide edges of MST by using a set of Steiner points K so that each new edge has length in (1 / , E using a charging cover tree T : T has depth m + 1,level i of T is associated with an (cid:15)L i -cover of P ∪ K , and leaves (at level 0) of T are points in P ∪ K . For each cover N i at level i of T , we construct a graph H i where V ( H i ) = N i and there is anedge ( u, v ) between u, v ∈ N i if there is a corresponding edge in E i whose endpoints are covered by u and v , respectively. Graph H i is used to distinguish between low degree points , whose degree in H i is O ( (cid:15) ), and high degree points , whose degree in H i is Ω( (cid:15) ). T will have two charging properties :(1) every point p ∈ N i has at least (cid:15)L i uncharged descendants and (2) at every level i , one cancharge up to (cid:15)L i uncharged descendants of high degree points. Note that, once an uncharged pointis charged at level i , it will be marked as charged at higher levels; initially at level 0, every point is uncharged . A subset of points N ⊆ P is an r -cover if every point in P is within distance r from some point in N .
5e then use a charging cover tree T to guide the Steiner spanner construction. Specifically, atlevel i , we add all edges incident to low degree points to the spanner and we can show that thetotal weight of all these edges over all levels is at most O ( w ( MST ) log ∆ (cid:15) ). For high degree points, weapply the construction of Le and Solomon [59] to obtain a Steiner spanner S i , and we charge theweight of S i to L i (cid:15) uncharged descendants of each high degree point. This charging is possible bythe charging property (2) of T . We then show that each point in K ∪ P is charged a weight at most˜ O ( (cid:15) − ( d +1) / ). Thus, the total weight of the Steiner spanners (for high degree points) at all levels is˜ O ( (cid:15) − ( d +1) / ) w ( MST ).Our construction of a charging cover tree is inspired by the construction of a hierarchy of clustersin the iterative clustering technique. The technique was initially developed by Chechick and Wulff-Nilsen [25] to construct light spanners for general graphs, and then was adapted to many otherdifferent settings [25, 12, 13, 59, 58]. Our construction is directly inspired by the construction ofBorradaile et al. [13] 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 treeconstruction. We refer readers to Section 5 for more details.
Let P be a point set of n points in R d . We denote by || p, q || the Euclidean distance between twopoints p, q ∈ R d . Let B ( p, r ) = { x ∈ R d , || p, x || ≤ r } be the ball of radius r centered at p . Givena point p and a set of point Q on the plane, we define the distance between p and Q , denoted by d ( p, Q ), to be inf x ∈ Q || p, x || .An r -cover of P is a subset of points N ⊆ P such that for every point x ∈ P , there is at leastone point p ∈ N such that || p, x || ≤ r ; we say x is covered by p . When the value of r is clear fromthe context, we simply call N a cover of P . A subset of point N ⊆ P is called an r -net if N is an r -cover of P and also an r -packing of P , i.e., for every two points p (cid:54) = q ∈ N , || p, q || > r .Let G be a graph with weight function w on the edges. We denote the vertex set and edge setof G by V ( G ) and E ( G ), respectively. Let d G ( p, q ) be the distance between two vertices p, q of G .We denote by G [ X ] the subgraph induced by a subset of vertices X . G is geometric in R d if each vertex of G corresponds to a point p ∈ R d and for every edge ( p, q ), w ( p, q ) = || p, q || . In this case, we use points to refer to vertices of G . We say that a geometric graph G is a (1+ (cid:15) ) -spanner of P if V ( G ) = P and for every two points p (cid:54) = q ∈ P , d G ( p, q ) ≤ (1+ (cid:15) ) || p, q || .We say that G is a Steiner (1 + (cid:15) ) -spanner for P if P ⊆ V ( G ) and for every two points p (cid:54) = q ∈ P , d G ( p, q ) ≤ (1 + (cid:15) ) || p, q || . Points in V ( G ) \ P are called Steiner points . Note that distances betweenSteiner points may not be preserved in a Steiner (1 + (cid:15) )-spanner.
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 [68].
Lemma 3.1.
Let L be a line segment of length √ (cid:15) and p be a point on the plane such that d ( p, L ) =1 . For any point set X ∈ L , there is a geometric graph H of weight Θ(1) such that d H ( p, x ) ≤ (1 + (cid:15) ) || p, x || for any point x ∈ X . We will use single-source spanners (defined below) as a black box in our construction.6 efinition 3.2 (Single-source spanners) . Given a point p (source), a set of points X on the planeand a connected geometric graph S X spanning X , a single source (1 + (cid:15) )-spanner w.r.t. ( p, X, S X ) is a graph H such that for every x ∈ X : || p, x || ≤ d H ∪ S X ( p, x ) ≤ (1 + (cid:15) ) || p, x || . Our starting point is the construction of a single source spanner from a point p to point set X enclosed in a circle C of radius √ (cid:15) such that d ( p, C ) = 1. We show that, if S X approximatelypreserves the distances between pairs of points in X up to a (1 + g(cid:15) ) factor for any constant g , itis possible to construct a single-source spanner with weight O (1). It is not so hard to see that ifSteiner points are not allowed, a lower bound of weight Ω( √ (cid:15) ) holds here. Lemma 3.3.
Let X be a set of points in a circle C of radius √ (cid:15) on the plane and a point p of distance from C . Let S X be a (1 + g(cid:15) ) -spanner of X for any constant g . Then there is asingle-source (1 + 13 (cid:15) ) -spanner H w.r.t. ( p, X, S X ) of weight O (1) when g (cid:28) (cid:15) . Proof:
Let c be a center of C . W.l.o.g, we assume that pc is parallel to y -axis. Let Q be theaxis-aligned smallest square bounding C . Observe that the side length of Q is at mos 2 √ (cid:15) . Placea √ (cid:15) × √ (cid:15) grid W on Q , so that every cell of W is a square of side length (cid:15) . Observe that: w ( W ) ≤ (cid:15) · (cid:15) = O (1)We extend W to W by connecting an (arbitrary) corner of each grid cell to an arbitrary pointof X in the cell. Observe that: w ( W ) = O ( W ) = O (1). Let P be the set of grid points on the side,say L , of Q that is closer to p (than the opposite side). We apply the construction in Lemma 3.1to p and L to obtain a geometric graph K . Let H = W ∪ K . Since w ( K ) = O (1) by Lemma 3.1,it holds that w ( H ) = O (1).It remains to show the stretch bound. Let x be any point of X and v be the point in the samecell with x that is connected to a corner, say z of grid W . We will show below that: d W ∪ K ( z, p ) ≤ (1 + 3 (cid:15) ) || p, z || (1)If Equation 1 holds, it would imply: d S X ∪ H ( x, p ) ≤ d S X ( x, v ) + d H ( v, p ) ≤ (1 + g(cid:15) ) √ (cid:15) + d H ( v, p ) ≤ (1 + g(cid:15) ) √ (cid:15) + d H ( z, v ) + d H ( z, p ) g (cid:28) /(cid:15) ≤ √ (cid:15) + √ (cid:15) + d W ∪ K ( z, p ) Eq. 1 ≤ (1 + 3 (cid:15) ) || p, z || + 3 √ (cid:15) || x,z ||≤√ (cid:15) ≤ (1 + 3 (cid:15) )( || p, x || + √ (cid:15) ) + 3 √ (cid:15) ≤ (1 + 3 (cid:15) ) || p, x || + 7 √ (cid:15) ≤ (1 + 13 (cid:15) ) || p, x || since || p, x || ≥ y be the projection of z on L . (Point y is also a grid point; see Figure 1) Let y (cid:48) , z (cid:48) be projections of y and z on the line containing pc ,respectively. Let u be the intersection of pz and yy (cid:48) . Observe that || p, y || ≤ (1 + (cid:15) ) ≤ (1 + (cid:15) ) || p, u || .Thus, || p, y || + || y, z || ≤ (1 + (cid:15) ) || p, u || + || y, z || ≤ (1 + (cid:15) ) || p, u || + || u, z || ≤ (1 + (cid:15) ) || p, z || (2)Since d W ( z, y ) = || z, y || and d K ( y, p ) = (1 + (cid:15) ) || p, y || by Lemma 3.1, we have: d W ∪ K ( z, p ) ≤ (1 + (cid:15) )( || z, y || + || p, y || ) Eq. ≤ (1 + (cid:15) )(1 + (cid:15) ) || p, z || ≤ (1 + 3 (cid:15) ) || p, z || (3)which implies Equation 1. 7 Q Lp xv zK Q Lp z Kyy' z'c u
Figure 1: (Left) A single source spanner from p to a set of points enclosed by a circle of radius √ (cid:15) . Onepoint in each non-empty cell is connected to a corner by a thick edge. (Right) An illustration for analyzingthe stretch of pz . We obtain the following corollary of Lemma 3.3.
Corollary 3.4.
Let X be a set of points in a circle C of radius √ (cid:15)L on the plane and a point p of distance L/h from C for some constant h ≥ . Let S X be a (1 + g(cid:15) ) -spanner of X for anyconstant g . Then there is a single-source (1 + 13 (cid:15) ) -spanner H w.r.t. ( p, X, S X ) of weight O ( hL ) when g (cid:28) (cid:15) . Proof:
We scale the space by
L/h . In the scaled space, C has radius h √ (cid:15) and d ( p, C ) = 1.Let C , C , . . . , C m , where m = O ( h ), be circles of radius √ (cid:15) covering C ; such a set of circlescan be constructed greedily. We apply Lemma 3.3 to p and each C i to construct a single-source(1 + 13 (cid:15) )-spanner H i from p to each C i . The final spanner is H = ∪ mi =1 H i that has total weight O ( h ) in the scaled metric. Thus, in the original metric, w ( H ) = O ( h 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 1. Let P = (cid:0) P (cid:1) beall pairs of points. Partition P into O (log ∆) sets P , P , . . . , P (cid:100) log ∆ (cid:101) where P i is the set of pairs( x, y ) such that || x, y || ∈ [2 i − , i ).For a fixed i , we claim that there is a geometric graph H i such that for every two distinct points( x, y ) ∈ P i , d H ∪ ... ∪ H i ( x, y ) ≤ (1+ (cid:15) ) || x, y || and that w ( H i ) = O ( (cid:15) ) w ( MST ). Thus, H ∪ . . . ∪ H (cid:100) log ∆ (cid:101) is a Steiner spanner with weight O ( log ∆ (cid:15) ) w ( MST ).We now focus on constructing H i . Let S i − = H ∪ H . . . ∪ H i − . We will construct a spannerwith stretch (1 + c(cid:15) ) for some constant c . By induction, we can assume that: d S i − ( p, q ) ≤ (1 + c(cid:15) ) || p, q || (4)for any pair ( p, q ) ∈ P ∪ . . . ∪ P i − . 8 a H a H b (a) (b)L i ⩾ B H b L i ε L i rp yxvz L i 𝛩 ( ) Figure 2: (a) Square B is divided into O (1) horizontal and vertical bands of width L i / each. (b) TheSteiner spanner construction for two non-adjacent horizontal bands H a and H b . The dashed cone representsa single-source spanner from r to circle B ( p, √ (cid:15)L i ) . Let L i = 2 i and N i be a ( √ (cid:15)L i )-net of P . For each point x , let N i ( x ) be the net point that covers x : the distance from x to N i ( x ) is at most √ (cid:15)L i . Claim 3.5. | N i | = O ( w ( MST ) L i √ (cid:15) ) . Proof:
Consider the circle B ( p, √ (cid:15)L i ) centered at p ; B ( p, √ (cid:15)L i ) contains a segment of lengthΩ( √ (cid:15)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 Q bounding the point set. In the following,we divide Q into a set of (overlapping) sub-squares B of side length Θ( L i ) each. This way, for anypair ( x, y ) ∈ P i (of distance at most L i ), there is a sub-square entirely containing N i ( x ) , N i ( y ), andthe balls of radius O ( √ (cid:15)L i ) around the two net points. Constructing B We first divide Q into subsquares of side length 5 L i each . For eachsubsquare B , we extend its borders equally to four directions by an amount of 2 L i ineach direction. After this extension, B has side length 9 L i . Claim 3.6.
Every point in Q belongs to at most subsquares in B . Furthermore, for each pair ( x, y ) ∈ P i , there is a subsquare B ∈ B such that B ( N i ( x ) , √ εL i ) , B ( N i ( y ) , √ εL i ) are entirelycontained in B . Proof:
Let B be a subsquare in B containing one of the endpoints of ( x, y ), say x , before extension.Then, after extension, B will contain both x, y since || x, y || ≤ L i , and furthermore, x and y are atleast L i away from the boundary since we extended B by 2 L i in each direction. Thus, points in B ( N i ( x ) , √ εL i ) ( B ( N i ( y ) , √ εL i )) will be at most 2 √ (cid:15)L i < L i from x ( y ) when (cid:15) (cid:28) B ∈ B . Let N B = N i ∩ B . By abusing notation, we denote by P i ∩ B allthe pairs in B of P i . We will show that: We assume that the side length of Q is divisible by 5 L i ; otherwise, we can extend Q in such a way. laim 3.7. There is a Steiner spanner S B of weight at most O ( | N B | L i / √ (cid:15) ) such that for any pairof points ( x, y ) ∈ P i ∩ B , it holds that: d S B ∪ S i − ( x, y ) ≤ (1 + c(cid:15) ) || x, y || for some big enough constant c . Proof:
We divide B into O (1) horizontal (vertical) bands of length (width) L i / x, y ∈ P i ∩ B , N i ( x ) and N i ( y ) are in two non-adjacent horizontal bands and/or verticalbands (see Figure 2). These bands exist since || N i ( x ) , N i ( y ) || ≥ || x, y || − √ (cid:15)L i ≥ L i / − √ (cid:15)L i ≥ L i / H a and H b , d ( H a , H b ) ≥ L i . Draw abisecting segment (touching two sides of B ) between H a and H b and place O ( √ (cid:15) ) equally-spacedSteiner points, say R , on the bisecting line in a way that the distance between any two nearbySteiner points is L i √ (cid:15) (see Figure 2(a)). For each point r ∈ R , and each net point p i ∈ N B ∩ ( H a ∪ H b ), we apply the construction of Corollary 3.4 to r , the set of endpoints of P i inclosed in circle B ( p i , √ (cid:15)L i ) and S i − ; let S a,b ( p i ) be the obtained geometric graph (see Figure 2(b)). Note that d ( r, B ( p i , √ (cid:15)L i )) = Ω( L i ). Thus, by Corollary 3.4, w ( S a,b ( p i )) = O ( L i ) and that: d S i − ∪ S a,b ( p i ) ( r, q ) ≤ (1 + 13 (cid:15) ) || r, q || (5)for any q ∈ B ( p i , √ (cid:15)L i ) ∩ P . Let S a,b ( r ) = ∪ p i ∈ N B ∩ ( H a ∪ H b ) S a,b ( p i ). It holds that w ( S a,b ( r )) ≤ O ( L i ) | N B ∩ ( H a ∪ H b ) | . Let S a,b = ∪ r ∈ R S a,b ( r ). Then, we have: w ( S a,b ) ≤ O ( L i · | R | · | N B ∩ ( H a ∪ H b ) | ) = O ( L i √ (cid:15) | N B ∩ ( H a ∪ H b ) | ) (6)We apply the same construction for every pair of non-adjacent vertical bands. We then let S B bethe union of all S a,b for every pair of non-adjacent horizontal/vertical bands H a , H b . It holds that: w ( S B ) = O ( L i · | R | · | N B | ) = O ( L i | N B |√ (cid:15) ) (7)since there are only O (1) pairs of bands. To bound the stretch, let ( x, y ) be a pair in P i whoseendpoints are in B . W.l.o.g, assume that H a , H b are two non-adjacent horizontal bands that contain N i ( x ) and N i ( y ), respectively. Let v be the intersection of segment xy and the bisecting line L of H a , H b (see Figure 2(b)). Let r ∈ R be the closest Steiner point to v in L and z be the projectionof r on xy . Observe that || z, x || , || z, y || ≥ L i − || z, v || ≥ L i / − √ (cid:15)L i ≥ L i /
32 when (cid:15) (cid:28)
1. Wehave: || r, x || + || r, y || = (cid:112) || x, z || + || r, z || + (cid:112) || y, z || + || r, z || ≤ || x, z || (cid:115) (cid:15)L i || x, z || + || y, z || (cid:115) (cid:15)L i || y, z || since || r, z || ≤ √ (cid:15)L i ≤ || x, z ||√ (cid:15) + || y, z ||√ (cid:15) since || x, z || , || y, z || ≥ L i / ≤ || x, z || (1 + 512 (cid:15) ) + || y, z || (1 + 512 (cid:15) ) = (1 + 512 (cid:15) ) || x, y || d S B ∪ S i − ( x, y ) ≤ (1 + 13 (cid:15) )( || r, x || + || r, y || ) = (1 + 13 (cid:15) )(1 + 512 (cid:15) ) || x, y || = (1 + O ( (cid:15) )) || x, y || Thus, the stretch is (1 + c(cid:15) ) for a sufficiently big constant c .Let H i = ∪ B ∈B S B . Since each net point belongs to at most 4 subsquares in B by Claim 3.6,and w ( H i ) ≤ O ( | N i | L i √ (cid:15) ) by Claim 3.7, it holds that: w ( H i ) = O ( L i √ (cid:15) w ( MST ) L i √ (cid:15) ) = O ( w ( MST ) (cid:15) ) (8)by Claim 3.5 as desired. In this section, we assume that ∆ = O ( n c ) for some constant c , and (cid:15) is a constant. We use thesame model of computation used by Chan [20]: the real-RAM model with Θ(log n ) word size andfloor function. We will use O (cid:15) notation to hide a polynomial factor of (cid:15) . Chan [20] showed that: Theorem 4.1 (Step 4 in [20]) . Given a poin set P ∈ R d with spread ∆ = O ( n c ) for constant d and c , a (1 + (cid:15) ) -spanner of P can be constructed in O (cid:15) ( P ) time. We will use a construction of an r -net for a point set P for any r in time O ( n ). Such aconstruction was implicit in the work of Har-Peled [48] which was made explicit by Har-Peled andRaichel (Lemma 2.3 [50]). Lemma 4.2 (Lemma 2.3 and Corollary 2.4 [50]) . Given r ≥ and an n -point set P in R d , an r -net N of P can be constructed in O ( n ) time. Furthermore, for each net point p , one can computeall the points covered by p in total O ( n ) time. We first show that the spanner in Corollary 3.4 can be implemented in O (cid:15) ( | X | ) time. Claim 4.3.
The single-source spanner H in Corollary 3.4 can be found in O (cid:15) ( | X | ) time. Proof:
First, we observe that the single source spanner in Lemma 3.3 can be constructed in time O (cid:15) ( | X | ). This is because the grid W has size O (cid:15) (1) and the SLT tree from p to (a set of O ( √ (cid:15) )grid points on) L can be constructed in O (cid:15) (1) time. The single-source spanner in Corollary 3.4 usesa constant number of constructions construction in Lemma 3.3. Thus, the total running time is O (cid:15) ( | X | ). Proof: [Proof of Theorem 1.2]Our implementation will follow the construction in Section 3 ; we will reuse notation in thatsection as well. Let K be a (1 + (cid:15) )-spanner H for P constructed in time O ( n ) by Theorem 4.1. Inour fast construction algorithm, instead of considering all pairs of points P = (cid:0) P (cid:1) , we only considerthe pairs corresponding to edges of H ; there are O ( n ) such pairs. Our algorithm has four steps: • Step 1
Partition pairs of endpoints in E ( H ) into at most O (log(∆)) sets P , . . . , P (cid:100) log ∆ (cid:101) where P i is the set of pairs ( x, y ) such that || x, y || ∈ [2 i − , i ). Let L i = 2 i . This stepcan be implemented in time O ( | E ( H ) | ) = O (cid:15) ( n ). The following steps are applied to each i ∈ [1 , (cid:100) log ∆ (cid:101) ]. Let P i be the set of endpoints of P i . We observe that: n (cid:88) i =1 | P i | ≤ n (cid:88) i =1 |P i | = 2 | E ( H ) | = O ( n ) (9)11 Step 2
Construct a ( √ (cid:15)L i )-net N i for P i in O ( | P i | ) time using the algorithm in Lemma 4.2. • Step 3
Compute a bounding square Q and divide it into (overlapping) subsquares of lengthΘ( L i ) each. Let B be the set of subsquares that contain at least one point participating inthe pairs P i . Since there are only O ( | P i | ) non-empty subsquares, B can be computed in time O ( | P i | ) by iterating over each point and check (in O (1) time) which subsquare the point fallsinto. Here we use the fact that each floor operation takes O (1) time. • Step 4
For each subsquare B ∈ B , we divide it into O (1) horizontal bands and vertical bandsof length L i /
8. For each pair of non-adjacent (horizontal) bands H a , H b , construct a set of O ( √ (cid:15) ) Steiner points on the bisecting line between H a and H b as in Section 3. For eachSteiner point r and each net point p ∈ N i ∩ ( H a ∩ H b ), we apply Corollary 3.4 to construct asingle source spanner from r to a set of points B ( p, √ (cid:15)L i ) ∩ P i ; this step can be implementedin time O (cid:15) ( | B ( p, √ (cid:15)L i ) ∩ P i | ) by Claim 4.3. By Claim 3.6, the construction in this step canbe implemented in O (cid:15) ( | P i | ) time. Our final spanner is the union of all single source spannersin all subsquares in B .The running time needed to implement Steps 2 to 4 is O (cid:15) ( (cid:80) i =1 | P i | ) = O (cid:15) ( n ) by Equation 9.The same analysis in Section 3 gives O ( log ∆ (cid:15) ) lightness. For stretch, we observe that the stretchof the spanner for each edge of H is (1 + O ( (cid:15) )). Thus, the stretch for every pair of points in P is(1 + (cid:15) )(1 + O ( (cid:15) )) = (1 + O ( (cid:15) )). We can recover stretch (1 + (cid:15) (cid:48) ) by setting (cid:15) (cid:48) = (cid:15)c where c is theconstant behind big-O. In this section, we a light Steiner spanner for a point set P ∈ R d with spread ∆ as in Theorem 1.3.We rescale the metric so that every edge in (cid:0) P (cid:1) has weight at least (cid:15) . Let MST be the minimumspanning tree of P . We subdivide each MST edge of length >
1, by placing Steiner points greedily,in a way that each new edge has length at least / and at most
1. Let K be the set of Steinerpoints. We observe that: w ( MST ) = Θ( | P | + | K | ) (10)Let δ > L i = δ(cid:15) i . Let E δ = { E , . . . , E m } be the set of edges such that E i = { e | e ∈ (cid:18) P (cid:19) ∧ w ( e ) ∈ ( L i / , L i ] } (11)where m = (cid:100) log (cid:15) (∆ / ( (cid:15)δ )) (cid:101) ≤ (cid:100) log (cid:15) ∆ (cid:101) + 1. If an edge e ∈ E i for some E i ∈ E δ , we will abusenotation by saying that e ∈ E δ . 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 E δ with weight ˜ O ( (cid:15) − ( d +1) / + ( δ + (cid:15) − ) log (cid:15) ∆) w ( MST ) . We will show below that Lemma 5.1 implies Theorem 1.3.
Proof: [Proof of Theorem 1.3] We assume that (cid:15) is a power of 2. We partition the interval [1 , (cid:15) )into J = log ( (cid:15) ) intervals [1 , , . . . , [2 J − , J ). For each fixed j ∈ [1 , J ], let δ i = 2 j , and E δ j be theset of edges with δ = δ j in the definition of E δ . Recall that we scale the metric so that every edgein (cid:0) P (cid:1) has weight at least (cid:15) . Thus, (cid:0) P (cid:1) = ∪ Jj =1 E δ j δ j ≤ (cid:15) for all j ∈ [1 , J ]. By Lemma 5.1, there exists a Steiner spanner S j withweight ˜ O ( (cid:15) − ( d +1) / + ( (cid:15) − log (cid:15) ∆) w ( MST ) preseving distances between endpoints of edges in E δ j up to a (1 + (cid:15) ) factor. Then S = ∪ Ji =1 S j is a Steiner (1 + (cid:15) )-spanner with weight ˜ O ( (cid:15) − ( d +1) / + (cid:15) − log ∆) w ( MST ).We now focus on constructing a Steiner spanner in Lemma 5.1. We will use the following Steinerspanner construction as a black box.
Theorem 5.2 (Theorem 1.3 [59]) . For a given point set P , there is a Steiner (1 + (cid:15) ) -spanner,denoted by STP ( P ) , with ˜ O ( (cid:15) − ( d − / ) | P | edges that preserves pairwise distances of points in P upto a (1 + (cid:15) ) factor. We will rely on a cover tree to construct a Steiner spanner. Let c be a sufficiently big constantchosen later ( c = 20). Definition 5.3 (Cover tree) . A cover T for point set P ∪ K with ( m + 1) levels has each nodeassociated with a point of P such that (a) level- of T is the point set P ∪ K , (b) level- i of T isassociated with a ( c(cid:15)L i ) -cover N i of P and (c) N m ⊆ N m − ⊆ . . . ⊆ N . A point p may appear in many levels of a cover tree T . To avoid confusion, we denote by ( p, i )the copy of p at level i , and we still call ( p, i ) a point of P ∪ K . For each point ( p, i ), we denote by child ( p, i ) and desc ( p, i ) the set of children and descendants of ( p, i ) in T , respectively. Note that desc ( p, i ) includes ( p, i ).We will construct the Steiner spanner level by level, starting from level 1. At every level, wewill add a certain set of edges to E sp . We then charge the weight of a subset of the edges to asubset of uncharged points of P ∪ K ; initially, every point of P ∪ K is uncharged . To decide whichuncharged points we will charge to at level i , we consider a geometric graph H i where V ( H i ) = N i and there is an edge between two points ( p, i ) (cid:54) = ( q, i ) (of weight || p, q || ) in H i if there exists at leastone e ∈ E i between two descendants of ( p, i ) and ( q, i ), respectively. We say a cover point ( p, i ) has high degree if its degree in H i is at least c(cid:15) . At level i , we only charge to uncharged points whichare descendants of high degree cover points. The intuition is that high cover points have manydescendants. This leads to a notion of a charging cover tree . We call a cover tree a charging covertree for E δ if for all level i ≥ p, i ) has at least (cid:15)L i descendants that are uncharged at level less than i .(2) Up to (cid:15)L i / p, i ) can be charged atlevel i . No descendant of low-degree points is charged at level i .We show how to construct a charging cover tree in Appendix 5.4. We now show that given acharging cover tree, we can construct a Steiner spanner with the lightness bound in Lemma 5.1.Let T be such a charging cover tree. We define a set of edges E T as follows: E T = { ( p, q ) | ( p ∈ child ( q, i ) ∨ q ∈ child ( p, i )) for some i } (12)We abuse notation by denoting E T the graph induced by the set of edges in E T . Claim 5.4. w ( E T ) = O ( δ + (cid:15) − log (cid:15) ∆) w ( MST )) and for any p and every x (cid:54) = y ∈ desc ( p, i ) , d E T ( x, y ) ≤ c(cid:15)L i . roof: Edges in E T can be partitioned according to levels where an edge is at level i if it connectsa point ( p, i ) and its parent. Observe that at level 0, the total edge weight is at most cδ times thenumber of points and hence, the total weight is O ( δ | K ∪ P | ) = O ( δw ( MST )) by Equation 10. Athigher level, we observe that the total weight of edges of E T at level i ≥ L i | N i | , andthat N i ≤ | K ∪ P || (cid:15)L i | since each point ( p, i ) has | desc ( p, i ) | ≥ (cid:15)L i by property (1) of the charging tree.Thus, the total weight of edges E t at level at least 1 is at most: m (cid:88) i =1 | K ∪ P | (cid:15) = m | K ∪ P | (cid:15) = O ( (cid:15) − log (cid:15) ∆ | K ∪ P | ) = O ( (cid:15) − log (cid:15) ∆) w ( MST )This implies the weight bound of E T . We now bound the distance between x (cid:54) = y ∈ desc ( p, i ). Let x = v , v , . . . , v k = p be the (unique) path from x to p . By construction, || v i − , v i || ≤ v i v i +1 (cid:15) for i ∈ [1 , k − d E T ( x, p ) = || p, v k − || k − (cid:88) i =0 (cid:15) i ≤ || p, v k − || − (cid:15) ≤ || p, v k − || = 2 c(cid:15)L i when (cid:15) ≤ . Similarly, d E T ( y, p ) ≤ c(cid:15)L i and hence d E T ( x, y ) ≤ c(cid:15)L i .Claim 5.4 implies that the descendants of any level i node in a charging cover tree form asubgraph of diameter at most O ( c(cid:15)L i ). Let E sp be the set of edges that will be our final spanner.Initially, E sp = E T ∪ MST . We will abuse notation by denoting E sp the graph induced by edge set E sp . i Recall that H i is a geometric graph where V ( H i ) = N i and there is an edge between two points( p, i ) (cid:54) = ( q, i ) in H i if there exists at least one e ∈ E i between two descendants of ( p, i ) and ( q, i ),respectively. Recall that a high degree point ( p, i ) has at least c(cid:15) neighbors in H i . We proceed intwo steps. • Step 1
For every low degee point ( p, i ), we add all incident edges of ( p, i ) in H i to E sp . • Step 2
Let Q be the set of high degree points in N i . We add to E sp the set of edges of STP ( Q ).We take from each high degree cover point ( p, i ) exactly (cid:15)L i / X be the set of these uncharged points. We charge the cost of STP ( Q ) equally to all pointsin X and mark them charged . This charging is possible by property (2) of T . We will show that the stretch is (1+(48 c +1) (cid:15) ). We can recover stretch (1+ (cid:15) (cid:48) ) by setting (cid:15) (cid:48) = (cid:15) c +1 .Observe by construction that for every edge e ∈ H i , the stretch of e in E sp is at most (1 + (cid:15) ).Recall that for every edge ( u, v ) ∈ E i , there is an edge ( p, q ) ∈ E ( H i ) such that u ∈ desc ( p, i ) , v ∈ desc ( q, i ). By Claim 5.4, there is a path between u and v in E sp of length at most d E sp ( p, q ) + 8 c(cid:15)L i .By triangle inequality, || p, q || − c(cid:15)L i ≤ || u, v || ≤ || p, q || + 2 c(cid:15)L i . Thus, we have:14 E sp ( u, v ) || u, v || ≤ d E sp ( p, q ) + 8 c(cid:15)L || p, q || − c(cid:15)L i = d E sp ( p, q ) || p, q || + ( d E sp ( p, q ) + 4 || p, q || )2 c(cid:15)L i || p, q || ( || p, q || − c(cid:15)L i ) ≤ d E sp ( p, q ) || p, q || + 12 c(cid:15)L i || p, q || − c(cid:15)L i since d E sp ( p, q ) ≤ || p, q ||≤ d E sp ( p, q ) || p, q || + 48 c(cid:15) ≤ c + 1) (cid:15) The penultimate inequality follows from the fact that || p, q || − c(cid:15)L i ≥ || u, v || − c(cid:15)L i ≥ L i / − c(cid:15)L i ≥ L i / (cid:15) (cid:28) c . w ( E sp ) Observe that the total number of low degree points in N i is at most | K ∪ P | (cid:15)L i since each low degreepoint has at least (cid:15)L i (uncharged) descendants by property (1) of charging tree T . By triangleinequality, each edge of H i has weight at most L i + 2 c(cid:15)L i ≤ L i when (cid:15) < c . Thus, the total weightof edges added to E sp in Step 1 is bounded by:3 L i · c(cid:15) |{ p | p ∈ N i and p has low degree }| = O ( L i (cid:15) | K ∪ P | (cid:15)L i ) = O ( 1 (cid:15) ) w ( MST )by Equation 10. Thus, the total weight of the edges added to E sp in Step 1 over m levels is O ( (cid:15) − log (cid:15) ∆) w ( MST ). Note here that m ≤ (cid:100) log (cid:15) ∆ (cid:101) + 1.We now bound the total weight of the edges added to E sp in Step 2 over m levels . Since eachedge of H i has weight at most 3 L i , each edge of STP ( Q ) has weight a most (1 + (cid:15) )3 L i ≤ L i . ByTheorem 5.2, w ( STP ( Q )) = ˜ O ( (cid:15) − ( d − / ) | Q | L i = ˜ O ( (cid:15) − ( d − / o (1) ) | Q | L i Thus, in Step 2, each uncharged point is charged at most:˜ O ( (cid:15) − ( d − / ) | Q | L i | Q | (cid:15)L i / O ( (cid:15) − ( d +1) / ) (13)This implies the total weight of the edges added to E sp in Step 2 over all levels is ˜ O ( (cid:15) − ( d +1) / )( | P ∪ K | ) = ˜ O ( (cid:15) − ( d +1) / ) w ( MST ). Together with Claim 5.4, we conclude that: w ( E sp ) = ˜ O ( (cid:15) − ( d +1) / + ( δ + (cid:15) − ) log (cid:15) ∆) w ( MST )This completes the proof of Lemma 5.1.
The main difficulty is to guarantee property (1) in constructing a charging cover tree; for property(2) at each level i , we simply charge to exactly (cid:15)L i / (cid:15) children. Then inductively, if eachchild of a cover point ( p, i ) has at least (cid:15)L i − / i −
1, we can hope that p has at least (cid:15) (cid:15)L i − = (cid:15)L i uncharged descendants. There are two issueswith this idea: (a) if at least one child, say ( q, i − p, i ) has high degree in the graph H i − , upto (cid:15)L i − / desc ( q, i −
1) were charged at level i − q, i −
1) only contributes (cid:15)L i − uncharged descendants to ( p, i ); and (b) there may not be enoughcover points at level i − p as these points and their descendants must be within distance c(cid:15)L i from p .In our construction, we resolve both issues by picking a cover point in a way that the totalnumber of uncharged descendants of its children is at least (cid:15)L i . We do so by having a more accurateway to track the number of uncharged descendants of a cover point, instead of simply relying on thelower bound (cid:15)L i of uncharged descendants. Specifically, denote by D ( X ) the diameter of a pointset X . 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 ) has at least max( (cid:15)L i , D ( desc ( p, i )) + 1) uncharged descendants (beforethe charging happened at level i ).Clearly, SCI implies property (1) of T . We begin by constructing the level-1 cover. Recall that MST edges have weight at most 1 and at least , and that δ ≥ Level N by greedily breaking MST edges into subtrees of diameter atleast δ and at most 3 δ + 2 ≤ δ . Let X be such a subtree of MST with diameter d X ; X will haveat least δ points since MST edge has weight at most 1. We pick any point, say p ∈ X , to be alevel-1 cover point, and make other points in X become p ’s children; p will have at least δ children(uncharged at level 0). Recall that (cid:15)L = δ . Since each MST edge has weight at most 1, the numberof descendants of ( p,
1) is at least: d X + 1 ≥ max( (cid:15)L , D ( desc ( p, Level i + 1 Recall H i is a graph with vertex set N i . We construct a cover N i +1 in three steps A, B and C. • Step A
For each high degree point p (with at least c(cid:15) unmarked neighbors in H i ), we pick p to N i +1 andmake its unmarked neighbors become its children. We then mark p and all ofits neighbors. For each remaining unmarked high degree point x in H i , at least one of itsneighbors, say q , must be marked before. We make x become a child of q ’s parent.The intuition of the construction in Step A is that ( p, i + 1) picked at this step has at least c(cid:15) children. Since at least ( (cid:15)L i ) / p, i ) remain uncharged after level i , the total number of uncharged descendants of ( p, i + 1) is c(cid:15) (cid:15)L i = 2 cL i = 2 c(cid:15)L i +1 > (cid:15)L i +1 .16urthermore, since every high degree point is marked in this step, points in subsequent steps havelow degree and hence no uncharged descendant of these points is charged at level i by property (2)of charging cover trees.Let W be the set of remaining points in N i . We construct a forest F from W as follows. Thevertex set of F is W , and there is an edge between two vertices p, q of F if there is an MST edge,called the source of the edge, connecting a point in desc ( p ) and a point in desc ( q ). We set theweight of each edge in F to be the weight of the source edge. Note that F is not a geometric graph.We observe that: Observation 5.5.
For every connected component C ∈ F , there must be a point p ∈ C and a point q marked in Step A such that there is an MST edge between a descendant of ( p, i ) and a descendantof ( p, i ) , except when there is no point marked in Step A (and F is a tree in this case). Proof:
The observation follows from the fact that
MST spans P ∪ K .We define the weight on each vertex p of F to be w ( p ) = D ( desc ( p, i )), and the vertex-weight of a path P , denoted by vw ( P ), of F to be the total weight of vertices on the path. We define the absolute weight of P , denoted by aw ( P ), to be the total vertex and edge weight of P . Since each MST edge has weight at most 1 and each vertex has weight at least 1, aw ( P ) ≤ vw ( P ) (14)The vertex-diameter of a subtree C , denoted by VD ( C ), of F is defined to be the vertex-weightof the path of maximum vertex-weight in the subtree. The absolute diameter of C , denoted by AD ( C ), is defined similarly but w.r.t absolute weight. • Step B
For each component C of F of vertex-diameter at least L i , we greedily break C intosub-trees of vertex-diameter at least L i and at most 3 L i . For each subtree of C , choose anarbitrary point p to be a level-( i + 1) cover point and make other points become p ’s children. • Step C
For each component C of F of vertex-diameter at most L i , by Observation 5.5, theremust be at least one MST connecting a point in desc ( u, i ) for some u ∈ C to a point in desc ( v, i ) for some point v marked in Step 1. We make all points in C become children of v ’sparent.The following claim implies that N i +1 is a ( c(cid:15)L i +1 )-cover. Claim 5.6.
For each point ( p, i + 1) , D ( desc ( p, i + 1)) ≤ c(cid:15)L i +1 for c = 20 . Proof:
Note that for each point ( q, i ), 1 ≤ D ( desc ( q, i )) ≤ c(cid:15)L i since every point in desc ( q, i ) iswithin distance c(cid:15)L i from q .First, consider the case that ( p, i + 1) is chosen in Step B. Then p and its children belong to asubtree C of F of vertex-diameter at most 3 L i . by Equation 14, AD ( C ) ≤ · L i = 6 L i . Thus, fora point p ∈ N i +1 selected in Step B, D ( desc ( p, i + 1)) ≤ AD ( C ) ≤ L i .We now consider the case where ( p, i + 1) is chosen in Step A. (There is no cover point at level( i + 1) selected in Step C.) Recall that each edge of H i has length at most L i + 2 c(cid:15)L i by the triangleinequality. Observe that after Step 1, for any ( q, i ) ∈ child ( p, i + 1), the hop distance in H i between( p, i ) and ( q, i ) is at most 2, hence || p, q || ≤ L i + 2 c(cid:15)L i ) = 2 L i + 4 c(cid:15)L i . That implies, after StepA, || p, x || ≤ (2 L i + 4 c(cid:15)L i ) + c(cid:15)L i = 2 L i + 5 c(cid:15)L i for any x ∈ desc ( p, i + 1) (15)17n Step C, we add more points belonging to subtrees of F to child ( p, i + 1). Let C be any ofthese subtrees. Since VD ( C ) ≤ L i , AD ( C ) ≤ L i . By construction, there exists a point ( v, i ) ∈ C and a point ( u, i ) ∈ child ( p, i + 1) such that there is an MST edge e connecting a point in desc ( v, i )and a point in desc ( u, i ). Thus, the augmentation in Step C increases the distance from p to thefurthest point of desc ( p, i + 1) by at most w ( e ) + AD ( C ) ≤ L i ≤ L i . This implies: D ( desc ( p, i + 1)) ≤ L i + 5 c(cid:15)L i + 3 L i ) ≤ L i when (cid:15) < c .To complete the proof of Lemma 5.1, it remains to show SCI for level ( i + 1). Claim 5.7.
Each point ( p, i +1) has at least max( (cid:15)L i +1 , D ( desc ( p, i +1)+1) uncharged descendants. Proof:
We first consider the case ( p, i + 1) is picked in Step B. Let X be the subtree of F that p belongs to. Let P be a path of X of maximum absolute weight. By definition on absolute weight, aw ( P ) ≥ D ( desc ( p, i + 1)). Since MST has length at most 1, we have: (cid:88) q ∈ P D ( desc ( q, i )) + | E ( P ) | ≥ aw ( P ) ≥ D ( desc ( p, i + 1))By SCI for level i , we conclude that the number of uncharged descendants of ( p, i + 1) is at least: (cid:88) q ∈ P ( D ( desc ( q, i )) + 1) ≥ ( (cid:88) q ∈ P D ( desc ( q, i )) + | E ( P ) | ) + 1 ≥ D ( desc ( p, i + 1))) + 1To show that X has at least (cid:15)L i +1 uncharged descendants, we observe by construction that X hasa path Q with vw ( Q ) ≥ L i . By definition of vertex-weight, vw ( Q ) = (cid:80) q ∈ Q D ( desc ( q, i )). Thus, thetotal number of uncharged descendants of all q ∈ Q by SCI is at least: (cid:88) q ∈ Q ( D ( desc ( q, i )) + 1) > (cid:88) q ∈ Q D ( desc ( q, i )) ≥ L i = (cid:15)L i +1 Thus, ( p, i + 1) has at least max( (cid:15)L i +1 , D ( desc ( p, i + 1)) + 1) uncharged descendants.It remains to consider the case ( p, i + 1) is picked in Step A. By construction, ( p, i + 1) hasat least c(cid:15) children, and each has at least (cid:15)L i − / D ( desc ( p, i + 1)) ≤ c(cid:15)L i +1 = cL i by Claim 5.6. Thus, ( p, i + 1) hasat least:4 c(cid:15) (cid:15)L i cL i ≥ max( (cid:15)L i +1 , D ( desc ( p, i + 1))) + cL i > max( (cid:15)L i +1 , D ( 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
Pro-ceedings of the 26th Annual Symposium on Computational Geometry , SoCG ‘10, page 192200,2010. 182] P. K. Agarwal, K. Fox, D. Panigrahi, K. R. Varadarajan, and A. Xiao. Faster algorithms forthe geometric transportation problem. In , volume 77 of
SoCG ‘17 , pages 7:1–7:16, 2017.[3] Stephen Alstrup, Søren Dahlgaard, Arnold Filtser, Morten St¨ockel, and Christian Wulff-Nilsen.Constructing light spanners deterministically in near-linear time. In Michael A. Bender, OlaSvensson, and Grzegorz Herman, editors, , volume 144 of
LIPIcs , pages4:1–4:15. Schloss Dagstuhl - Leibniz-Zentrum f¨ur Informatik, 2019.[4] I. Alth¨ofer, G. Das, D. Dobkin, D. Joseph, and J. Soares. On sparse spanners of weightedgraphs.
Discrete Computational Geometry , 9(1):81–100, 1993.[5] B Aronov, M. Berg, O. Cheong, J. Gudmundsson, H. Haverkort, and A. Vigneron. Sparsegeometric graphs with small dilation. In
International Symposium on Algorithms and Compu-tation , ISAAC ‘05, pages 50–59, 2005.[6] S. Arya and M. H. M. Smid. Efficient construction of a bounded degree spanner with lowweight.
Algorithmica , 17(1):33–54, 1997.[7] Sunil Arya, David M. Mount, and Michiel H. M. Smid. Randomized and deterministic algo-rithms for geometric spanners of small diameter. In , 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¨org-R¨udiger Sack, editors, Algorithms and Data Structures - 15th International Sympo-sium, WADS 2017, St. John’s, NL, Canada, July 31 - August 2, 2017, Proceedings , volume10389 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 man-hattan network problem: Approximations and exact solutions.
Comput. Geom. , 35(3):188–208,2006.[11] G. Bodwin and V. V. Williams. Better distance preservers and additive spanners. In
Proceed-ings of the Twenty-seventh Annual ACM-SIAM Symposium on Discrete Algorithms , SODA’16, pages 855–872, 2016.[12] G. Borradaile, H. Le, and C. Wulff-Nilsen. Minor-free graphs have light spanners. In , FOCS ’17, pages 767–778, 2017.[13] 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. 1914] Prosenjit Bose, Paz Carmi, Mathieu Couture, Michiel H. M. Smid, and Daming Xu. On afamily of strong geometric spanners that admit local routing strategies. In Frank K. H. A.Dehne, J¨org-R¨udiger Sack, and Norbert Zeh, editors,
Algorithms and Data Structures, 10thInternational Workshop, WADS 2007, Halifax, Canada, August 15-17, 2007, Proceedings ,volume 4619 of
Lecture Notes in Computer Science , pages 300–311. Springer, 2007.[15] Prosenjit Bose, Luc Devroye, Maarten L¨offler, Jack Snoeyink, and Vishal Verma. Almost alldelaunay triangulations have stretch factor greater than pi/2.
Comput. Geom. , 44(2):121–127,2011.[16] K. Buchin. Delaunay triangulations in linear time? (part I). arXiv preprint arXiv:0812.0387,2008. https://arxiv.org/abs/0812.0387.[17] K. Buchin and W. Mulzer. Linear-time delaunay triangulations simplified. In , EuroCG ’09, pages 235–238, 2009.[18] M. Bundefineddoiu, J. Chuzhoy, P. Indyk, and A. Sidiropoulos. Low-distortion embeddings ofgeneral metrics into the line. In
Proceedings of the 37th Annual ACM Symposium on Theoryof Computing , STOC ‘05, page 225233, 2005.[19] T. Carpenter, F. V. Fomin, D. Lokshtanov, S. Saurabh, and A. Sidiropoulos. Algorithms forlow-distortion embeddings into arbitrary 1-dimensional spaces. In , SoCG ‘2018, pages 21:1–21:14, 2018.[20] T. Chan. Well-separated pair decomposition in linear time?
Information Processing Letters ,107(5):138–141, 2008.[21] 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.[22] T.-H. Hubert Chan, Anupam Gupta, Bruce M. Maggs, and Shuheng Zhou. On hierarchicalrouting in doubling metrics.
ACM Trans. Algorithms , 12(4):55:1–55:22, 2016. Preliminaryversion appeared in SODA 2005.[23] 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.[24] Barun Chandra. Constructing sparse spanners for most graphs in higher dimensions.
Inf.Process. Lett. , 51(6):289–294, 1994.[25] S. Chechik and C. Wulff-Nilsen. Near-optimal light spanners. In
Proceedings of the 27th AnnualACM-SIAM Symposium on Discrete Algorithms , SODA’16, pages 883–892, 2016.[26] Shiri Chechik and Christian Wulff-Nilsen. Near-optimal light spanners.
ACM Trans. Algo-rithms , 14(3):33:1–33:15, 2018. preliminary version published in SODA 2016.[27] L. P. Chew. There is a planar graph almost as good as the complete graph. In
Proceedings ofthe Second Annual Symposium on Computational Geometry , SCG ‘86, pages 169–177, 1986.[28] L. P. Chew. There are planar graphs almost as good as the complete graph.
Journal ofComputer and System Sciences , 39(2):205 – 219, 1989.2029] K. Clarkson. Approximation algorithms for shortest path motion planning. In
Proceedings ofthe Nineteenth Annual ACM Symposium on Theory of Computing , STOC ‘87, pages 56–65,1987.[30] V. Cohen-Addad and C. Mathieu. Effectiveness of local search for geometric optimization. In , volume 35 of
SoCG ‘2015 , pages329–343, 2015.[31] G. Das, P. Heffernan, and G. Narasimhan. Optimally sparse spanners in 3-dimensional eu-clidean space. In
Proceedings of the 9th Annual Symposium on Computational Geometry , SCG’93, pages 53–62, 1993.[32] 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.[33] Michael Elkin, Ofer Neiman, and Shay Solomon. Light spanners.
SIAM J. Discret. Math. ,29(3):1312–1321, 2015. preliminary version published in ICALP 2014.[34] Michael Elkin and Shay Solomon. Narrow-shallow-low-light trees with and without steinerpoints.
SIAM J. Discret. Math. , 25(1):181–210, 2011. preliminary version published in ESA2009.[35] Michael Elkin and Shay Solomon. Steiner shallow-light trees are exponentially lighter thanspanning ones.
SIAM J. Comput. , 44(4):996–1025, 2015. preliminary version published inFOCS 2011.[36] J. Erickson. Dense point sets have sparse delaunay triangulations or “... but not too nasty”.
Discrete & Computational Geometry , 33(1):83–115, 2004.[37] Mohammad Farshi and Joachim Gudmundsson. Experimental study of geometric t -spanners.In Gerth Stølting Brodal and Stefano Leonardi, editors, Algorithms - ESA 2005, 13th AnnualEuropean Symposium, Palma de Mallorca, Spain, October 3-6, 2005, Proceedings , volume 3669of
Lecture Notes in Computer Science , pages 556–567. Springer, 2005.[38] Mohammad Farshi and Joachim Gudmundsson. Experimental study of geometric t-spanners:A running time comparison. In Camil Demetrescu, editor,
Experimental Algorithms, 6th In-ternational Workshop, WEA 2007, Rome, Italy, June 6-8, 2007, Proceedings , volume 4525 of
Lecture Notes in Computer Science , pages 270–284. Springer, 2007.[39] Arnold Filtser and Ofer Neiman. Light spanners for high dimensional norms via stochasticdecompositions. In , pages 29:1–29:15, 2018.[40] J. Gao, L. J. Guibas, and A. Nguyen. Deformable spanners and applications.
ComputationalGeometry , 35(1):2–19, 2006.[41] Lee-Ad Gottlieb. A light metric spanner. In
IEEE 56th Annual Symposium on Foundationsof Computer Science, FOCS 2015, Berkeley, CA, USA, 17-20 October, 2015 , pages 759–772,2015. 2142] J. Gudmundsson, C. Levcopoulos, G. Narasimhan, and M. H. M. Smid. Approximate distanceoracles for geometric graphs. In
Proc. of 13th SODA , pages 828–837, 2002.[43] J. Gudmundsson, C. Levcopoulos, G. Narasimhan, and M. H. M. Smid. Approximate distanceoracles for geometric spanners.
ACM Transactions on Algorithms , 4(1), 2008.[44] J. Gudmundsson, G. Narasimhan, and M. H. M. Smid. Fast pruning of geometric spanners.In
Proc. of 22nd STACS , pages 508–520, 2005.[45] Joachim Gudmundsson, Christos Levcopoulos, Giri Narasimhan, and Michiel H. M. Smid.Approximate distance oracles revisited. In
Proc. of 13th ISAAC , pages 357–368, 2002.[46] 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.[47] Joachim Gudmundsson, Giri Narasimhan, and Michiel H. M. Smid. Fast pruning of geometricspanners. In Volker Diekert and Bruno Durand, editors,
STACS 2005, 22nd Annual Sympo-sium 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.[48] S. Har-Peled. Clustering motion.
Discrete and Computational Geometry , 31(4):545–565, 2004.[49] S. Har-peled.
Geometric Approximation Algorithms . American Mathematical Society, 2011.[50] S. Har-Peled and B. Raichel. Net and prune: A linear time algorithm for euclidean distanceproblems.
Journal of the ACM , 62(6):1–35, 2015.[51] S. Har-Peled and B. Sadri. How fast is the k -means method? In Proceedings of the 16thAnnual ACM-SIAM Symposium on Discrete Algorithms , SODA ‘05, page 877885, 2006.[52] Y. Hassin and D. Peleg. Sparse communication networks and efficient routing in the plane. In
Proc. of 19th PODC , pages 41–50, 2000.[53] R. M. Karp. Probabilistic analysis of partitioning algorithms for the traveling-salesman prob-lem in the plane.
Mathematics of Operations Research , 2(3):209–224, 1977.[54] J. M. Keil. Approximating the complete euclidean graph. In
Proceedings of the first Scandi-navian Workshop on Algorithm Theory , SWAT ‘88, pages 208–213, 1988.[55] J. M. Keil and C. A. Gutwin. Classes of graphs which approximate the complete Euclideangraph.
Discrete and Computational Geometry , 7(1):13–28, 1992.[56] Michael Kerber and Arnur Nigmetov. Metric spaces with expensive distances.
CoRR ,abs/1901.08805, 2019.[57] P. N. Klein. Subset spanner for planar graphs, with application to subset TSP. In
Proceedingsof the 38th Annual ACM Symposium on Theory of Computing , STOC ’06, pages 749–756,2006. 2258] 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, January5-8, 2020 , pages 2279–2298, 2020. Full version: arxiv:1804.01588.[59] Hung Le and Shay Solomon. Truly optimal euclidean spanners. In , pages 1078–1100, 2019. Full version at https://arxiv.org/abs/1904.12042 .[60] Y. Mansour and D. Peleg. An approximation algorithm for min-cost network design.
DIMACSSeries in Discr. Math and TCS , 53:97–106, 2000.[61] G. Narasimhan and M. Smid.
Geometric Spanner Networks . Cambridge University Press,2007.[62] A. Nayyeri and B. Raichel. Reality distortion: Exact and approximate algorithms for embed-ding into the line. In
Proceedings of the 56th Annual Symposium on Foundations of ComputerScience , FOCS ‘15, page 729747, 2015.[63] A. Nayyeri and B. Raichel. A treehouse with custom windows: Minimum distortion embeddingsinto bounded treewidth graphs. In
Proceedings of the 28 th Annual ACM-SIAM Symposiumon Discrete Algorithm , SODA ‘17, page 724736, 2017.[64] A. Nayyeri and B. Raichel. Viewing the rings of a tree: Minimum distortion embeddingsinto trees. In
Proceedings of the 30th Annual ACM-SIAM Symposium on Discrete Algorithms ,SODA ‘19, pages 2380–2399, 2019.[65] 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.[66] J. Ruppert and R. Seidel. Approximating the d -dimensional complete Euclidean graph. In Proceedings of the 3rd Canadian Conference on Computational Geometry , CCCG ‘91, page207210, 1991.[67] Jeffrey S. Salowe. On euclidean spanner graphs with small degree. In
Proceedings of the EighthAnnual Symposium on Computational Geometry, Berlin, Germany, June 10-12, 1992 , pages186–191, 1992.[68] S. Solomon. Euclidean Steiner shallow-light trees.
Journal of Computational Geometry , 6(2),2015. preliminary version published in SoCG 2014.[69] S. Solomon and M. Elkin. Balancing degree, diameter and weight in euclidean spanners. In