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 from 120∘\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$120^{\circ }$$\end{document}. This notion arises in numerical approximations of minimum Steiner trees. We investigate the worst-case relative error of the length of an approximate Steiner tree compared to the shortest tree with the same topology. It has been conjectured that this relative error is at most linear in the maximum error at the angles, independent of the number of terminals. We verify this conjecture for the two-dimensional case as long as the maximum angle error is sufficiently small in terms of the number of terminals. In the two-dimensional case we derive a lower bound for the relative error in length. This bound is linear in terms of the maximum angle error when the angle error is sufficiently small in terms of the number of terminals. We find improved estimates of the relative error in length for larger values of the maximum angle error 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 [1], Cieslik [2], Prömel and Steger [3], and the recent Brazil and Zachariasen [4]. For more on the history of the problem, see Boltyanski, Martini, and Soltan [5] and the recent Brazil, Graham, Thomas, and Zachariasen [6].
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 • , and exactly 120 • at each Steiner point [1, 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 [7], can be done in linear time [8]. On the other hand, determining the topology of a minimum Steiner tree is hard. There is a super-exponential number of different topologies [9], 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 [10]. 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 [11].
There are polynomial time approximation schemes to calculate minimum Steiner trees in Euclidean space (Arora [12] and Mitchell [13]; see also [14]). However, for the actual implementation of these schemes, there has been progress so far only for certain planar problems [15]. 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 [16]. In higher dimensions, the Steiner points are not necessarily constructible, and finding the optimal Steiner points results in solving high-degree algebraic equations, or solving a convex optimisation problem numerically [17]. See the papers [9,[17][18][19][20][21][22][23] 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 [24] and in higher dimensions have been used to determine phylogenetic trees [25].
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 et al. [22] 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 • . This paper is a further contribution to this topic.
Before we can give an exact definition of the relative error, we introduce our terminology and notation in Sect. 2. Then, in Sect. 3 we define the relative error and formulate the main conjectures from [22]. Our results are stated and summarised in Sect. 4. Sect. 5 is a brief discussion of the monotonicity of the relative error as the number of terminals increases. In Sect. 6, we prove our results for large relative errors. For small relative errors, we subdivide the proofs into a section on upper bounds (Sect. 7) and lower bounds (Sect. 8). We conclude in Sect. 9 with some remarks. There are two tedious induction proofs of results in Sect. 8 which are presented in "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 for N , with topology T , 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 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 x y 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 [22] 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 [22] 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, [4, Figure 1.7]), it can be shown that S(T ) is always unique [9, Section 4].
Rubinstein, Weng and Wormald [22] defined the following two quantities: and made the following conjectures in the case d 3. Although they did not consider the two-dimensional case, we include it, as it is also still open, and most of our results will be in the plane. Conjecture 3.1 For any d 2 there exist ε 0 > 0 and C d > 0 such that for all ε ∈]0, ε 0 [ and n ∈ N, F d (ε, n) < C d ε.
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 [22] 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 summarised in Table 1. Our first main result is an upper bound for the relative error in the plane. The proof is in Sect. 7. As a consequence, Conjecture 3.1 holds in the plane if ε is sufficiently small, depending on n.
In [22] an example is given, which shows that Conjecture 3.1 is sharp for each d 3.
Our second main result, Theorem 4.2, is a lower bound for F 2 , which shows that Conjecture 3.1 is already sharp in the plane for sufficiently small ε.
The proof is in Sect. 8. In Sect. 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.2 in fact gives a lower bound for G 2 (ε, n) for certain values of n, as in Theorem 4.3.

Theorem 4.3 For any k
Unfortunately we do not know whether G 2 (ε, n) is monotone in n (see Sect. 5), 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, 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 any 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δ. Furthermore, 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.1 we give an explicit upper bound for F d (ε, n) for all values of for small ε. Theorem 6.2 sharpens Lemma 2.2 of [22] in the range ε ∈]π/3, 2π/3[ by giving a lower bound for F d for all d 2 of the form n α(ε) , where α(ε) is an explicit function of ε. In particular, it will follow that, if ε > 105.6 . . . • , then α(ε) > 2; hence, the lower bound grows super-quadratically. This indicates that Theorem 2.1 of [22] can only hold if ε is sufficiently small. We also obtain a lower bound for ε = π/3 of the form Ω(log n). Proposition 6.1 If ε π/6 and n 3, then F 2 (ε, n) 2n − 4.
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.

Lemma 6.1 In abc,
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.2 Let T be an ε-approximate Steiner tree in
(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.1: 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 any loss of generality, t is inside the angle pot 2 .
First, suppose that ε π/6 ( Fig. 2a). 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 [26]). 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 |ts| |tc| + |cs| | pc| + |cq| = |pq| = D sin pt 1 q sin t 1 qp .
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 be 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.1 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, then 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.2, 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, L(T ) 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 [22]. The proof is along the lines of the proof of Lemma 2.2 in [22], but is done in the plane. Theorem 6.2 For each ε ∈]π/3, 2π/3[, By making ε large enough, the lower bound in Theorem 6.2 grows faster than any polynomial. In particular, if ε > 105.6 . . . • , then the lower bound is super-quadratic (compare with Theorem 2.1 in [22]). Theorem 6.2 follows from the following lemma (combined with Proposition 5.1).
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 Fig. 3. Note that p 2 p

Fig. 3 Constructing a lower bound in the plane
In general, for each i = 1, . . . , k, once p 2 i−1 , p 2 i−1 +1 , . . . , p 2 i −1 ∈ C i−1 have been determined, for each p j ∈ C i−1 , let p 2 j and p 2 j+1 be the two points where the tangents from p j touch C i , chosen such that p 2 j p j p 2 j+1 is positively oriented. Again, p 2 j p j p 2 j+1 = 2π/3 − ε. The points p 2 k , . . . , p 2 k+1 −1 ∈ C k will be 2 k of the terminals. We join each p j to p 2 j and p 2 j+1 , for j = 1, . . . , 2 k − 1.
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 2 j and p 2 j+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 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, then for each δ > 0; hence, and letting δ → 0, we obtain the required result.

Upper Bounds for Small ε (Proof of Theorem 4.1)
In this section, we prove Theorem 4.1 using an unfolding algorithm described in [18] and [22]  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 minimises the sum of the distances to the vertices. Because there are only 4 points to consider, we may assume without any 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 Π .
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). 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, say, t 1 , t 2 and p. 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 . 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 give the following, which is Theorem 3.1 of [22] and Theorem 4.2 of [18]: 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 [27] (Lemma 7.3 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.
We unfold the tree into a polygonal line of total length L(T ) as follows. We rotate e 1 = st 1 by an angle of π/3 around s to obtain the edge e 1 = st 1 , say. We rotate e 2 = st 2 by an angle of −π/3 around t 1 to obtain the edge e 2 = t 1 t 2 . Then, t 0 st 1 t 2 is a polygonal line of length L(T ) (see Fig. 4). The turn from edge e 0 to e 1 equals ε 1 , and the turn from e 1 to e 2 equals ε 3 . Since |ε 1 + ε 3 | = |ε 2 | ε < π, the rays − → t 0 s and − → t 2 t 1 intersect in p, say. Then, L(T ) = |t 0 s| + |st 1 | + |t 1 t 2 | |t 0 p| + |pt 2 |. By Lemma 7.2, L(S(T )) |t 0 t 2 |. It follows that by Lemma 6.1, and To show that G 2 (ε, 3) (cos ε/2) −1 − 1, consider an ε-approximate tree T as above with ε 1 = ε 2 = −ε/2, ε 3 = ε, |t 0 s| = δ for arbitrarily small δ > 0, and Proof Consider an ε-approximate Steiner tree on four terminals t 1 , t 2 , t 3 , t 4 , Steiner points s 1 and s 2 , and edges e 1 = s 1 t 1 , e 2 = s 1 t 2 , e 0 = s 1 s 2 , e 3 = s 2 t 3 , e 4 = s 2 t 4 , labelled in such a way that e 0 , e 1 , e 2 are in anticlockwise order around s 1 , and e 0 , e 4 , e 3 are in anticlockwise order around s 2 . Furthermore, let t 1 s 1 t 2 = 2π/3+ε 1 , t 1 s 1 s 2 = 2π/3 + ε 2 , s 1 s 2 t 4 = 2π/3 + ε 3 and t 3 s 2 t 4 = 2π/3 + ε 4 , where |ε i | ε, i = 1, 2, 3, 4, and |ε 1 + ε 2 | , |ε 3 + ε 4 | ε. See Fig. 5. As in the proof of Proposition 7.1, we unfold the tree into a polygonal line of total length L(T ), and with the distance between the endpoints a lower bound to L(S(T )). Rotate e 1 by π/3 around s 1 to obtain e 1 = s 1 t 1 . Rotate e 2 by −π/3 around t 1 to obtain e 2 = t 1 t 2 . Rotate e 3 by −π/3 around t 4 to obtain e 3 = t 4 t 3 . Rotate e 4 by π/3 around s 2 to obtain e 4 = s 2 t 4 . This gives a polygonal line P = t 2 t 1 s 1 s 2 t 4 t 3 of length L(T ), with turns −ε 1 at t 1 , −ε 2 at s 1 , ε 3 at s 2 , and ε 4 at t 4 . Note that the turn between any two of the five edges of P will be at most 2ε in absolute value. For instance, the absolute turn between e 1 and e 3 equals |−ε 2 + ε 3 + ε 4 | |ε 2 | + |ε 3 + ε 4 | 2ε. If we reorder the edges of P to make a new, convex polygonal line P with the same endpoints as P (Fig. 5, middle), then P will lie inside the triangle t 2 t 3 p bounded by t 2 t 3 and the lines through the first and last edges of P . The turn from the first edge to the last edge of P is exactly the maximum turn between two edges of P, so is at most 2ε. Hence, the angle at the apex of this triangle will be at least π − 2ε, and by Lemma 6.1, L(T )/|t 2 t 3 | 1/ cos ε. The proof of the upper bound concludes in the same way as that of Proposition 7.1.
It is not difficult to see that the Melzak algorithm obtains a locally minimum Steiner tree S(T ) for any ε < π/3.
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 [27] (see also [28,Theorem 5  If κ < π, then Proof The case n = 2 is just Lemma 6.1, so assume that n 3. Since κ < π, the n unit vectors  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 Fig. 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.3 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 which is the sum of the errors at the two Steiner points on the path between edges a and h in 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.3 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.2 and 4.3 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 [30]. The calculation will make essential use of complex numbers. Using complex numbers to solve problems in classical Euclidean geometry is an old trick [31][32][33], and even in the geometric Steiner tree literature there are papers where complex numbers appear [34,35].  . 7). This determines the tree uniquely up to congruence. See Fig. 8 for the case k = 3. Since there are 2 j edges of length 2 − j+1 ( j = 0, 1, . . . , k), We construct this tree recursively, using complex numbers. Let p 0 = 0 ∈ C and p 1 = 1 ∈ C. Then, e 1 = p 0 p 1 . Let ω = e iπ/3 and z = e iε .
Once p i/2 and p i have been defined, define p 2i and p 2i+1 as in Fig. 7. If we walk from p i/2 to p i and then turn in the direction of p 2i , the turn is a right turn by an angle of π/3 − ε. Furthermore, | p i p 2i | = 1 2 | p i/2 p i |. Therefore, Similarly, if we turn instead in the direction of p 2i+1 , this is a left turn by an angle of π/3 + ε, which gives We obtain the following recurrence: To describe its solution, we have to consider the sequence of left and right turns as we walk from p 0 to p i . This can be found from the binary expression of i. Let It then follows by induction, using (5) and (6), that Finally, by induction and (7) we obtain (8).
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) [18]. 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 . Furthermore, | 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 and If 2 k−1 i < 2 k , then we have q 2i = p 2i and q 2i+1 = p 2i+1 , hence (5) and (6) (10).
By induction, we obtain that for each i < 2 k−1 (use (11), (10), (9); see "Appendix") Therefore, each q i is a polynomial in z of degree k. In particular, Furthermore, 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 arcq 2i q 2i+1 of C i intersects the segment s i/2 q i . See Fig. 9. This gives the shortest Steiner tree for this tree topology as long asq 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 s i = q i − λ(q i − s i/2 ), 0 < λ < 1.
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
1. In this paper we considered the planar case of the conjectures of Rubinstein, Wormald and Weng [22]. Although we proved one of their conjectures when ε is sufficiently small in terms of the number of terminals (Corollary 4.1), the full conjecture is still open even in the plane, a setting that one would have expected to be simple. It is especially frustrating that for a small constant (for instance, ε = 10 −3 ), the best upper bound we have is F 2 (ε, n) = O(n) (Proposition 6.1). 2. In the ε-approximate Steiner tree constructed in Sect. 8, the edge lengths are halved at each new level of the tree. If we let the edge lengths decay sufficiently fast, then most likely the topology of the ε-approximate tree will be the same as the topology of a minimum Steiner tree for ε sufficiently small [36]. Thus, the locally minimum tree constructed, using the Melzak algorithm as in Sect. 8, will most likely be a minimum Steiner tree on the terminals. This would then give a (miniscule) lower bound for F 2 (ε, n). However, the calculations are much harder when the ratio, at which the edge lengths change, is not exactly 1/2, and we have not carried these out. For similar ideas, see the papers [36] and [30]. 3. In the proof of Theorems 4.2 and 4.3 (Sect. 8) we showed that the polynomials p k,h and q k,h do not have roots at distance smaller than 1/k 2 from 1. We suspect that these polynomials actually have roots at distance approximately c/k 2 to 1. 4. It is to be expected that the lower bound in Theorem 4.3 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 Sect. 8, but we did not look at this in detail. 5. In the definitions of F d , F d and G d in Sects. 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. and