Abstract 1 Introduction 2 Preliminaries 3 Reduction to Net Points in a Trapezoid 4 Steiner Shallow Trees for Points in a Tile 5 Shallow Trees for Points in a Tile References

Approximating Euclidean Shallow-Light Trees

Hung Le ORCID University of Massachusetts Amherst, MA, USA    Shay Solomon ORCID Tel Aviv University, Israel    Cuong Than ORCID University of Massachusetts Amherst, MA, USA    Csaba D. Tóth ORCID California State University Northridge, Los Angeles, CA, USA
Tufts University, Medford, MA, USA
   Tianyi Zhang ORCID State Key Laboratory for Novel Software Technology, Nanjing University, China
Abstract

For a weighted graph G=(V,E,w) and a designated source vertex s∈V, a spanning tree that simultaneously approximates a shortest-path tree w.r.t. source s and a minimum spanning tree is called a shallow-light tree (SLT). Specifically, an (α,β)-SLT of G w.r.t. s∈V is a spanning tree of G with root-stretch α (preserving all distances between s and all other vertices up to a factor of α) and lightness β (its weight is at most β times the weight of a minimum spanning tree of G).

It was shown in the early 1990s that (1) for any graph, any source, and any ϵ>0, there is a (1+ϵ,O⁢(1/ϵ))-SLT, and (2) there exist graphs for which β=Ω⁢(1/ϵ) for any (1+ϵ,β)-SLT.

The focus of this work is on SLTs in low-dimensional Euclidean spaces, which are of special interest for some applications of SLTs, in geometric network optimization problems. The aforementioned existential lower bound applies to Euclidean plane, as well. It was shown more than a decade ago that (1) by using Steiner points, one can reduce the lightness bound from O⁢(1/ϵ) to O⁢(1/ϵ), and (2) there exist point sets in the plane for which β=Ω⁢(1/ϵ) for any Steiner (1+ϵ,β)-SLT.

These tight existential bounds for the Euclidean case yield approximation factors of O⁢(1/ϵ) and O⁢(1/ϵ) on the minimum weight of any non-Steiner and Steiner tree with root-stretch 1+ϵ, respectively. Despite the large body of work on SLTs, the basic question of whether a better approximation algorithm exists was left untouched to date, and this holds in any graph family. This paper makes a first nontrivial step towards resolving this question by presenting two bicriteria approximation algorithms. For any ϵ>0, a set P of n points in constant-dimensional Euclidean space and a source s∈P, our first (respectively, second) algorithm returns, in O⁢(n⁢log⁡n⋅polylog⁢(ϵ−1)) time, a non-Steiner (resp., Steiner) tree with root-stretch 1+O⁢(ϵ⁢log⁡ϵ−1) and weight at most O⁢(𝗈𝗉𝗍ϵ⋅log2⁡ϵ−1) (resp., O⁢(𝗈𝗉𝗍ϵ⋅log⁡ϵ−1)), where 𝗈𝗉𝗍ϵ denotes the minimum weight of a non-Steiner (resp., Steiner) tree with root-stretch 1+ϵ.

Keywords and phrases:
geometric network design, optimization, shallow-light tree, Steiner point
Funding:
Hung Le: Supported by the NSF CAREER award CCF-2237288, the NSF grants CCF-2517033 and CCF-2121952, a Google Research Scholar Award.
Shay Solomon: Supported by the European Union (ERC, DynOpt, 101043159). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them. Shay Solomon is also funded by a grant from the United States-Israel Binational Science Foundation (BSF), Jerusalem, Israel, and the United States National Science Foundation (NSF).
Cuong Than: Supported by the NSF CAREER award CCF-2237288, the NSF grants CCF-2517033 and CCF-2121952, a Google Research Scholar Award, and a Google Ph.D. Fellowship.
Csaba D. Tóth: Supported by the NSF award DMS-2154347.
Tianyi Zhang: Supported by Fundamental and Interdisciplinary Disciplines Breakthrough Plan of the Ministry of Education of China (No. JYB2025XDXM118) and the “111 Center” (No. B26023).
Copyright and License:
[Uncaptioned image] © Hung Le, Shay Solomon, Cuong Than, Csaba D. Tóth, and Tianyi Zhang; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation → Sparsification and spanners
; Theory of computation → Routing and network design problems ; Mathematics of computing → Graph algorithms
Related Version:
Full Version: https://arxiv.org/abs/2512.10797
Editors:
Hee-Kap Ahn, Michael Hoffmann, and Amir Nayyeri

1 Introduction

A shortest-path tree (SPT) of an undirected edge-weighted n-vertex graph G=(V,E,𝐰) with respect to a designated source or root vertex s∈V, denoted by 𝖲𝖯𝖳⁢(G,s) is a spanning tree T rooted at s that preserves all distances from s, i.e., for every vertex v∈V, the distance dT⁢(s,v) between s and v in T equals their distance dG⁢(s,v) in G. For a parameter α≥1, an α-shallow tree (α-ST) is a spanning tree T of G of root-stretch at most α, i.e., for every v∈V, dT⁢(s,v)≤α⋅dG⁢(s,v). A minimum spanning tree (MST) of G, denoted by 𝖬𝖲𝖳⁢(G), is a spanning tree T of G of minimum weight. For a parameter β≥1, a β-light tree (β-LT) is a spanning tree T of G of lightness β, i.e., 𝐰⁢(T)≤β⋅𝐰⁢(𝖬𝖲𝖳⁢(G)). The SPT and the MST, including their approximate versions, are among the most fundamental graph constructs and have been extensively studied over decades.

A single tree that simultaneously approximates the SPT and the MST is called a shallow-light tree (SLT). For a pair of parameters α,β≥1, a (α,β)-SLT of graph G w.r.t. a designated source s∈V is a spanning tree of G that is both a α-ST and a β-LT. The notion of SLTs was introduced in the pioneering works of Awerbuch et al. [2, 3] and Khuller et al. [18] (see also [8]). They showed that for every ϵ>0, a (1+ϵ,O⁢(1ϵ))-SLT can be constructed in linear time for every graph G if an SPT and an MST are given. Khuller et al. [18] also showed that this tradeoff is tight, by presenting a planar graph for which β=Ω⁢(1ϵ) for any (1+ϵ,β)-SLT.

The balance between the useful properties of an MST, which provides a light-weight network, and of an SPT, which provides short paths from a designated source to all other vertices, has led to a wide variety of applications across diverse domains. This includes applications in routing [1, 5, 16, 19, 21, 27, 32] and in network and VLSI-circuit design [7, 8, 14, 26], for data gathering and dissemination tasks in overlay networks [17, 20, 30], in the message-passing model of distributed computing [2, 3], and in wireless and sensor networks [31, 4, 9, 23, 22, 28]. Additionally, SLTs are used as building blocks in other related graph structures, such as light approximate routing trees [32], shallow-low-light trees [11, 12], light spanners [3, 25], and others [26, 23, 22]. In particular, in real-world applications, such as VLSI-design and wireless communication networks, the vertices are embedded in Euclidean space, and the edge weights correspond to the metric distances between the nodes.

Low-dimensional Euclidean spaces.

Khuller et al. [18] asked whether a better construction of SLTs can be achieved in Euclidean plane, which is the focus of this work. Euclidean space ℝd, d≥1, can be modeled as a complete edge-weighted graph G=(V,E,𝐰) induced by a finite set P of points in ℝd with V=P, E=(P2), and 𝐰=∥⋅∥2. Elkin and Solomon [13] showed that the upper bound of (1+ϵ,O⁢(1ϵ))-SLTs in general graphs [2, 3, 18] is asymptotically tight even in Euclidean plane: For a set C of ⌈1/ϵ⌉ evenly spaced points on a circle, any (1+ϵ,β)-SLT for C for any source s∈C must have β=Ω⁢(1ϵ). Solomon [29] showed that allowing Steiner points lead to substantial improvement in Euclidean plane: For every set P⊂ℝ2 and source s∈P, one can construct a Steiner (1+ϵ,O⁢(1/ϵ))-SLT in linear time. Moreover, this bound is asymptotically tight: For the same set C of ⌈1/ϵ⌉ evenly spaced points on a circle (in fact, here ⌈1/ϵ⌉ evenly spaced points suffice), any Steiner (1+ϵ,β)-SLT for C for any source s∈C must have β=Ω⁢(1/ϵ) [13, 29].

Approximation algorithms and hardness.

The aforementioned results provide tight existential bounds on the tradeoff between root-stretch and lightness of SLTs in general graphs as well as in planar graphs and in Euclidean plane; moreover, as mentioned above, tight bounds were established also for Steiner SLTs in Euclidean plane. However, these algorithms do not necessarily provide instance-optimal SLTs: We present point sets P⊂ℝ2 for which any previous SLT algorithm in [2, 3, 18] returns a (1+ϵ)-ST of weight O⁢(1ϵ)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)), Solomon [29] constructs a Steiner (1+ϵ)-ST of weight O⁢(1/ϵ)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)), but the minimum weight of a (1+ϵ)-ST is only O⁢(1)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)). Despite the large body of work on SLTs, very little is known about SLTs from the perspective of optimization and approximation algorithms.

In the (1+ϵ)-SLT problem, we are given a parameter ϵ≥0 and an edge-weighted graph G, and the goal is to find a (1+ϵ)-ST for G of minimum weight. Khuller et al. [18] showed that for any ϵ>0, the (1+ϵ)-SLT problem is NP-hard (via a reduction from 3SAT), while the case ϵ=0 can be solved in near-linear time. Cheong and Lee [6] showed that it is NP-hard in Euclidean plane, as well (via a reduction from Knapsack). A κ-approximation algorithm for the problem should return a (1+ϵ)-ST for G whose weight is at most κ times that of a minimum weight (1+ϵ)-ST. One can also consider a bicriteria approximation: a (κ1,κ2)-approximation for the problem should return a (1+κ1⋅ϵ)-ST for G whose weight is at most κ2 times that of a minimum-weight (1+ϵ)-ST.

The tight existential bounds, mentioned above, yield approximation factors of O⁢(1/ϵ) and O⁢(1/ϵ), respectively, for the (1+ϵ)-SLT problem on general edge-weighted graphs and in Euclidean plane, respectively. To the best of our knowledge, no other approximation algorithm or hardness result is known for this problem, even for basic graph families such as the complete graph with Euclidean edge weights. (In our full version, we discuss a related problem, for which both approximation algorithms and hardness results are known.)

In Euclidean spaces, one can define the Steiner (1+ϵ)-SLT problem: For a parameter ϵ≥0 and an input point set P⊂ℝd, d∈ℕ, the goal is to find a Steiner (1+ϵ)-ST for P of minimum weight. We note that a minimum weight Steiner (1+ϵ)-ST may be significantly lighter than a minimum weight non-Steiner (1+ϵ)-ST. For example, for a set C of ⌈1/ϵ⌉ evenly spaced points on a circle, the ratio between the weights of minimum weight non-Steiner and Steiner (1+ϵ)-STs is Θ⁢(1/ϵ).

1.1 Our Contribution

We provide a bicriteria approximation for the (1+ϵ)-SLT problem, where 0<ϵ≪1 is an arbitrary parameter, in any constant-dimensional Euclidean space. (We shall assume throughout that ϵ is a sub-constant parameter. If ϵ>0 is a constant, the algorithm in [18] already provides a constant approximation in linear time.)

Theorem 1.

There is an O⁢(n⁢log⁡n⋅polylog⁢(ϵ−1))-time algorithm that, given ϵ>0, a finite set P of n points in Euclidean plane, including a source s∈P, returns a Steiner (1+O⁢(ϵ⁢log⁡ϵ−1))-ST of weight at most O⁢(𝗈𝗉𝗍ϵ⋅log⁡ϵ−1), where 𝗈𝗉𝗍ϵ denotes the minimum weight of a Steiner (1+ϵ)-ST. The result extends without any loss in parameters to Euclidean space ℝd, for any constant d≥3.

Interestingly, our bicriteria approximation algorithm of Theorem 1 incurs the same O⁢(log⁡ϵ−1) ratio for both the stretch approximation (to the additive ϵ term) and the weight approximation. With some additional effort and another log⁡ϵ−1 factor in the weight approximation ratio, our result generalizes to the setting without Steiner points in the plane.

Theorem 2.

There is an O⁢(n⁢log⁡n⋅polylog⁢(ϵ−1))-time algorithm that, given ϵ>0, a finite set P of n points in Euclidean plane, including a source s∈P, returns a (1+O⁢(ϵ⁢log⁡ϵ−1))-ST of weight at most O⁢(𝗈𝗉𝗍ϵ⋅log2⁡ϵ−1), where 𝗈𝗉𝗍ϵ denotes the minimum weight of a (1+ϵ)-ST. The result extends to Euclidean space ℝd, for any constant d≥3, with approximation ratio increasing by a factor of O⁢(log⁡ϵ−1) and the running time increasing by a factor of 𝗉𝗈𝗅𝗒⁢(ϵ−1).

To complement our results, we show that the approximation ratio of our algorithms (with or without using Steiner points) is significantly better than the state-of-the-art algorithms at the instance level. Specifically, we design point sets in Euclidean plane for which any previous algorithm returns a (1+ϵ)-ST of approximation ratio at least Ω⁢(1/ϵ) with Steiner points and Ω⁢(1ϵ) without Steiner points.

Theorem 3.

For every ϵ>0, there exists a set P⊆ℝ2 and a source s∈P such that the minimum weight of a (1+ϵ)-ST (resp., Steiner (1+ϵ)-ST) is O⁢(1)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)), but any previous algorithm in [2, 3, 18] returns a (1+ϵ)-ST of weight Ω⁢(1ϵ)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)), and the algorithm in [29] returns a Steiner (1+ϵ)-ST of weight Ω⁢(1/ϵ)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)).

To prove Theorem 1 and Theorem 2, we reduced the problem to a set of points, called centered ϵ-net, in a region in a cone with aperture ϵ, within Θ⁢(1) distance from the root. The classical lower-bound construction for this problem consists of a set P of uniformly distributed points along a circle of unit radius centered at the root s. However, if P is the subset of points in a cone of angle ϵ, then there exists a Steiner (1+ϵ)-ST of weight O⁢(1)⋅𝐰⁢(𝖬𝖲𝖳⁢(P)) [29]. This raises the question: What is the maximum lightness of a Steiner (1+ϵ)-ST for points in a cone of aperture ϵ? We give a lower bound on the maximum lightness of a minimum-weight Steiner (1+ϵ)-ST for points in a cone of aperture ϵ.

1.2 Technical Overview

Given a set P of n points in the plane, including a source s∈P, and a parameter ϵ>0, we describe O⁢(n⁢log⁡n⋅polylog⁢(ϵ−1))-time algorithms to construct a (Steiner) (1+ϵ⋅log⁡ϵ−1)-ST rooted at s, and then analyze its weight compared to the minimum weight (1+ϵ)-ST rooted at s. We note that, since (1+ϵ)-STs do not have a recursive substructure, the stretch between two arbitrary points in P may be unbounded. Yet, we can apply a divide-and-conquer strategy by clustering nearby points together, based on their position w.r.t. the source s.

In Section 3, we partition the plane into trapezoid tiles, and show that the union of bicriteria approximate SLTs for the point sets in the tiles is a bicriteria approximation for the entire point set for both the Steiner and non-Steiner settings (Theorem 6). We construct a tiling based on geometric considerations. The diameter of each tile τ is proportional to the distance dist⁢(s,τ), and the shape of τ is roughly A×(A⋅ϵ) for A=dist⁢(s,τ); see Figure 1. That is, we choose the aspect ratio of every tile to be roughly ϵ for the following reason: The triangle inequality implies that every p⁢s-path of weight at most (1+ϵ)⋅d⁢(p,s) lies in an ellipse ℰp⁢s with foci p and s, and aspect ratio roughly ϵ; see Section 2. Therefore, the union of all ellipses ℰp⁢s, for all points p∈P∩τ, will be similar to the tile τ in the sense that the aspect ratio of its bounding box is roughly ϵ. The shape of the tiles is crucial for the proof of the reduction (Theorem 6).

For all points in a tile P∩τ, the distance d⁢(p,s) to s is the same up to constant factors. We can further partition the set of points in each tile into cluster by approximating d⁢(p,s) up to a (1+ϵ)-factor. Recall that a classical ϵ-net in a metric space (X,d) is a set N⊂X such that the points in N are at least ϵ distance apart, and the ϵ-neighborhood of every point x∈X contains a net point in N. In Section 3, we define a centered ϵ-net N, where points a,b∈N are at least ϵ⋅max⁡{d⁢(a,s),d⁢(b,s)} apart, and the (ϵ⋅d⁢(p,s))-neighborhood of every point p∈P contains a net point in N. We show that a bicriteria approximate STs for a centered ϵ-net can be extended to bicriteria ST for the entire point set, using O⁢(1)-spanners in the neighborhoods of the net points (Lemma 7). Interestingly, we reduce the (1+ϵ)-SLT problem for P to a variant of the Steiner (1+ϵ)-SLT problem for the net N⊂P, where all Steiner points must be in the original set P. We note that although the reduction steps in Section 3 are new and essential to our approach, they are based mainly on standard techniques.

Figure 1: Points in a trapezoid tile τ, and Steiner points s1,…,s4∈ℰp⁢s on parallel lines.

The core technical contributions of our work appear in Sections 4 and 5, where we construct a Steiner ST for a centered ϵ-net in Section 4 and then extend the construction to the non-Steiner setting in Section 5. The Steiner setting is easier to work with because we can control the location of Steiner points. We begin with a brief overview of the Steiner construction; refer to Figure 1. From the perspective of a single point p∈P∩τ, the construction is similar to the Steiner SLT construction by [29], which gave an existentially tight bound: We choose Steiner points s1,s2,…,sk−1 in the ellipse ℰp⁢s on parallel lines L1,…,Lk−1 at distance 4i⁢ϵ⋅d⁢(p,s) from p, where k=O⁢(log⁡ϵ−1). Solomon [29] shows that one can carefully choose Steiner points so that the stretch of the path πp⁢s=(p,s1,…,sk−1,s) is at most 1+ϵ. However, geometric calculations show that even if we choose arbitrary points si∈Li∩ℰp⁢s for i=1,…,k−1, then each edge si−1⁢si still contributes only O⁢(ϵ) to the stretch (more precisely, 𝐰⁢(si−1⁢si) exceeds the length of its orthogonal projection to the line p⁢s by O⁢(ϵ)⋅d⁢(p,s)). In other words, arbitrary Steiner points si∈Li∩ℰp⁢s, for i=1,…,k−1, guarantee a root-stretch 1+O⁢(ϵ⋅log⁡ϵ−1).

For a point set Pτ=P∩τ in a tile τ, we follow the above strategy, but we synchronize the lines L1,…,Lk chosen for different points in Pτ. Then each line Li corresponds to many points p∈Pτ, and intersects their ellipses ℰp⁢s. We use a minimum hitting set for the intervals Li∩ℰp⁢s, to choose the minimum number of Steiner points that serve all associated ellipses. The weight analysis uses the fact that each ellipse ℰp⁢s contains a p⁢s-path that crosses all lines L1,…,Lk.

In Section 5, we adapt the Steiner ST algorithm to the non-Steiner setting. However, both the algorithm design and its analysis are more challenging. Instead of creating Steiner points si in a line Li of our choice, now all points si must be in P. We use the lines L1,…,Lk to cover the ellipse ℰp⁢s with axis-aligned rectangles whose corners are on two consecutive lines Li and Li+1; and then choose minimum hitting sets from P for the nonempty rectangles. Some of the rectangles Ri might be empty (i.e., Ri∩P=∅). This means that we cannot choose a point si∈P in Ri for some p⁢s-path (our algorithm simply skips Ri), but it also means that an optimal ST 𝖮𝖯𝖳 does not have any vertices in Ri, to the p⁢s-path in 𝖮𝖯𝖳 contains an edge that traverses Ri whose weight is proportional to the width of Ri. This is a crucial observation for the weight analysis. The root-stretch analysis also requires more work in the non-Steiner setting: In the Steiner case, the Steiner points si−1 and si are on the lines Li−1 and Li, so we can control the distance between si−1 and si. However, when are limited to points si−1,si∈P in rectangles Ri−1 and Ri, it is possible that si−1 and si are too close to each other, and their contribution to the root-stretch is too large. In such cases, we modify the p⁢s-paths by skipping si−1 or si. This ensures that the distances between consecutive points of the p⁢s-paths are sufficiently large, and we prove that the weight increases by at most a constant factor. We show that our algorithms (for both the Steiner and non-Steiner settings) extend naturally to higher dimensions using cone partitioning and approximate high-dimensional hitting sets. For the Steiner version, the approximation guarantee remains unchanged. However, the non-Steiner algorithm incurs an additional log⁡(ε−1) factor in its approximation ratio. Its running time also increases by an additional 𝗉𝗈𝗅𝗒⁢(ε−1) factor.

2 Preliminaries

Let p,s∈ℝ2, and ϵ>0. If πp⁢s is a p⁢s-path of weight at most (1+ϵ)⋅d⁢(p,s), then every point q∈πp⁢s, we have d⁢(p,q)+d⁢(q,s)≤𝐰⁢(πp⁢s)≤(1+ϵ)⋅d⁢(p,s). This implies that πp⁢s is contained in the ellipse ℰp⁢s with foci p and s, and major axis (1+ϵ)⁢d⁢(p,s); see Figure 2. The ellipse ℰp⁢s is contained in a rectangle spanned by its major and minor axes. The length of its minor axis is (1+ϵ)2−1⋅d⁢(p,s)=2⁢ϵ+ϵ2⋅d⁢(p,s)<2⁢ϵ⋅d⁢(p,s) if ϵ<2.

Figure 2: The ellipse ℰp⁢s with foci p and s and major axis of length (1+ϵ)⋅d⁢(p,s).

For analyzing the weight of an ST, we consider a p⁢s-path πp⁢s as a polyline (i.e., a subset of the plane). In particular, for any region R⊂ℝ2, the intersection π∩R is the part of the polyline contained in R.

Slopes, slack, and stretch.

The slope of a line segment a⁢b is slope⁢(a⁢b)=y⁢(b)−y⁢(a)x⁢(b)−x⁢(a) if x⁢(a)≠x⁢(b), and slope⁢(a⁢b)=∞ if x⁢(a)=x⁢(b). For a line segment a⁢b in the plane, we denote by proj⁢(a⁢b) the orthogonal projection of a⁢b to the x-axis. Note that |proj⁢(a⁢b)|=|x⁢(b)−x⁢(a)|. We define the slack of a⁢b as slack⁢(a⁢b)=d⁢(a,b)−|proj⁢(a⁢b)|. In our paper, all proofs of theorems, lemmas, corollaries, and observations marked with a ⋆ are in our full version.

Lemma 4 (⋆).

For any line segment a⁢b with slope⁢(a⁢b)≠∞, we have

|proj⁢(a⁢b)|⋅(1+13⋅|slope⁢(a⁢b)|2)≤ d⁢(a,b)≤|proj⁢(a⁢b)|⋅(1+12⋅|slope⁢(a⁢b)|2) (1)
13⋅|slope⁢(a⁢b)|2≤ slack⁢(a⁢b)|proj⁢(a⁢b)|≤12⋅|slope⁢(a⁢b)|2. (2)

It is known that a x-monotone path (i.e., a path in which the x-coordinates of the points along the path are monotone increasing) with edges of bounded slopes have small stretch.

Lemma 5.

Let π=(v0,v1,…,vk) be a x-monotone polygonal path in ℝ2 such that |slope⁢(vi−1⁢vi)|≤ϱ for all i∈[1,k]. Then |slope⁢(v0⁢vk)|≤ϱ; and 𝐰⁢(π)d⁢(v0,vk)≤1+ϱ2<1+ϱ22.

For two points a,b∈ℝ2 and a parameter ϵ>0, let ℰa⁢b,ϵ denote the ellipse with foci a and b and major axis (1+ϵ)⋅d⁢(a,b), that is, ℰa⁢b,ϵ={p∈ℝ2:d⁢(a,p)+d⁢(p,b)≤(1+ϵ)⋅d⁢(a,b)}.

3 Reduction to Net Points in a Trapezoid

In this section, we reduce the problem of constructing a bicriteria approximation for the minimum weight (Steiner) (1+ϵ)-ST to the special case where all points, except the source s, lie in a trapezoid, and the point set is sparse (i.e., form a centered ϵ-net, defined below).

Given a source s∈ℝ2 and ϵ>0, define a tiling of the plane into a set 𝒯 of trapezoids as follows; refer to Figure 3. Let C be a circle of unit radius centered at s. Let O1 be a regular k-polygon with inscribed circle C, where k is the minimum integer such that the side length of O1 is less than ϵ. For all integers i∈ℤ, let Oi=2i⋅O1, that is, a scaled copy of O1, centered at s. Finally, add k rays emanating from s that pass through the vertices of the polygons Oi, i∈ℤ. Polygons Oi, i∈ℤ, and the k rays subdivide the plane into a set 𝒯 of trapezoids: Each trapezoid τ∈𝒯 lies between two consecutive polygons Oi and Oi+1, and two consecutive rays.

Figure 3: A section of the trapezoid tiling of the plane.

Let P be a set of n points in the plane, and let τ1,…,τm∈𝒯 be a finite set of tiles that cover P, and let Pi:=P∩τi. For a tile τi∈𝒯, we define a tile-restricted (1+ϵ)-ST (for short, (1+ϵ)-tST) as a tree T=(V,E) such that Pi∪{s}⊆V⁢(T)⊆P, and T contains a p⁢s-path of weight at most (1+ϵ)⋅d⁢(p,s) for every p∈Pi. In other words, a tile-restricted (1+ϵ)-ST is a Steiner (1+ϵ)-ST for Pi∪{s} rooted at s, where all Steiner points are in P.

Theorem 6 (⋆).

Given a set P⊂ℝ2 of n points, a source s∈ℝ2, a parameter ϵ>0, and two real functions f(.) and g(.). Let τ1,…,τm be the set of tiles in 𝒯, where Pi:=P∩τi≠∅. Let Gi be a tile-restricted (1+f⁢(ϵ)⋅ϵ)-ST (resp., Steiner (1+f⁢(ϵ)⋅ϵ)-ST) for Pi∪{s} of weight 𝐰⁢(Gi)≤O⁢(g⁢(ϵ)⋅𝗈𝗉𝗍ϵ,i), where 𝗈𝗉𝗍ϵ,i is the minimum weight of a (1+ϵ)-ST for Pi∪{s}, for all i=1,…,m. Then, a shortest-path tree of the graph G:=⋃i=1mGi, rooted at s, is a (1+f⁢(ϵ)⋅ϵ)-ST (resp., Steiner (1+f⁢(ϵ)⋅ϵ)-ST) for P∪{s} and 𝐰⁢(G)≤O⁢(g⁢(ϵ)⋅𝗈𝗉𝗍ϵ), where 𝗈𝗉𝗍ϵ is the minimum weight of a (1+ϵ)-ST for P∪{s}.

For the purpose of a (1+ϵ)-ST, with a source (or center) s∈P, we define a variation of ϵ-nets where the density of the net depends on the distance from s: A centered ϵ-net (for short, ϵ-cnet) with center s is a subset N⊂P such that

  • ■

    for all a,b∈N, a≠b, we have d⁢(a,b)>ϵ⋅min⁡{d⁢(a,s),d⁢(b,s)} and

  • ■

    for every p∈P, there exists a point a∈N such that d⁢(p,a)≤ϵ⋅d⁢(p,s).

Given a point set P⊂ℝ2, including s∈P, a parameter ϵ>0 and a subset P, we also define a net-restricted (1+ϵ)-ST for N⊂P as a tree T=(V,E) such that N∪{s}⊆V⁢(T)⊆P, and T contains a p⁢s-path of weight at most (1+ϵ)⋅d⁢(p,s) for every p∈N. This means that T is a Steiner (1+ϵ)-ST rooted at s for the ϵ-cnet N, where all Steiner points are in P. We claim that it suffices to find a net-restricted (resp., Steiner) (1+ϵ)-ST for a ϵ-cnet with center s.

Lemma 7 (⋆).

Let P be a set of n points in the plane, s∈P, ϵ∈(0,19), and N⊂P a ϵ-cnet for P. Let f(.) and g(.) be real functions such that f⁢(x)≥x and g⁢(x)≥x for all x≥0. Assume that in O⁢(|N|⁢log⁡|N|) time, we can compute a net-restricted (resp., Steiner) (1+f⁢(ϵ)⋅ϵ)-ST TN for N of weight O⁢(g⁢(ϵ))⋅𝗈𝗉𝗍ϵ⁢(N), where 𝗈𝗉𝗍ϵ⁢(N) is the minimum weight of a net-restricted (resp., Steiner) (1+ϵ)-ST for N. Then, in O⁢(n⁢log⁡n) time, we can compute a (Steiner) (1+O⁢(f⁢(ϵ)⋅ϵ))-ST TP for P of weight O⁢(g⁢(ϵ))⋅𝗈𝗉𝗍ϵ⁢(P), where 𝗈𝗉𝗍ϵ⁢(P) is the minimum weight of a (Steiner) (1+ϵ)-ST for P.

4 Steiner Shallow Trees for Points in a Tile

In this section, we prove Theorem 1. By Theorem 6 and Lemma 7, we may assume that P is a set of points in a trapezoid τ∈𝒯 (defined in Section 3), and P is a centered ϵ-net w.r.t. center s∈P. We may further assume w.l.o.g. that τ⊂[0,1]×[−ϵ,ϵ] and s=(2,0); see Figure 4. We first present an algorithm that constructs a Steiner tree T for P∪{s}, rooted at s. Then we show that T is a (1+O⁢(ϵ⁢log⁡ϵ−1))-ST and its weight is O⁢(𝗈𝗉𝗍ϵ⋅log⁡ϵ−1), where 𝗈𝗉𝗍ϵ denotes the minimum weight of a Steiner (1+ϵ)-ST for P rooted at s; and let 𝖮𝖯𝖳ϵ be one such Steiner (1+ϵ)-ST.

Figure 4: A point set P in a trapezoid τ and a source s=(2,0).

Steiner shallow tree construction: Overview.

We start with a brief overview of the ST construction and then present the algorithm in detail. We construct a Steiner graph G on P∪{s} (which is not necessarily a tree), and then let T be the shortest path tree of G rooted at s (that is, the single-source shortest path tree of G with s as the source). We can analyze the root-stretch in the graph G, and the weight of T is upper-bounded by the weight of G.

For each point p∈P, we know that 𝖮𝖯𝖳ϵ contains a p⁢s-path of length at most (1+ϵ)⋅d⁢(p,s) in the ellipse ℰp⁢s with major axis (1+ϵ)⋅d⁢(p,s). We associate each point p∈P with vertical lines L0⁢(p),…,Lk−1⁢(p), where k=O⁢(log⁡ϵ−1). For i=0,1,…,k−1, we choose a Steiner point si in the line segments ℰp⁢s∩Li⁢(p), and add the path πp⁢s=(p,s0,…,sk−1,s) to the graph G. We show (Lemma 12) that if the distances between the vertical lines L1,…,Lk increase exponentially, then 𝐰⁢(πp⁢s)=(1+O⁢(ϵ⁢log⁡ϵ−1))⋅d⁢(p,s).

Importantly, each line Li is associated with multiple points in P, and each Steiner point si∈Li also serves multiple points in P. For each line Li, we choose the Steiner points in Li as a minimum hitting set for the line segments ℰp⁢s∩Li over all points p∈P associated with line Li. Since the intersection 𝖮𝖯𝖳ϵ∩Li is a hitting set for these intervals, we can charge the weight of G to the weight of 𝖮𝖯𝖳ϵ. The approximation factor O⁢(log⁡ϵ−1), in the stretch and the weight, is the result of using O⁢(log⁡ϵ−1) Steiner points, one in each line Li, for i=1,…,k.

Steiner shallow tree construction: Details.

Assume w.l.o.g. that ϵ=4−(k+1) for some k∈ℕ. Each ellipse ℰp⁢s is contained in an ellipse ℰp⁢b⁢(p),2⁢ϵ (⋆), where the segment p⁢b⁢(p) is horizontal and d⁢(p,b⁢(p))≤2⋅d⁢(p,s). As a shorthand notation, we use ℰp:=ℰp⁢b⁢(p),2⁢ϵ.

We define families of vertical lines. For every integer i≥0, let

ℒi={x=j⁢4i⋅ϵ:j∈ℤ}, (3)

that is, the distance between two consecutive vertical lines in ℒi is 4i⋅ϵ. For every point p∈P, we recursively choose Li⁢(p)∈ℒi for i=0,1,…,k−1, as follows. Let L0⁢(p) be the second line in ℒ0 to the right of p. For i=1,…,k−1, if Li−1⁢(p) has already been chosen, let Li⁢(p) be the second line in ℒi to the right of Li−1⁢(p). (We choose the second line in ℒi, rather than the first one, to ensure that the gaps between Li−1⁢(p) and Li⁢(p) grow exponentially in i; cf. Observation 8.)

Now consider a line L∈ℒi, and let P⁢(L) be the set of all points in P associated with L. Formally, we put P⁢(L)={p∈P:Li⁢(p)=L}. Consider the set of intervals I⁢(L)={L∩ℰp:p∈P⁢(L)}. Let H⁢(L) be a minimum hitting set (a.k.a., piercing set, stabbing set, or transversal) for I⁢(L): It is a minimum subset of L that contains at least one point in each interval in I⁢(L); it can be computed in O⁢(|I⁢(L)|⁢log⁡|H⁢(L)|) time [10, 15, 24].

Finally, we construct the Steiner graph G as follows. The vertex set of G comprises P, s, and the points H⁢(L) for all L∈ℒi, i=0,…,k−1. The edges are defined as follows. For each point p∈P, consider the lines L0⁢(p),…,Lk−1⁢(p) associated with p. For i=0,1,…,k−1 let si⁢(p) be an arbitrary point in H⁢(Li⁢(p))∩ℰp. Add the edges of the path πp⁢s=(p,s0⁢(p),…,sk−1⁢(p),s) to G. We output the shortest path tree T of G rooted at s.

Observation 8.

For i∈[1,k−1], 𝖽𝗂𝗌𝗍⁢(Li−1⁢(p),Li⁢(p)) is within [4i⁢ϵ,2⋅4i⁢ϵ].

From Observation 8, using a geometric series, we obtain the following corollary:

Corollary 9 (⋆).

For i∈[1,k−1], 𝖽𝗂𝗌𝗍⁢(p,Li⁢(p)) is within [4i⁢ϵ,323⋅4i⁢ϵ].

Root stretch analysis.

It is enough to analyze the root stretch in the graph G. Recall that in the construction of G, we have already built a path πp⁢s=(p,s0⁢(p),…,sk−1⁢(p),s). We show that 𝐰⁢(πp⁢s)≤(1+O⁢(ϵ⁢log⁡ϵ−1))⋅d⁢(p,s) (Lemma 12). We first need to estimate the slopes of the edges of πp⁢s. We start with the following lemma.

Lemma 10.

For every point p∈P if a vertical line L is to the right of p at distance x∈[0,23] from p, then 𝐰⁢(L∩ℰp)=Θ⁢(ϵ⁢x). In particular, for every i=0,…,k−1, we have 𝐰⁢(Li⁢(p)∩ℰp)=Θ⁢(2i⋅ϵ).

Proof.

Consider the unit disk D={(x,y)∈ℝ2:x2+y2=1} and the line L:x=−1+ϱ for 0≤ϱ≤1; see Figure 5. Then for ϱ∈[0,1], we obtain

𝐰⁢(D∩L)=2⋅12−(1−ϱ)2=2⋅2⁢ϱ−ϱ2=23/2⋅ϱ−ϱ22=Θ⁢(ϱ).

The ellipse ℰp=ℰp⁢b,2⁢ϵ is an affine image of the unit disk D: The affine transformation f⁢(x,y)=(M2⁢x,m2⁢y) takes D to ℰp, where M and m are the major and minor axes of ℰp. We estimate M and m up to constant factors. Since P⊂[0,1]×[−ϵ,ϵ] and s=(2,0), then we have 1≤|x⁢(p)−x⁢(s)|≤2. We have 1≤d⁢(p,b⁢(p))≤4 (⋆). The major axis of ℰp is M=(1+2⁢ϵ)⋅d⁢(p,b⁢(p)) so 1<M≤4+8⁢ϵ; and its minor axis is m=2⋅(1+2⁢ϵ)2−1⋅d⁢(p,b⁢(p))=4⋅ϵ+ϵ2⋅d⁢(p,b⁢(p)), and so 4⋅ϵ≤m≤16⋅ϵ+ϵ2≤16⁢2⋅ϵ.

Figure 5: A unit disk D, a cross section L∩D, and an affine transformation to the ellipse ℰp.

The focus p is at distance ϵ⋅d⁢(p,b⁢(p)) from the leftmost point of ℰp, where ϵ≤ϵ⋅d⁢(p,b⁢(p))≤4⁢ϵ. By Corollary 9, the distance between Li⁢(p) and the leftmost point of ℰp is at least ϵ+4i⁢ϵ=Ω⁢(4i⁢ϵ⋅M) and at most 4⁢ϵ+323⋅4i⁢ϵ=O⁢(4i⁢ϵ⋅M). Overall, this distance is Θ⁢(4i⁢ϵ⋅M).

The inverse transformation f−1 takes ℰp to the unit disk D, and the line Li⁢(p) to a vertical line L:x=−1+ϱ, where ϱ=Θ⁢(4i⁢ϵ). As noted above, we have 𝐰⁢(L∩D)=Θ⁢(ϱ)=Θ⁢(2i⋅ϵ), consequently 𝐰⁢(Li⁢(p)∩ℰp)=Θ⁢(m⋅ϱ)=Θ⁢(ϵ⋅2i⋅ϵ)=Θ⁢(2i⋅ϵ). ◀

Combining Observation 8 and Lemma 10, we have the following corollary:

Corollary 11 (⋆).

For every p∈P, consider the path πp⁢s=(p,s0,…,sk−1,s). For all i=1,…,k−1, we have |slope⁢(si−1⁢si)|≤O⁢(2−i).

Lemma 12.

For every p∈P, we have 𝐰⁢(πp⁢s)≤(1+O⁢(ϵ⁢log⁡ϵ−1))⋅d⁢(p,s).

Proof.

By construction, we have πp⁢s=(p,s0,s1,…⁢sk−1,s). We partition πp⁢s into three parts: p⁢s0, (s0,s1,…⁢sk−1) and sk−1⁢s, and bound the weight of each part separately.

First we estimate the weight of the first edge p⁢s0. Recall that p∈[0,1]×[−ϵ,ϵ] and s=(2,0). By construction, we have |x⁢(p)−x⁢(s0)|≤ϵ, and Lemma 10 gives |y⁢(p)−y⁢(s0)|≤O⁢(ϵ). Therefore, we have 𝐰⁢(p⁢s0)=O⁢(ϵ)≤O⁢(ϵ)⋅d⁢(p,s). We can now bound the weight of the subpath (s0,s1,…,sk−1) of πp⁢s. By Lemma 4, Observation 8, and Corollary 11,
𝐰⁢((s0,s1,…,sk−1)) =∑j=1k𝐰⁢(sj−1⁢sj)≤∑j=1k−1(1+(slope⁢(sj−1⁢sj))22)⋅|proj⁢(sj−1⁢sj)| =∑j=1k−1|proj⁢(sj−1⁢sj)|+∑j=1k−1O⁢(4−j)⋅|proj⁢(sj−1⁢sj)| ≤|proj⁢(s0⁢sk−1)|+∑j=1k−1O⁢(4−j)⋅2⋅4j⋅ϵ=|proj⁢(s0⁢sk−1)|+O⁢(k⁢ϵ) =|proj⁢(s0⁢sk−1)|+O⁢(ϵ⁢log⁡ϵ−1)=|proj⁢(s0⁢sk−1)|⁢(1+O⁢(ϵ⁢log⁡ϵ−1)).

Finally, we estimate the weight of the last edge, sk−1⁢s, of πp⁢s. We have

dist(p,Lk−1(p))<323⋅4k−1⋅ϵ=23⁢ϵ⋅ϵ=23.(by Corollary 9 and ϵ=4−(k+1)) (4)

Since x⁢(p)∈[0,1] and s=(2,0), then |x⁢(sk−1)−x⁢(s)|≥13. Lemma 10 gives |y⁢(sk−1)−y⁢(s)|=|y⁢(sk−1)|≤O⁢(2k−1⋅ϵ)=O⁢(1ϵ⋅ϵ)=O⁢(ϵ). Consequently, slope⁢(sk−1⁢s)=O⁢(ϵ), and Lemma 4 yields 𝐰⁢(sk−1⁢s)≤(1+O⁢(ϵ))⋅|proj⁢(sk−1⁢s)|.

The sum of the weights of the three parts is

𝐰⁢(πp⁢s) =𝐰⁢(p⁢s)+𝐰⁢((s0,s1,…,sk−1))+𝐰⁢(sk−1⁢s)
≤O⁢(ϵ)⋅d⁢(p,s)+(1+O⁢(ϵ⁢log⁡ϵ−1))⁢|proj⁢(s0⁢sk−1)|+(1+O⁢(ϵ))⋅|proj⁢(sk−1⁢s)|
≤O⁢(ϵ)⋅d⁢(p,s)+(1+O⁢(ϵ⁢log⁡ϵ−1))⁢|proj⁢(s0⁢s)|≤(1+O⁢(ϵ⁢log⁡ϵ−1))⁢d⁢(p,s).

◀

Weight analysis.

We give an upper bound for 𝐰⁢(G). Similarly to the root stretch analysis, we decompose πp⁢s into three parts, p⁢s0, (s0,s1,…,sk−1), and sk−1⁢s, and then bound the weight of the union of each.

We first analyze the total weight of the union of edges si−1⁢(p)⁢si⁢(p) of the paths πp⁢s over all p∈P. For lines La∈ℒi−1 and Lb∈ℒi, let G⁢(La,Lb) denote the set of all edges u⁢v∈E⁢(G) such that u∈I⁢(La) and v∈I⁢(Lb). Recall that 𝖮𝖯𝖳ϵ is a minimum-weight Steiner (1+ϵ)-ST for P∪{s} rooted at s (𝐰⁢(𝖮𝖯𝖳ϵ)=𝗈𝗉𝗍ϵ). We denote by 𝖮𝖯𝖳ϵ∩⟦La,Lb⟧ the part of 𝖮𝖯𝖳ϵ clipped in the vertical strip ⟦La,Lb⟧. Our main lemma is as follows.

Lemma 13.

For every p∈P and i∈{1,…,k−1}, we have

𝐰⁢(G⁢(Li−1⁢(p),Li⁢(p)))≤O⁢(𝐰⁢(𝖮𝖯𝖳ϵ∩⟦Li−1⁢(p),Li⁢(p)⟧)).

Before the proof of Lemma 13, we observe that it implies the bound on the total weight of the interior edges of the paths πp⁢s over all p∈P.

Corollary 14 (⋆).

𝐰⁢(⋃p∈P(s0⁢(p),…,sk−1⁢(p)))≤O⁢(log⁡ϵ−1⋅𝗈𝗉𝗍ϵ).

It remains to prove Lemma 13. We do this in a sequence of lemmas, using geometric properties of ellipses and interval graphs. We start with an easy observation.

Observation 15 (⋆).

For every p∈P and every i∈{1,…,k−1}, we have

𝐰⁢(𝖮𝖯𝖳ϵ∩⟦Li−1⁢(p),Li⁢(p)⟧∩ℰp)≥dist⁢(Li−1⁢(p),Li⁢(p)).
Lemma 16.

For every i∈{1,…,k−1} and every p∈P, there exists a set Q⊂P⁢(Li−1⁢(p)) of size |Q|≥Ω⁢(|H⁢(Li⁢(p))|) such that the regions in {ℰq∩⟦Li−1⁢(p),Li⁢(p)⟧:q∈Q} are disjoint.

Proof.

Each interval in I⁢(Li⁢(p)) has weight Θ⁢(2i⋅ϵ) by Lemma 10. Let c≥1 be the ratio of the maximum to the minimum weight of an interval in I⁢(Li⁢(p)). Each interval in I⁢(Li⁢(p)) is of the form Li⁢(p)∩ℰr for some point r∈P⁢(Li⁢(p)). For every r∈P⁢(Li⁢(p)), let Br be the axis-aligned bounding box of ℰr∩⟦Li−1⁢(p),Li⁢(p)⟧; see Figure 6. Note that the major axis of ℰr is horizontal, and its minor axis is to the right of Li by Equation 4. Consequently, for every vertical line L⊂⟦Li−1⁢(p),Li⁢(p)⟧, we have 𝐰⁢(L∩ℰr)≤𝐰⁢(Li⁢(p)∩ℰr), which holds with equality for L=Li⁢(p). In particular, the height of Br is 𝐰⁢(Li⁢(p)∩ℰr)=Θ⁢(2i⋅ϵ).

Figure 6: A point p∈P and ellipses ℰr for five points in P⁢(Li−1⁢(p)). The boxes Br corresponding to the three light blue ellipses are disjoint. A minimum hitting set H⁢(Li⁢(p)) has size 3.

Now consider a maximum set Q0⊂P⁢(Li⁢(p)) such that the intervals {Li⁢(p)∩ℰq:q∈Q0} are disjoint. Note that |Q0|=|H⁢(Li⁢(p))|, that is, the maximum independent set has the same size as a hitting set for intervals in a line.

A set of disjoint intervals along the line Li⁢(p) have a well-defined total order, which defines a total order on Q0. Let Q⊂Q0 be the subset that corresponds to the first and every ⌈c⌉-th interval. Then |Q0|=Θ⁢(|Q|)=Θ⁢(|H⁢(Li⁢(p))|). Furthermore, the intervals {Li⁢(p)∩ℰq:q∈Q} are disjoint. This, in turn, implies that the boxes {Bq:q∈Q} are disjoint. Thus, the regions {ℰq∩⟦Li−1⁢(p),Li⁢(p)⟧:q∈Q} are also disjoint. ◀

Observation 15 and Lemma 16 imply the following corollary.

Corollary 17 (⋆).

For every p∈P and i∈{1,…,k−1}, we have

Ω⁢(|H⁢(Li⁢(p))|)⋅dist⁢(Li−1⁢(p),Li⁢(p))≤𝐰⁢(𝖮𝖯𝖳ϵ∩⟦Li−1⁢(p),Li⁢(p)⟧).
Lemma 18.

For every p∈P and i∈{1,…,k−1}, we have

𝐰(G(Li−1(p),Li(p)))≤O(|H(Li(p)|)⋅dist(Li−1(p),Li(p)).

Proof.

We first show that every edge in G⁢(Li−1⁢(p),Li⁢(p)) has weight Θ⁢(dist⁢(Li−1⁢(p),Li⁢(p))). Every edge of G⁢(Li−1⁢(p),Li⁢(p)) is the edge si−1⁢(r)⁢si⁢(r) of πr⁢s for some point r∈P⁢(Li−1⁢(p)). By Corollary 11, |slope⁢(si−1⁢(r)⁢si⁢(r))|≤O⁢(2−i), where i=O⁢(log4⁡ϵ−1). Consequently, we have |slope⁢(si−1⁢(r)⁢si⁢(r))|≤O⁢(1) for all i=1,…,k−1. Therefore,

𝐰⁢(si−1⁢(r)⁢si⁢(r))≤O⁢(1)⋅|proj⁢(si−1⁢(r)⁢si⁢(r))|≤O⁢(dist⁢(Li−1⁢(p),Li⁢(p))).

Next, we show that every vertex v∈H⁢(Li⁢(p)) of G⁢(Li−1⁢(p),Li⁢(p)) has O⁢(1) degree. Lemma 10 gives 𝐰⁢(Li−1⁢(p)∩ℰr)=Θ⁢(2i) and 𝐰⁢(Li⁢(p)∩ℰr)=Θ⁢(2i−1) for all r∈P⁢(Li−1⁢(p)). Note also that both Li−1⁢(p)∩ℰr and Li⁢(p)∩ℰr have a reflection symmetry in the horizontal major axis of ℰr, implying ⋃{Li⁢(p)∩ℰr:r∈P⁢(Li⁢(p))⁢ and ⁢v∈ℰr} is contained in an interval of length 2⋅Θ⁢(2i)=Θ⁢(2i) centered at v. Similarly, ⋃{Li−1⁢(p)∩ℰr:r∈P⁢(Li−1⁢(p))⁢ and ⁢v∈ℰr} is contained in an interval I⊂Li−1 of length 2⋅Θ⁢(2i−1)=Θ⁢(2i). Since 𝐰⁢(Li−1⁢(p)∩ℰr)=Θ⁢(2i) for all r∈P⁢(Li−1⁢(p)), then the hitting set H⁢(Li−1⁢(p)) contains O⁢(1) points in the interval I. In the graph G⁢(Li−1⁢(p),Li⁢(p)), all neighbors of vertex v are in the interval I and in H⁢(Li−1⁢(p)). This proves that v has O⁢(1) neighbors in G⁢(Li−1⁢(p),Li⁢(p)).

Overall, every edge of G⁢(Li−1⁢(p),Li⁢(p)) has weight Θ⁢(dist⁢(Li−1⁢(p),Li⁢(p))); and every vertex v∈H⁢(Li⁢(p)) of G⁢(Li−1⁢(p),Li⁢(p)) has O⁢(1) degree. Since G⁢(Li−1⁢(p),Li⁢(p)) is a bipartite graph with partite sets H⁢(Li−1⁢(p)) and H⁢(Li⁢(p)), then the total weight of G⁢(Li−1⁢(p),Li⁢(p)) is O(|H(Li(p)|)⋅dist(Li−1(p),Li(p)), as claimed. ◀

Combining Lemma 18 and Corollary 17, we obtain Lemma 13. We conclude:

Lemma 19.

For a ϵ-cnet P⊂[0,1]×[−ϵ,ϵ] and s=(0,2), the weight of G is O⁢(log⁡ϵ−1)⋅𝗈𝗉𝗍ϵ, where 𝗈𝗉𝗍ϵ denotes the minimum weight of a Steiner (1+ϵ)-ST for P.

Proof.

We have shown that for every p∈P, the first edge of πp⁢s has weight O⁢(ϵ). Consequently, the total weight of the union of first segments of πp⁢s over all p∈P is O⁢(ϵ⋅|P|). Since P is a ϵ-cnet, then this is bounded by O⁢(𝗈𝗉𝗍ϵ). By Corollary 14, the total weight of the interior edges of the paths πp⁢s over all p∈P, namely, 𝐰⁢(⋃p∈P(s0⁢(p),…,sk−1⁢(p))) is bounded by O⁢(log⁡ϵ−1)⋅𝗈𝗉𝗍ϵ.

Finally, we bound the total weight of the last edges of the paths πp⁢s=(p,s0⁢(p),…,sk−1⁢(p),s) for all p∈P. By Observation 8, there are O⁢(1) vertical lines in ℒk−1 between o=(0,0) and s=(2,0). By Corollary 11, we have 𝐰⁢(ℰp∩Lk−1⁢(p))=Θ⁢(ϵ). Consequently, each piercing set H⁢(Lk−1⁢(p)) has O⁢(1) size. Overall, there are O⁢(1) distinct segments in {sk−1⁢(p)⁢s:p∈P}, and the weight of each segment is O⁢(1). Consequently, the total weight of these segments is also O⁢(1). Since dist⁢(P,s)≥1, then 𝐰⁢(O⁢P⁢Tϵ)≥1, and so 𝐰⁢({sk−1⁢(p)⁢s:p∈P})≤O⁢(1)≤O⁢(𝐰⁢(𝖮𝖯𝖳ϵ)). ◀

Running time.

The running time is O⁢(n⁢log⁡n⋅polylog⁢(ϵ−1)).

5 Shallow Trees for Points in a Tile

In this section, we prove Theorem 2. By Theorem 6 and Lemma 7, we may reduce to the problem of finding a tile-restricted (1+ϵ)-ST for points in a tile τ. Let P be a set of n points in the plane, τ∈𝒯 be a tile, and Nτ an ϵ-cnet for the point set P∩τ. We present an algorithm constructing a net-restricted ST T for Nτ. Then we show that T is a net-restricted (1+O⁢(ϵ⁢log⁡ϵ−1))-ST and its weight is O⁢(𝗈𝗉𝗍⋅log2⁡(ϵ−1)), where 𝗈𝗉𝗍 denotes the minimum weight of a net-restricted (1+ϵ)-ST for Nτ⊂P; and let 𝖮𝖯𝖳 be one such a (1+ϵ)-ST.

Lemma 20 (⋆).

Let 𝗈𝗉𝗍⁢(τ) be the weight of the lightest net-restricted (1+ϵ)-ST for Nτ∪{s}. There is a polynomial time algorithm returns a net-restricted (1+ϵ⋅log⁡(ϵ−1)) ST T for Nτ∪{s} of weight O⁢(log2⁡(ϵ−1)⋅𝗈𝗉𝗍⁢(τ)).

Shallow tree construction algorithm.

Similar to Section 4, we assume that τ⊂[0,1]×[−ϵ,ϵ] and s=(2,0) (see Figure 4). For each point p∈Nτ, we use the same set of vertical lines L0⁢(p),L1⁢(p),… defined in Equation 3. For each point p and each integer i, let ℰp⁢(i) denote the intersection of ℰp⁢s with the strip between the two lines Li⁢(p) and Li+1⁢(p) and Bi⁢(p) be the smallest axis-parallel rectangle containing ℰp⁢(i). The point p is associated with the rectangles B0⁢(p),B1⁢(p),…,Bk⁢(p) with k=O⁢(log⁡ϵ−1). A rectangle R lies on two distinct vertical lines L1 and L2 if two of its vertical sides are contained in L1 and L2.

We construct minimum hitting sets in k iterations. Starting from i=0, let ℛi be the set of rectangles {Bi⁢(p):p∈Pτ}. Consider every pair of lines Li∈ℒi,Li+1∈ℒi+1 such that there are some rectangles in ℛi lying on Li and Li+1. Let ℛi⁢(Li,Li+1) be the set of rectangles in ℛi lying on Li and Li+1 that have nonempty intersection with P. We find the minimum hitting set of ℛi⁢(Li,Li+1) from P. For each point u in the hitting set, let 𝗂𝗍𝖾𝗋p⁢(u)=i for every p∈P⁢(Li) (and define 𝗂𝗍𝖾𝗋p⁢(s):=k+1 for all p∈Pτ).

We build a graph G on P as follows: For every point p∈Nτ, let s0,s1,…⁢sh be a sequence of hitting points so that for i=0,1,…⁢h, if Bi⁢(p)∩P≠∅, then we choose an arbitrary point from the minimum hitting set of ℛ⁢(Li⁢(p),Li+1⁢(p)) that hits Bi⁢(p) (otherwise no point is chosen from Bi⁢(p). We add the path (p,s0,s1,…,sh,s) to G. The path (p,s0,s1,…,sh,s) is called the candidate path of p in G.

For each point p∈Nτ, let H⁢(p)=(p,s0,s1,…⁢sh,s) be the candidate path of p in G. We prune the path H⁢(p) to eliminate some of the vertices: Initialize H′⁢(p):=H⁢(p). While there exist two consecutive interior vertices v and v′ in H′⁢(p) such that 𝗂𝗍𝖾𝗋p⁢(v′)=𝗂𝗍𝖾𝗋p⁢(v)+1, then let the first such pair be v,v′ and eliminate v′ from H′⁢(p). Assume that H′⁢(p)=(p,s0′,s1′,…⁢sl′,s) is the result of the pruning process. Observe that H′⁢(p) is a path from p to s. We call H′⁢(p) the approximate path of p. Let G′ be the union of paths H′⁢(p) for all p∈Nτ. We return the shortest-path tree 𝖲𝖯𝖳⁢(G′) of G′ rooted at s.

Lemma 21 (⋆).

Let p be a point in Nτ, and let π=(p,s0,s1,…,sh−1,s) be the approximate path of p in G′, we have 𝐰⁢(π)≤(1+ϵ⁢log⁡ϵ−1)⁢d⁢(u,s).

The proof of Lemma 21 is similar to the one with Steiner points. Since 𝖲𝖯𝖳⁢(G′) is the shortest-path tree of G′, it contains p⁢s-paths of weight (1+O⁢(ϵ⁢log⁡ϵ−1))⁢d⁢(p,s) for all p∈Nτ.

Weight Analysis.

We show that 𝐰⁢(G)≤O⁢(𝗈𝗉𝗍⋅log⁡ϵ−1), and then prove that 𝐰⁢(G′)≤O⁢(𝐰⁢(G)⋅log⁡ϵ−1). Combined with the trivial bound 𝐰⁢(𝖲𝖯𝖳⁢(G′))≤𝐰⁢(G′), we obtain 𝐰(𝖲𝖯𝖳(G′))≤O(𝗈𝗉𝗍⋅log2ϵ−1)), as required.

Proof Overview.

To bound the weight of G, we partition its edges into two types: local edges, which connect vertices in consecutive strips, and crossing edges, which connect vertices in non-consecutive strips. The contribution of local edges can be bounded using the number of paths in 𝖮𝖯𝖳 that intersect the upper strip. For crossing edges, we charge each such edge to an appropriate representative edge of 𝖮𝖯𝖳. The key observation is that if G contains a long edge e, then there must exist an edge e′∈𝖮𝖯𝖳 whose length is at least 𝐰⁢(e), and we charge e to this e′. Because the lengths at different scale differ by exponential factors, each edge of 𝖮𝖯𝖳 can be charged only by O⁢(log⁡(1/ε)) edges of G at the same scale. Therefore, each such representative edge e′ is charged at most log⁡(1/ε) times, which yields the desired bound. The bound on the weight of G′ follows from the fact that each consecutive edge can appear in at most O⁢(log⁡(1/ε)) candidate paths in G.

References

  • [1] Charles J Alpert, Te C Hu, Jen-Hsin Huang, Andrew B Kahng, and David Karger. Prim-dijkstra tradeoffs for improved performance-driven routing tree design. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 14(7):890–896, 2002.
  • [2] Baruch Awerbuch, Alan E. Baratz, and David Peleg. Cost-sensitive analysis of communication protocols. In Proc. 9th ACM Symposium on Principles of Distributed Computing, (PODC), pages 177–187, 1990. doi:10.1145/93385.93417.
  • [3] Baruch Awerbuch, Alan E. Baratz, and David Peleg. Efficient broadcast and light-weighted spanners. manuscript, 1991.
  • [4] Yehuda Ben-Shimol, Amit Dvir, and Michael Segal. SPLAST: A novel approach for multicasting in mobile wireless ad hoc networks. In Proc. 15th IEEE Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), volume 2, pages 1011–1015, 2004. doi:10.1109/PIMRC.2004.1373851.
  • [5] Gengjie Chen and Evangeline F. Y. Young. SALT: provably good routing topology by a novel Steiner shallow-light tree algorithm. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 39(6):1217–1230, 2020. doi:10.1109/TCAD.2019.2894653.
  • [6] Otfried Cheong and Changryeol Lee. Single-source dilation-bounded minimum spanning trees. Int. J. Comput. Geom. Appl., 23(3):159–170, 2013. doi:10.1142/S0218195913500052.
  • [7] Jason Cong, Andrew B. Kahng, Gabriel Robins, Majid Sarrafzadeh, and C. K. Wong. Performance-driven global routing for cell based ICs. In Proc. IEEE International Conference on Computer Design: VLSI in Computer & Processors (ICCD), pages 170–173, 1991. doi:10.1109/ICCD.1991.139874.
  • [8] Jason Cong, Andrew B. Kahng, Gabriel Robins, Majid Sarrafzadeh, and Chak-Kuen Wong. Provably good performance-driven global routing. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 11(6):739–752, 1992. doi:10.1109/43.137519.
  • [9] Razvan Cristescu, Baltasar Beferull-Lozano, Martin Vetterli, and Roger Wattenhofer. Network correlated data gathering with explicit communication: Np-completeness and algorithms. IEEE/ACM Trans. Netw., 14(1):41–54, 2006. doi:10.1145/1133553.1133557.
  • [10] Ludwig Danzer and Branko Grünbaum. Intersection properties of boxes in ℝd. Comb., 2(3):237–246, 1982. doi:10.1007/BF02579232.
  • [11] Yefim Dinitz, Michael Elkin, and Shay Solomon. Low-light trees, and tight lower bounds for Euclidean spanners. Discret. Comput. Geom., 43(4):736–783, 2010. doi:10.1007/S00454-009-9230-Y.
  • [12] Michael Elkin and Shay Solomon. Narrow-shallow-low-light trees with and without Steiner points. SIAM Journal on Discrete Mathematics, 25(1):181–210, 2011. doi:10.1137/090776147.
  • [13] Michael Elkin and Shay Solomon. Steiner shallow-light trees are exponentially lighter than spanning ones. SIAM J. Comput., 44(4):996–1025, 2015. doi:10.1137/13094791X.
  • [14] Stephan Held and Daniel Rotter. Shallow-light Steiner arborescences with vertex delays. In Proc. 16th Conference on Integer Programming and Combinatorial Optimization (IPCO), volume 7801 of LNCS, pages 229–241. Springer, 2013. doi:10.1007/978-3-642-36694-9_20.
  • [15] Dorit S. Hochbaum and Wolfgang Maass. Approximation schemes for covering and packing problems in image processing and VLSI. J. ACM, 32(1):130–136, 1985. doi:10.1145/2455.214106.
  • [16] Xiaohua Jia, Ding-Zhu Du, Xiao-Dong Hu, Man-Kei Lee, and Jun Gu. Optimization of wavelength assignment for QoS multicast in WDM networks. IEEE Trans. Commun., 49(2):341–350, 2001. doi:10.1109/26.905896.
  • [17] Ardalan Khazraei and Stephan Held. An improved approximation algorithm for the uniform cost-distance Steiner tree problem. In Proc. 18th Workshop on Approximation and Online Algorithms (WAOA), volume 12806 of LNCS, pages 189–203, 2020. doi:10.1007/978-3-030-80879-2_13.
  • [18] Samir Khuller, Balaji Raghavachari, and Neal E. Young. Balancing minimum spanning trees and shortest-path trees. Algorithmica, 14(4):305–321, 1995. Preliminary version at SODA 1993. doi:10.1007/BF01294129.
  • [19] Vachaspathi P. Kompella, Joseph Pasquale, and George C. Polyzos. Multicast routing for multimedia communication. IEEE/ACM Trans. Netw., 1(3):286–292, 1993. doi:10.1109/90.234851.
  • [20] Dejan Kostic and Amin Vahdat. Latency versus cost optimizations in hierarchical overlay networks. Technical report, Technical report, Duke University,(CS-2001-04), 2002.
  • [21] Wei Li, Yuxiao Qu, Gengjie Chen, Yuzhe Ma, and Bei Yu. Treenet: Deep point cloud embedding for routing tree construction. In Proc. 26th Asia and South Pacific Design Automation Conference (ASPDAC), pages 164–169. ACM Press, 2021. doi:10.1145/3394885.3431566.
  • [22] Weifa Liang and Yuzhen Liu. Online data gathering for maximizing network lifetime in sensor networks. IEEE Trans. Mob. Comput., 6(1):2–11, 2007. doi:10.1109/TMC.2007.250667.
  • [23] Hong Luo, Jun Luo, Yonghe Liu, and Sajal K Das. Adaptive data fusion for energy efficient routing in wireless sensor networks. IEEE Transactions on Computers, 55(10):1286–1299, 2006. doi:10.1109/TC.2006.157.
  • [24] Frank Nielsen. Fast stabbing of boxes in high dimensions. Theor. Comput. Sci., 246(1-2):53–72, 2000. doi:10.1016/S0304-3975(98)00336-3.
  • [25] David Peleg. Distributed Computing: A Locality-Sensitive Approach. SIAM, 2000. doi:10.1137/1.9780898719772.
  • [26] F. Sibel Salman, Joseph Cheriyan, R. Ravi, and S. Subramanian. Buy-at-bulk network design: Approximating the single-sink edge installation problem. In Proc. 8th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 619–628, 1997. URL: http://dl.acm.org/citation.cfm?id=314161.314397.
  • [27] Anees Shaikh and Kang Shin. Destination-driven routing for low-cost multicast. IEEE Journal on Selected Areas in Communications, 15(3):373–381, 1997. doi:10.1109/49.564135.
  • [28] Hanan Shpungin and Michael Segal. Near-optimal multicriteria spanner constructions in wireless ad hoc networks. IEEE/ACM Transactions on etworking, 18(6):1963–1976, 2010. doi:10.1109/TNET.2010.2053381.
  • [29] Shay Solomon. Euclidean Steiner shallow-light trees. J. Comput. Geom., 6(2):113–139, 2015. doi:10.20382/JOCG.V6I2A7.
  • [30] Jürgen Vogel, Jörg Widmer, Dirk Farin, Martin Mauve, and Wolfgang Effelsberg. Priority-based distribution trees for application-level multicast. In Proceedings of the 2nd Workshop on Network and System Support for Games (NETGAMES), pages 148–157. ACM, 2003. doi:10.1145/963900.963914.
  • [31] Pascal Von Rickenbach and Rogert Wattenhofer. Gathering correlated data in sensor networks. In Proceedings of the DIALM-POMC Joint Workshop on Foundations of Mobile Computing, pages 60–66, 2004. doi:10.1145/1022630.1022640.
  • [32] Bang Ye Wu, Kun-Mao Chao, and Chuan Yi Tang. Light graphs with small routing cost. Networks, 39(3):130–138, 2002. doi:10.1002/NET.10019.