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 sV, 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. sV 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 sP, our first (respectively, second) algorithm returns, in O(nlognpolylog(ϵ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 sV, denoted by 𝖲𝖯𝖳(G,s) is a spanning tree T rooted at s that preserves all distances from s, i.e., for every vertex vV, 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 vV, 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 sV 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, d1, 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 sC must have β=Ω(1ϵ). Solomon [29] showed that allowing Steiner points lead to substantial improvement in Euclidean plane: For every set P2 and source sP, 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 sC 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 P2 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 Pd, 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(nlognpolylog(ϵ1))-time algorithm that, given ϵ>0, a finite set P of n points in Euclidean plane, including a source sP, 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 d3.

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(nlognpolylog(ϵ1))-time algorithm that, given ϵ>0, a finite set P of n points in Euclidean plane, including a source sP, 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 d3, 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 P2 and a source sP 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 sP, and a parameter ϵ>0, we describe O(nlognpolylog(ϵ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 ps-path of weight at most (1+ϵ)d(p,s) lies in an ellipse ps with foci p and s, and aspect ratio roughly ϵ; see Section 2. Therefore, the union of all ellipses ps, for all points pPτ, 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 NX such that the points in N are at least ϵ distance apart, and the ϵ-neighborhood of every point xX contains a net point in N. In Section 3, we define a centered ϵ-net N, where points a,bN are at least ϵmax{d(a,s),d(b,s)} apart, and the (ϵd(p,s))-neighborhood of every point pP 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 NP, 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,,s4ps 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 pPτ, the construction is similar to the Steiner SLT construction by [29], which gave an existentially tight bound: We choose Steiner points s1,s2,,sk1 in the ellipse ps on parallel lines L1,,Lk1 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 πps=(p,s1,,sk1,s) is at most 1+ϵ. However, geometric calculations show that even if we choose arbitrary points siLips for i=1,,k1, then each edge si1si still contributes only O(ϵ) to the stretch (more precisely, 𝐰(si1si) exceeds the length of its orthogonal projection to the line ps by O(ϵ)d(p,s)). In other words, arbitrary Steiner points siLips, for i=1,,k1, 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 pPτ, and intersects their ellipses ps. We use a minimum hitting set for the intervals Lips, to choose the minimum number of Steiner points that serve all associated ellipses. The weight analysis uses the fact that each ellipse ps contains a ps-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 ps 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., RiP=). This means that we cannot choose a point siP in Ri for some ps-path (our algorithm simply skips Ri), but it also means that an optimal ST 𝖮𝖯𝖳 does not have any vertices in Ri, to the ps-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 si1 and si are on the lines Li1 and Li, so we can control the distance between si1 and si. However, when are limited to points si1,siP in rectangles Ri1 and Ri, it is possible that si1 and si are too close to each other, and their contribution to the root-stretch is too large. In such cases, we modify the ps-paths by skipping si1 or si. This ensures that the distances between consecutive points of the ps-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,s2, and ϵ>0. If πps is a ps-path of weight at most (1+ϵ)d(p,s), then every point qπps, we have d(p,q)+d(q,s)𝐰(πps)(1+ϵ)d(p,s). This implies that πps is contained in the ellipse ps with foci p and s, and major axis (1+ϵ)d(p,s); see Figure 2. The ellipse ps is contained in a rectangle spanned by its major and minor axes. The length of its minor axis is (1+ϵ)21d(p,s)=2ϵ+ϵ2d(p,s)<2ϵd(p,s) if ϵ<2.

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

For analyzing the weight of an ST, we consider a ps-path πps as a polyline (i.e., a subset of the plane). In particular, for any region R2, the intersection πR is the part of the polyline contained in R.

Slopes, slack, and stretch.

The slope of a line segment ab is slope(ab)=y(b)y(a)x(b)x(a) if x(a)x(b), and slope(ab)= if x(a)=x(b). For a line segment ab in the plane, we denote by proj(ab) the orthogonal projection of ab to the x-axis. Note that |proj(ab)|=|x(b)x(a)|. We define the slack of ab as slack(ab)=d(a,b)|proj(ab)|. 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 ab with slope(ab), we have

|proj(ab)|(1+13|slope(ab)|2) d(a,b)|proj(ab)|(1+12|slope(ab)|2) (1)
13|slope(ab)|2 slack(ab)|proj(ab)|12|slope(ab)|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(vi1vi)|ϱ for all i[1,k]. Then |slope(v0vk)|ϱ; and 𝐰(π)d(v0,vk)1+ϱ2<1+ϱ22.

For two points a,b2 and a parameter ϵ>0, let ab,ϵ denote the ellipse with foci a and b and major axis (1+ϵ)d(a,b), that is, ab,ϵ={p2: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 s2 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=2iO1, 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 ps-path of weight at most (1+ϵ)d(p,s) for every pPi. 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 P2 of n points, a source s2, 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) sP, 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 NP such that

  • for all a,bN, ab, we have d(a,b)>ϵmin{d(a,s),d(b,s)} and

  • for every pP, there exists a point aN such that d(p,a)ϵd(p,s).

Given a point set P2, including sP, a parameter ϵ>0 and a subset P, we also define a net-restricted (1+ϵ)-ST for NP as a tree T=(V,E) such that N{s}V(T)P, and T contains a ps-path of weight at most (1+ϵ)d(p,s) for every pN. 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, sP, ϵ(0,19), and NP a ϵ-cnet for P. Let f(.) and g(.) be real functions such that f(x)x and g(x)x for all x0. 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(nlogn) 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 sP. 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 pP, we know that 𝖮𝖯𝖳ϵ contains a ps-path of length at most (1+ϵ)d(p,s) in the ellipse ps with major axis (1+ϵ)d(p,s). We associate each point pP with vertical lines L0(p),,Lk1(p), where k=O(logϵ1). For i=0,1,,k1, we choose a Steiner point si in the line segments psLi(p), and add the path πps=(p,s0,,sk1,s) to the graph G. We show (Lemma 12) that if the distances between the vertical lines L1,,Lk increase exponentially, then 𝐰(πps)=(1+O(ϵlogϵ1))d(p,s).

Importantly, each line Li is associated with multiple points in P, and each Steiner point siLi 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 psLi over all points pP 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 ps is contained in an ellipse pb(p),2ϵ (), where the segment pb(p) is horizontal and d(p,b(p))2d(p,s). As a shorthand notation, we use p:=pb(p),2ϵ.

We define families of vertical lines. For every integer i0, let

i={x=j4iϵ:j}, (3)

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

Now consider a line Li, and let P(L) be the set of all points in P associated with L. Formally, we put P(L)={pP:Li(p)=L}. Consider the set of intervals I(L)={Lp:pP(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 Li, i=0,,k1. The edges are defined as follows. For each point pP, consider the lines L0(p),,Lk1(p) associated with p. For i=0,1,,k1 let si(p) be an arbitrary point in H(Li(p))p. Add the edges of the path πps=(p,s0(p),,sk1(p),s) to G. We output the shortest path tree T of G rooted at s.

Observation 8.

For i[1,k1], 𝖽𝗂𝗌𝗍(Li1(p),Li(p)) is within [4iϵ,24iϵ].

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

Corollary 9 ().

For i[1,k1], 𝖽𝗂𝗌𝗍(p,Li(p)) is within [4iϵ,3234iϵ].

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 πps=(p,s0(p),,sk1(p),s). We show that 𝐰(πps)(1+O(ϵlogϵ1))d(p,s) (Lemma 12). We first need to estimate the slopes of the edges of πps. We start with the following lemma.

Lemma 10.

For every point pP if a vertical line L is to the right of p at distance x[0,23] from p, then 𝐰(Lp)=Θ(ϵx). In particular, for every i=0,,k1, 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

𝐰(DL)=212(1ϱ)2=22ϱϱ2=23/2ϱϱ22=Θ(ϱ).

The ellipse p=pb,2ϵ is an affine image of the unit disk D: The affine transformation f(x,y)=(M2x,m2y) 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 1d(p,b(p))4 (). The major axis of p is M=(1+2ϵ)d(p,b(p)) so 1<M4+8ϵ; and its minor axis is m=2(1+2ϵ)21d(p,b(p))=4ϵ+ϵ2d(p,b(p)), and so 4ϵm16ϵ+ϵ2162ϵ.

Figure 5: A unit disk D, a cross section LD, 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ϵ+3234iϵ=O(4iϵM). Overall, this distance is Θ(4iϵM).

The inverse transformation f1 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 𝐰(LD)=Θ(ϱ)=Θ(2iϵ), consequently 𝐰(Li(p)p)=Θ(mϱ)=Θ(ϵ2iϵ)=Θ(2iϵ).

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

Corollary 11 ().

For every pP, consider the path πps=(p,s0,,sk1,s). For all i=1,,k1, we have |slope(si1si)|O(2i).

Lemma 12.

For every pP, we have 𝐰(πps)(1+O(ϵlogϵ1))d(p,s).

Proof.

By construction, we have πps=(p,s0,s1,sk1,s). We partition πps into three parts: ps0, (s0,s1,sk1) and sk1s, and bound the weight of each part separately.

First we estimate the weight of the first edge ps0. 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 𝐰(ps0)=O(ϵ)O(ϵ)d(p,s). We can now bound the weight of the subpath (s0,s1,,sk1) of πps. By Lemma 4, Observation 8, and Corollary 11,
𝐰((s0,s1,,sk1)) =j=1k𝐰(sj1sj)j=1k1(1+(slope(sj1sj))22)|proj(sj1sj)| =j=1k1|proj(sj1sj)|+j=1k1O(4j)|proj(sj1sj)| |proj(s0sk1)|+j=1k1O(4j)24jϵ=|proj(s0sk1)|+O(kϵ) =|proj(s0sk1)|+O(ϵlogϵ1)=|proj(s0sk1)|(1+O(ϵlogϵ1)).

Finally, we estimate the weight of the last edge, sk1s, of πps. We have

dist(p,Lk1(p))<3234k1ϵ=23ϵϵ=23.(by Corollary 9 and ϵ=4(k+1)) (4)

Since x(p)[0,1] and s=(2,0), then |x(sk1)x(s)|13. Lemma 10 gives |y(sk1)y(s)|=|y(sk1)|O(2k1ϵ)=O(1ϵϵ)=O(ϵ). Consequently, slope(sk1s)=O(ϵ), and Lemma 4 yields 𝐰(sk1s)(1+O(ϵ))|proj(sk1s)|.

The sum of the weights of the three parts is

𝐰(πps) =𝐰(ps)+𝐰((s0,s1,,sk1))+𝐰(sk1s)
O(ϵ)d(p,s)+(1+O(ϵlogϵ1))|proj(s0sk1)|+(1+O(ϵ))|proj(sk1s)|
O(ϵ)d(p,s)+(1+O(ϵlogϵ1))|proj(s0s)|(1+O(ϵlogϵ1))d(p,s).

Weight analysis.

We give an upper bound for 𝐰(G). Similarly to the root stretch analysis, we decompose πps into three parts, ps0, (s0,s1,,sk1), and sk1s, and then bound the weight of the union of each.

We first analyze the total weight of the union of edges si1(p)si(p) of the paths πps over all pP. For lines Lai1 and Lbi, let G(La,Lb) denote the set of all edges uvE(G) such that uI(La) and vI(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 pP and i{1,,k1}, we have

𝐰(G(Li1(p),Li(p)))O(𝐰(𝖮𝖯𝖳ϵLi1(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 πps over all pP.

Corollary 14 ().

𝐰(pP(s0(p),,sk1(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 pP and every i{1,,k1}, we have

𝐰(𝖮𝖯𝖳ϵLi1(p),Li(p)p)dist(Li1(p),Li(p)).
Lemma 16.

For every i{1,,k1} and every pP, there exists a set QP(Li1(p)) of size |Q|Ω(|H(Li(p))|) such that the regions in {qLi1(p),Li(p):qQ} are disjoint.

Proof.

Each interval in I(Li(p)) has weight Θ(2iϵ) by Lemma 10. Let c1 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 rP(Li(p)). For every rP(Li(p)), let Br be the axis-aligned bounding box of rLi1(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 LLi1(p),Li(p), we have 𝐰(Lr)𝐰(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 pP and ellipses r for five points in P(Li1(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 Q0P(Li(p)) such that the intervals {Li(p)q:qQ0} 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 QQ0 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:qQ} are disjoint. This, in turn, implies that the boxes {Bq:qQ} are disjoint. Thus, the regions {qLi1(p),Li(p):qQ} are also disjoint.

Observation 15 and Lemma 16 imply the following corollary.

Corollary 17 ().

For every pP and i{1,,k1}, we have

Ω(|H(Li(p))|)dist(Li1(p),Li(p))𝐰(𝖮𝖯𝖳ϵLi1(p),Li(p)).
Lemma 18.

For every pP and i{1,,k1}, we have

𝐰(G(Li1(p),Li(p)))O(|H(Li(p)|)dist(Li1(p),Li(p)).

Proof.

We first show that every edge in G(Li1(p),Li(p)) has weight Θ(dist(Li1(p),Li(p))). Every edge of G(Li1(p),Li(p)) is the edge si1(r)si(r) of πrs for some point rP(Li1(p)). By Corollary 11, |slope(si1(r)si(r))|O(2i), where i=O(log4ϵ1). Consequently, we have |slope(si1(r)si(r))|O(1) for all i=1,,k1. Therefore,

𝐰(si1(r)si(r))O(1)|proj(si1(r)si(r))|O(dist(Li1(p),Li(p))).

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

Overall, every edge of G(Li1(p),Li(p)) has weight Θ(dist(Li1(p),Li(p))); and every vertex vH(Li(p)) of G(Li1(p),Li(p)) has O(1) degree. Since G(Li1(p),Li(p)) is a bipartite graph with partite sets H(Li1(p)) and H(Li(p)), then the total weight of G(Li1(p),Li(p)) is O(|H(Li(p)|)dist(Li1(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 pP, the first edge of πps has weight O(ϵ). Consequently, the total weight of the union of first segments of πps over all pP 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 πps over all pP, namely, 𝐰(pP(s0(p),,sk1(p))) is bounded by O(logϵ1)𝗈𝗉𝗍ϵ.

Finally, we bound the total weight of the last edges of the paths πps=(p,s0(p),,sk1(p),s) for all pP. By Observation 8, there are O(1) vertical lines in k1 between o=(0,0) and s=(2,0). By Corollary 11, we have 𝐰(pLk1(p))=Θ(ϵ). Consequently, each piercing set H(Lk1(p)) has O(1) size. Overall, there are O(1) distinct segments in {sk1(p)s:pP}, 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 𝐰(OPTϵ)1, and so 𝐰({sk1(p)s:pP})O(1)O(𝐰(𝖮𝖯𝖳ϵ)).

Running time.

The running time is O(nlognpolylog(ϵ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 pNτ, 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 ps 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):pPτ}. Consider every pair of lines Lii,Li+1i+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 pP(Li) (and define 𝗂𝗍𝖾𝗋p(s):=k+1 for all pPτ).

We build a graph G on P as follows: For every point pNτ, 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 pNτ, 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 pNτ. 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,,sh1,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 ps-paths of weight (1+O(ϵlogϵ1))d(p,s) for all pNτ.

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.