Approximate Euclidean Steiner Trees

An approximate Steiner tree is a Steiner tree on a given set of terminals in Euclidean space such that the angles at the Steiner points are within a specified error e from 120 degrees.This notion arises in numerical approximations of minimum Steiner trees (W. D. Smith, Algorithmica, 7 (1992), 137--177). We investigate the worst-case relative error of the length of an approximate Steiner tree compared to the shortest tree with the same topology.Rubinstein, Weng and Wormald (J. Global Optim. 35 (2006), 573--592) conjectured that this relative error is at most linear in $e$, independent of the number of terminals. We verify their conjecture for the two-dimensional case as long as the error $e$ is sufficiently small in terms of the number of terminals. We derive a lower bound linear in $e$ for the relative error in the two-dimensional case when $e$ is sufficiently small in terms of the number of terminals. We find improved estimates of the relative error for larger values of $e$, and calculate exact values in the plane for three and four terminals.


Introduction
The Euclidean Steiner problem asks for a tree of shortest total length that interconnects a given collection of points or terminals in Euclidean space. For example, to interconnect the four vertices of a square in the plane, a shortest tree contains two further points apart from the four terminals ( Fig. 1). Such a shortest tree is called a minimum Steiner tree on the given collection of terminals, and the additional points are called Steiner points. The Steiner problem is well studied, especially in the plane. An overview of the extensive literature on this problem can be found in the monographs of Hwang, Richards and Winter [20], Cieslik [13], Prömel and Steger [26], and the recent Brazil and Zachariasen [12]. For more on the history of the problem, see Boltyanski, Martini, and Soltan [6] and the recent Brazil, Graham, Thomas, and Zachariasen [8].
It is well known that a minimum Steiner tree in Euclidean space has maximum degree three, that the Steiner points always have degree three, and that each angle spanned by two edges with a common endpoint is at least 120 degrees, and exactly 120 degrees at each Steiner point [20,Section 6.1]. In the plane, there is a ruler-and-compass construction of a minimum Steiner tree once the graph structure (or topology) is known. This construction, also known as the Melzak algorithm [23], can be done in linear time [19]. On the other hand, determining the topology of a minimum Steiner tree is hard. There is a super-exponential number of different topologies [16], and it is already NP-hard to decide whether a given set of points in the plane has a Steiner tree of length smaller than a given length [15]. On the other hand, the GeoSteiner package of Warme, Winter and Zachariasen quickly finds minimum Steiner trees on a relatively large number of points in the plane [21]. There are polynomial-time approximation schemes to calculate minimum Steiner trees in Euclidean space (Arora [3] and Mitchell [24]; see also [27]). However, for the actual implementation of these schemes, there has been progress so far only for certain planar problems [35]. A major obstacle in the implementation of these schemes for higher-dimensional problems is that their time complexity depends doubly exponentially on the dimension, and there is some evidence that this is unavoidable [36].
In higher dimensions, the Steiner points are not necessarily constructible anymore, and finding the optimal Steiner points results in solving high-degree algebraic equations, or solving a convex optimisation problem numerically [33]. See the papers [11,14,16,22,28,29,32,33] for work on finding minimum Steiner trees in Euclidean spaces of dimension at least 3. We mention that Steiner trees in 3-space have been considered in theoretical investigations of multiquarks in particle physics [4], and in higher dimensions have been used to determine phylogenetic trees [10].
One problem arising from a numerical approach is that of estimating how close an approximation is to a locally minimum Steiner tree with a given Steiner topology. Rubinstein, Weng and Wormald [29] studied the relative error in the length of an approximate Steiner tree in terms of how far the angles at Steiner points deviate from 120 degrees. This paper is a further contribution to this topic.
Before we can give an exact definition of the relative error, we have to introduce our terminology and notation in the next section. Then in Section 3 we define the relative error and formulate the main conjectures from [29]. Our results are stated and summarized in Section 4. Section 5 is a brief discussion of the monotonicity of the relative error as the number of terminals increases. In Section 6, we prove our results for large relative errors. For small relative errors, we subdivide the proofs into a section on upper bounds (Section 7) and lower bounds (Section 8). We conclude in Section 9 with some remarks. There are two tedious induction proofs of results in Section 8 that are presented in an Appendix.

Terminology
We define a Steiner topology for n terminals to be a tree T with n special vertices t 1 , . . . , t n , called terminals, all of degree at most 3, and all other vertices, called Steiner points, of degree exactly 3. A Steiner topology is full if all terminals have degree 1. Let N = {p 1 , . . . , p n } be a family of n points in R d (allowing repeated points). A Steiner tree T with topology T for N is a representation of T in R d , with each t i represented by p i , each Steiner point of T represented by an arbitrary point of R d , and edges represented by straight-line segments. We say that such a Steiner tree interconnects N . A Steiner tree is full if its topology is full. We allow Steiner points to coincide with each other and with terminals, hence for edges incident to a Steiner point to be of length 0. An edge of length 0 is called degenerate, and we say that a Steiner tree that contains a degenerate edge is degenerate. We allow edges to intersect each other.
The (convex) angle determined by two edges xy and xz with a common endpoint x is denoted yxz. Its angular measure is also denoted by yxz, and we assume that angular measures are in the interval [0, π]. We use radians for angular measure throughout the paper, except in a few places where it will be clear that we use degrees.
We denote the Euclidean length of an edge pq by |pq|. The length L(T ) of a tree T is the sum of the Euclidean lengths of its edges. Among all the trees that interconnect a given set N of terminals there is at least one tree of minimum length, which we call a minimum Steiner tree of N . We define a locally minimum Steiner tree to be a non-degenerate tree with a Steiner topology and with all angles spanned by the edges at each vertex at least 2π/3. Since each Steiner point in a Steiner topology has degree 3, it easily follows (in any dimension) that each of the three angles at a Steiner point is exactly 2π/3 and that the three edges incident to the Steiner point are coplanar. As mentioned above, any minimum Steiner tree is a locally minimum Steiner tree. A full minimum Steiner tree is a minimum Steiner tree that is also full.
We denote the largest integer not greater than x by x .

Formulation of the Problem, Conjectures and Previous Results
In [29] the following notions were introduced. Let ε 0 be given. An ε-approximate Steiner tree is a tree with a Steiner topology, with all the angles spanned by the edges at each Steiner point belonging to the interval [2π/3 − ε, 2π/3 + ε]. Note that a 0-approximate Steiner tree is the same as a locally minimum Steiner tree. (In [29] the distinction was made between a pseudo-Steiner point of an ε-approximate Steiner tree and a Steiner point of a locally minimum Steiner tree. For the sake of simplicity we make no such distinction and use the term Steiner point for both.) For d 2, n 3 and ε 0, let A d ε (n) denote the set of all full ε-approximate Steiner trees on n terminals in R d , and let A d ε (n) denote the subset of all T ∈ A d ε (n) for which the terminals have a minimum Steiner tree with the same topology as T . In particular, A d 0 (n) is the set of all full locally minimum Steiner trees on n terminals in R d , and A d 0 (n) is the set of all full minimum Steiner trees on n terminals in R d .
Given a tree T in R d with Steiner topology T , let S(T ) denote the shortest tree in R d on the terminals of T with topology T , where we allow degenerate shortest trees. Even though S(T ) is not necessarily a Steiner tree (see for instance [12, Figure 1.7]), it can be shown that S(T ) is always unique [16,Section 4].
Rubinstein, Weng and Wormald [29] defined the following two quantities: and made the following conjectures in the case d 3. Although they did not consider the 2-dimensional case, we include it, as it is also still open, and most of our results will be in the plane.
The second conjecture is weaker than the first, but it seems difficult to deduce an upper bound for F d that cannot already be deduced for F d . Rubinstein, Weng and Wormald [29] showed that for ε < 1/n 2 , F d (ε, n) C d (ε log n + ε 2 n 3 ). They also consider larger values of ε.

Overview of New Results
Our results are summarized in Table 1. Our first main result is an upper bound for the relative error in the plane.
In [29] an example is given that shows that Conjecture 3.1 is sharp for each d 3. Our second main result, Theorem 4.3, is a lower bound for F 2 that shows that Conjecture 3.1 is already sharp in the plane for sufficiently small ε.
The proof is in Section 8. In Section 6, we show some bounds for larger ε.
In the above definition of F d , we consider the worst-case relative error between a full εapproximate Steiner tree T on n terminals and the shortest tree S(T ) with the same topology as T , even though S(T ) may have a degenerate topology. Instead, we could restrict ourselves to trees T for which S(T ) is non-degenerate. Note that for any T ∈ A d ε (n), S(T ) is non-degenerate iff S(T ) is a locally minimum Steiner tree. We therefore introduce the following variants of the previous two quantities: The construction that we make to prove the lower bounds of Theorem 4.3 in fact gives a lower bound for G 2 (ε, n) for certain values of n, as in the next theorem.
Unfortunately we do not know whether G 2 (ε, n) is monotone in n (see the next section), so we cannot state a lower bound for general n.

Monotonicity of F d and G d
In many of the examples constructed in this paper, the number of terminals is of a special form such as a power of 2. In order to make general statements for all n, we need to know that F d and G d are monotone in n. Monotonicity in ε and in d are straightforward. Indeed, if 0 ε 1 < ε 2 , then an ε 1 -approximate Steiner tree is also an ε 2 -approximate Steiner tree, hence It is still relatively simple to show that F d is also monotone in n, as we show next.
Proof. Consider any ε-approximate Steiner tree T with a full Steiner topology on n terminals. Let S be a shortest tree with the same terminals set and with the same (possibly degenerate) topology as T . We show that Let δ > 0 be arbitrary. Modify T to obtain an ε-approximate Steiner tree T on n + 1 terminals as follows. Choose any terminal t of T . It is joined to a Steiner point s of T . Let t 1 and t 2 be two points at distance δ from t such that the three angles at t are equal: t 1 tt 2 = t 1 ts = t 2 ts.
(Thus, t 1 , t 2 , t and s have to be coplanar.) If we consider t 1 and t 2 to be two new terminals, and consider t to be a Steiner point, then we obtain an ε-approximate Steiner tree T on n + 1 terminals of length L(T ) = L(T ) + 2δ. We modify S by adding the edges t 1 t and t 2 t to obtain a tree S with the same topology as T (allowing degenerate topologies). Then L(S(T )) L(S ) = L(S) + 2δ, and Since this holds for all δ > 0, (1) follows. Since (1) holds for an arbitrary ε-approximate Steiner tree on n terminals, The monotonicity of G d (ε, n) in n seems to be subtler, and we have only been able to show it for d 3.
Proof. Let δ > 0 be arbitrary. Let T be a full ε-approximate Steiner tree on n terminals in R d , such that S(T ) is non-degenerate (in particular, S(T ) is still full). Choose any terminal t of T . It is joined to a Steiner point s in T and also to a Steiner point s in S(T ). Choose a point t 1 such that t 1 t is perpendicular to ts and to ts , and |tt 1 | = √ 3δ. Let t 2 be the unique point such that t is the midpoint of t 1 t 2 . Without loss of generality, δ < |ts|, |ts |. Then there exists a unique point s 2 on st such that t 1 s 2 t 2 = 2π/3 and a unique point s 2 on s t such that t 1 s 2 t 2 = 2π/3. Let T be the tree obtained from T by removing t and st, and adding the Steiner point s 2 , terminals t 1 and t 2 , and edges ss 2 , t 1 s 2 and t 2 s 2 . Then T is an ε-approximate Steiner tree on n + 1 terminals, and L(T ) = L(T ) + 3δ. Also, S(T ) is the tree obtained from S(T ) by removing t and s t, and adding the Steiner point s 2 , terminals t 1 and t 2 , and edges s s 2 , t 1 s 2 and t 2 s 2 . Then L(S(T )) = L(S(T )) + 3δ. We conclude that and by letting δ → 0 and taking the sup of the right-hand side, the proof is finished.

Results for Large ε
This section contains upper and lower bounds for F d for values of ε that are independent of n. In Proposition 6.1 we obtain the modest upper bound of 2n − 4 for F 2 (ε, n), as long as ε π/6. We do not know of any better upper bound in the plane for small and fixed ε. In Theorem 6.4 we give an explicit upper bound for F d (ε, n) for all values of ε < 2π/3. For instance, we obtain for small ε.
Proof. Since 2π/3 − ε π/2, it follows that each Steiner point of an ε-approximate Steiner tree T is in the convex hull of its neighbours. It easily follows that each Steiner point is in the convex hull K of the terminals. Therefore, each edge of T has length at most diam K. Since T has 2n − 3 edges, and any Steiner tree on the terminals has length at least diam K, it follows that We will often use the following reverse triangle inequality.
where θ is the exterior angle at b.
Proof. Let the angular measures of the interior angles of abc at a, b, c, be α, β, γ, respectively. By the sine rule, We define a cherry of a Steiner topology T to be a subgraph of T consisting of two terminals with a common Steiner point. It is easy to see that any Steiner topology on at least 3 terminals has at least two cherries. We will later use the fact that for any terminal t there exists a cherry with two terminals not equal to t. (To see this, note that in the subtree of T on the Steiner points, there are at least two leaves, unless n = 3.) Lemma 6.3. Let T be an ε-approximate Steiner tree in R d , where 0 ε < 2π/3.
(i) For any cherry with terminals t 1 and t 2 and Steiner point s, (ii) If D is the diameter of the set of terminals, then for any terminal t and Steiner point s, Proof. For the first statement, we use Lemma 6.2: For the second statement, consider the plane Π through t and the terminals t 1 , t 2 of a cherry (if these points are collinear, choose any plane through them). Let o be the midpoint of t 1 t 2 . Let C i be the circle with centre t i and radius D. Denote the half plane bounded by t 1 t 2 and containing t by H. Let p be the point where C 1 and C 2 intersect in H. Without loss of generality, t is inside the angle pot 2 . First, suppose that ε π/6 ( Fig. 2(a)). Let c be the point on the line op in the half plane H such that ct 1 t 2 = π/6 − ε. Let t be the point where the ray from c through t intersects C 1 . Then |ct| |ct | |cp| (Euclid III.7 [18]). Let C be the circle with centre c that passes through t 1 and t 2 , and let it intersect the line op in the half plane opposite H in q. Then for any point x ∈ C ∩ H, t 1 xt 2 = π/3 + ε and for any x ∈ C \ H, t 1 xt 2 = 2π/3 − ε. Since π/3 + ε < 2π/3 − ε t 1 st 2 , s is in the ball B with centre c that passes through t 1 and t 2 . In particular, |cs| |cq|. We conclude that We bound pt 1 q from below as follows. Since |t 1 t 2 | D = |t 1 p|, pt 1 t 2 π/3. Also, qt 1 t 2 = π/6 + ε/2. Therefore, pt 1 q (π + ε)/2. We substitute this estimate, together with t 1 qp = π/3 − ε/2 into (2), to obtain |ts| D sin(π/2 + ε/2) sin(π/3 − ε/2) = D cos(ε/2) sin(π/3 − ε/2) .
Let B i be the ball with centre c i and radius |c 1 t 1 | = |c 2 t 1 |, i = 1, 2. Let q 1 be the point where the line oc 1 intersects B 1 in the half plane H, and q 2 the point where oc 1 intersects B 2 in the half plane opposite H. Since B 1 ∪ B 2 is the set of all points x such that t 1 xt 2 2π/3 − ε, s ∈ B 1 ∪ B 2 . If s ∈ B 1 , then Euclid III.7 gives that |os| |oq 1 | = |oq 2 |. It follows that |st| = |so| + |ot| |q 2 o| + |op| = |pq 2 |. Similar to the previous case, we obtain Theorem 6.4. For any ε ∈ (0, 2π/3) and d 2, Proof. Let A = cos(ε/2)/ sin(π/3 − ε/2) and B = 1/ sin(π/3 − ε/2). We show by induction on n 2 that If n = 2, L(T ) = D, which equals the right-hand side. Next let n > 2 and assume that (3) holds for ε-approximate Steiner trees on n − 1 terminals. Consider a cherry of T with Steiner point s and terminals t 1 and t 2 . By Lemma 6.3, the distance between s and any terminal of T is at most AD, and |st 1 | + |st 2 | B|t 1 t 2 | BD. Remove t 1 and t 2 and the edges st 1 and st 2 from T and change s into a terminal to obtain an ε-approximate Steiner tree T on n − 1 terminals. The diameter of this set of terminals is D AD. By the induction hypothesis, Finally, the length of a Steiner minimal tree joining the terminals of T is at least D, and it follows that The following is a sharper version of Lemma 2.2 in [29]. The proof is along the lines of the proof of Lemma 2.2 in [29], but is done in the plane.
First, we construct "half" the tree with 2 k terminals on C k and Steiner points on the other circles. Fix any p 1 ∈ C 0 . There are two tangent lines from p 1 to C 1 . Denote the points where they touch C 1 by p 2 and p 3 , chosen such that p 2 p 1 p 3 is positively oriented. See Figure 3. Note that p 2 p 1 p 3 = 2π/3 − ε.
Next, we "double" the tree, by choosing one of the directions on the tangent line of C 0 at p 1 , and moving each p i in that direction by a distance of δ, where δ > 0 is very small. Denote the moved points by p i . We move o in the same direction to obtain o . The moved points p 2 k , . . . , p 2 k+1 −1 will give another 2 k terminals. We join p j to p 2j and p 2j+1 , for j = 1, . . . , 2 k − 1. Finally, we join p 1 and p 1 . All p j and p j with j < 2 k are Steiner points. Each angle at a Steiner point is one of three values 2π/3 − ε, 5π/6 − ε/2, and π/6 + ε/2. These all belong to the interval [2π/3 − ε, 2π/3 + ε], since ε π/3. Thus, we obtain a full ε-approximate Steiner tree T on 2 k+1 terminals, all on the circle C k of radius r k . Note that many of the p j coincide. For instance, it is Figure 3: Constructing a lower bound in the plane always the case that p 5 = p 6 . This is allowed in our definition of an ε-approximate Steiner tree. Alternatively, we could have slightly perturbed the radii of the circles by δ to ensure that all p j are distinct. Next, we calculate L(T ). An edge from a point of T on C i to a point on C i+1 has length r i cos( π 3 − ε 2 ). Therefore, if ε > π/3, and L(T ) = δ + 2 √ 3k if ε = π/3. We form a Steiner tree S with a degeneration of the topology of T by joining each p i to o, each p i to o , and o to o . Then L(S(T )) L(S) = δ+2(2r) k , which equals δ + 2 if ε = π/3. Therefore, if ε > π/3, and letting δ → 0, we obtain the required result.
7 Upper Bounds for Small ε (Proof of Theorem 4.1) In this section, we prove Theorem 4.1 using an unfolding algorithm described in [11] and [29] based on Melzak's algorithm for finding the shortest Steiner tree for a fixed Steiner topology (if this shortest tree happens to be what we call a locally minimum Steiner tree). This algorithm unfolds an approximate Steiner tree into a broken line segment. First, we describe this unfolding and then use it in the special cases of 3 and 4 terminals in the plane to determine the exact values of F 2 (ε, 3) and F 2 (ε, 4) (Propositions 7.3 and 7.4). Then the proof of Theorem 4.1 should be clear.
The following inequality and its proof forms the basis for the unfolding algorithm.
Lemma 7.1. Let abc be an equilateral triangle in R d . Then for any x ∈ R d , |xa| |xb| + |xc|, with equality iff x is on the minor arc Ù bc of the circumcircle of abc.
Proof. The proof is essentially the same as the classical proof that the Fermat point of a triangle with all angles less than 2π/3 minimizes the sum of the distances to the vertices. Because there are only 4 points to consider, we may assume without loss of generality that x, a, b, c ∈ R 3 . Rotate bxc by an angle of π/3 around the axis through b perpendicular to the plane Π through a, b and c, such that c is rotated to a. Then b stays fixed, and x is rotated to x , say. Also, |xc| = |x a|. Let p : R 3 → Π be the orthogonal projection onto Π. Then bp(x)p(x ) is equilateral. Since xx is parallel to Π, |xx | = |p(x)p(x )| = |bp(x)| |bx|. Therefore, |xa| |xx | + |x a| |bx| + |xc|. Equality holds iff x is in the plane Π and a, x , x are collinear, which holds iff bx a = 2π/3, iff bxc = 2π/3, iff x is on the minor arc Ù bc of the circumcircle of abc.
Consider a family of n terminals N n in R d and a full Steiner topology T n for those terminals. Choose one of the terminals t 0 as root of T n . We define a Melzak sequence of N n and T n to be two sequences N n , N n−1 , . . . , N 2 and T n , T n−1 , . . . , T 2 , where each T i is a full Steiner topology on N i and with root t 0 (thus t 0 ∈ N i for all i), and where we obtain N i−1 and T i−1 from N i and T i as follows: choose any cherry of T i with two terminals t 1 , t 2 = t 0 and Steiner point s with neighbours t 1 , t 2 and p, say, replace t 1 and t 2 in N i by any point t ∈ R d such that t 1 t 2 t is an equilateral triangle, thus obtaining N i−1 , and remove s and its incident edges from T i and replace them by the edge pt, to obtain T i−1 . If N 2 = {t 0 , t}, say, then we call the line segment t 0 t an unfolding of N n with respect to the topology T n .
It is not difficult to see that if there is more than one cherry to choose from at a certain stage, it does not matter which we choose first: we may in fact process both cherries in parallel. (This is equivalent to saying that in the subtree of T n on the Steiner points, it does not matter in which order we remove leaves, and that this may be done in parallel.) Lemma 7.1 and induction immediately gives the following, which is Theorem 3.1 of [29] and Theorem 4.2 of [11]: Lemma 7.2. The length of any unfolding of a terminal set N n ⊂ R d with respect to a full Steiner topology T n is a lower bound for the shortest tree on N n which has T n as topology (allowing degenerate topologies).
Next, we describe the plan of the proof of Theorem 4.1. First, we unfold a planar ε-approximate Steiner tree into a polygonal path of the same length, and estimate the turn at each internal vertex of the path. By Lemma 7.2, the length between the endpoints of the unfolding is a lower bound on the length of a Steiner minimal tree on the same terminal set. By a result of E. Schmidt [30] (Lemma 7.5 below), this length is minimised among all polygonal paths with the same angles and edges of the same length, by a planar, convex path. Finally, we minimise the length of the endpoint among all polygonal paths of the same total length and the same sum of turns.
Before providing the detail of the general case, we show how to determine exact values for small n.
The following generalises the idea in the above proof of estimating the length of a polygonal path in terms of the distance between its endpoints. We do not know the history of this elementary result, but an extension of this lemma to curves of finite total curvature was proved by Schmidt [30] (see also [1,Theorem 5.8.1] and [34,Proposition 7.1]). Proof. The case n = 2 is just Lemma 6.2, so assume that n 3. Since κ < π, the n unit vectors all lie in an open half circle. The polygonal path p 0 p 1 . . . p n can be replaced with a convex polygonal path p o p 1 . . . p n such that p 0 = p o , p n = p n and each segment of the new path is a translation of a segment of the original path, selected so that the turns all have the same sign. Then p 0 p 1 . . . p n is a convex polygonal path with the same κ and the same endpoints as the original polygonal path. Let the lines p 0 p 1 and p n−1 p n intersect in q. Since κ < π, p 0 p 1 . . . p n is contained in p o qp n . By a well-known elementary geometric inequality, n−1 i=1 |p i p i+1 | |p 0 q| + |qp n |. It remains to apply the case n = 2 of the lemma to the path p 0 qp n .
Proof of Theorem 4.1. We choose a root edge of an ε-approximate Steiner tree T on n terminals and unfold the two parts of T separated by the root edge to obtain a polygonal path P with 2n−3 edges, of the same length as T . See Figure 6, where the blue ε-approximate tree has been unfolded. The turn at each internal vertex of the polygonal path P is indicated. The quantity κ of Lemma 7.5 is the maximum absolute turn between any two edges of P . For example, the total turn between edge a and edge h on P in Fig. 6 equals −ε 1 − ε 2 + ε 3 + ε 4 + ε 5 − ε 4 − ε 5 − ε 6 = (−ε 1 − ε 2 ) − ε 6 , which is the sum of the errors at the two Steiner points on the path between edges a and h in 2π/3−ε 2π/3 Figure 7: The angles around a Steiner point in the binary tree construction the tree. Thus, the absolute turn between a and h in P is at most 2ε. In general, since there are at most n − 2 Steiner points in a full Steiner topology on n terminals, there are at most n − 2 Steiner points on the path between any two edges in an ε-approximate Steiner tree, each contributing an error of absolute value at most ε. It follows that κ (n − 2)ε. We now apply Lemma 7.5 to obtain that L(T )/L(S(T )) 1/ cos( 1 2 (n − 2)ε).

Construction of an ε-Approximate Full Binary Tree in the Plane
In this section we prove Theorems 4.3 and 4.4 by constructing a sequence of ε-approximate Steiner trees T k (k ∈ N) for which it is possible to calculate the ratio between their length and the length of a locally minimum Steiner tree on the same terminals, if ε 1/k 2 . A somewhat similar construction is made in [25]. The calculation will make essential use of complex numbers. Using complex numbers to solve problems in classical Euclidean geometry is an old trick [2,17,31], and even in the geometric Steiner tree literature there are papers where complex numbers appear [5,7].
We remark that each p i is a polynomial in z of degree h(i) with coefficients in the ring Z[1/2, ω]. Next, we apply Melzak's Algorithm to the terminals of T k to obtain the locally minimum Steiner tree S(T k ) with the same topology. Surprisingly, it turns out that the Steiner points of S(T k ) are also polynomials in z with coefficients in Z[1/2, ω].
The first step in Melzak's algorithm is to calculate the so-called quasi-terminals q i (1 i 2 k+1 − 1) [11]. For each i = 2 k , . . . , 2 k+1 − 1, let q i = p i . Then, for each i = 2 k − 1, . . . , 1, once q 2i and q 2i+1 have been defined, let q i be the unique point such that the triangle ∆ i = q i q 2i q 2i+1 is equilateral, and such that p i and q i are on opposite sides of the line q 2i q 2i+1 . Let C i be the circumcircle of ∆ i and c i its centre (Fig. 9). Since p 2i p i p 2i+1 = 2π/3, p i/2 p i q i = π − ε and |p i p 2i | = |p i p 2i+1 |, we obtain by induction that for i = 1, . . . , 2 k − 1, q 2i p i q 2i+1 = 2π/3, q i p i q 2i = q i p i q 2i+1 = π/3, hence p i is on C i and the centre c i of C i is the midpoint of p i and q i . Also, |p i q i | = 2|p i q 2i | = 2|p i q 2i+1 |. Since c i q 2i p i q 2i+1 is a parallelogram, we have c i = p i + (q 2i − p i ) + (q 2i+1 − p i ) and q i = p i + 2(c i − p i ) = p i + 2(q 2i − p i ) + 2(q 2i+1 − p i ).
If 2 k−1 i < 2 k , we have q 2i = p 2i and q 2i+1 = p 2i+1 , hence q i = p i + 2(p 2i − p i ) + 2(p 2i+1 − p i ) = p i + (p i − p i/2 )ω −1 z + (p i − p i/2 )ωz by (5) and (6) = p i + (p i − p i/2 )z = p i + ω a k−1 (i) Å z 2 ã k−1 z by (10), By induction, we obtain that for each i < 2 k−1 , (use (11), (10), (9); see the Appendix) Therefore, each q i is a polynomial in z of degree k. In particular, Also, the centres are polynomials in z of degree k. In particular, Finally, we construct the Steiner points s i , 1 i 2 k − 1. Formally, we let s 0 = p 0 = 0. Once s i/2 has been constructed, s i is the point where the minor arc¸ q 2i q 2i+1 of C i intersects the segment s i/2 q i . See Figure 9. This gives the shortest Steiner tree for this tree topology as long as¸ q 2i q 2i+1 intersects s i/2 q i . This happens iff s i/2 q i p i π/6 and s i/2 is outside C i . For i 1, we calculate s i by solving |s i − c i | = |q i − c i |, where If we square q i − λ(q i − s i/2 ) − c i = |q i − c i | and use conjugates, we can solve for λ: and substitute into (16) to determine s i : The modulus of this sum of complex numbers can be interpreted as the distance between the endpoints of a convex polygonal path consisting of k + 1 segments of unit length with a turn of ε between two adjacent segments. This is easily calculated to be sin[(k + 1)ε/2]/ sin(ε/2). Thus, the ratio between the length of the approximate tree T k and the length of the locally minimum Steiner tree S(T k ) is (recall (4)) L(T k ) L(S(T k )) = (k + 1) sin(ε/2) sin[(k + 1)ε/2] 1 + k 2 + 2k 24 ε 2 .

Conclusions
4. It is to be expected that the lower bound in Theorem 4.4 should hold for general n, even if it turns out that G 2 (ε, n) is not monotone in n. Most likely the proof can be adapted for values of n other than 2 k + 1 by modifying the construction in Section 8, but we did not look at this in detail.

5.
In the definitions of F d , F d and G d in Sections 3 and 4, we could have included all εapproximate trees on n points instead of considering only the full ones. However, by decomposing a Steiner tree into full components, it can be shown that the values of F d , d 2, and G d , d 3, will not change (use the inequality a+b c+d max{ a c , b d } and Propositions 5.1 and 5.2). We do not know whether the values of F d or G 2 will also be unchanged.