Shortest directed networks in the plane

Given a set of sources and a set of sinks as points in the Euclidean plane, a directed network is a directed graph drawn in the plane with a directed path from each source to each sink. Such a network may contain nodes other than the given sources and sinks, called Steiner points. We characterise the local structure of the Steiner points in all shortest-length directed networks in the Euclidean plane. This characterisation implies that these networks are constructible by straightedge and compass. Our results build on unpublished work of Alfaro, Campbell, Sher, and Soto from 1989 and 1990. Part of the proof is based on a new method that uses other norms in the plane. This approach gives more conceptual proofs of some of their results, and as a consequence, we also obtain results on shortest directed networks for these norms.


Introduction
In the well-studied Euclidean Steiner problem, a finite set of points in the plane is given, and the problem is to find a shortest network interconnecting all points. Its fascinating history is given a definitive treatment by Brazil, Graham, Thomas and Zachariasen [4]. What distinguishes this problem from the well-known Minimal Spanning Tree problem, is that such a network (necessarily a tree) may contain new points, called Steiner points. The degree of such a Steiner point is always 3, and the angle between any two incident edges is 120 • . In fact, any such tree is constructible using compass and straight-edge. Despite the simplicity of this local structure, it is NP-hard to compute such a shortest network. On the other hand, there is an exact algorithm (GeoSteiner) that can feasibly compute these networks for given point sets of size in the thousands. For more detail, see Chapter 1 of Brazil and Zachariasen [5].
A directed version of this problem was introduced by Frank Morgan for undergraduate research at Williams College in the late 1980s [1,2,3]. In this problem, a set of sources and a set of sinks in the plane are given, and the object is to find a shortest directed network containing a path from each source to each sink. As these directed networks are not necessarily trees, they are much harder to study, and even their existence is non-trivial [2]. There is no known algorithm for finding such networks, and as a first step, the local structure of such networks has to be described. There are some partial results in [1,3]. The main contribution of this paper is to complete their results with a complete description of the local structure of the edges incident to a Steiner point in a shortest directed network (Theorem 1). We also find new proofs of some of their results. Our characterisation easily implies that any shortest directed network in the plane is constructible by straightedge and compass (Corollary 2). We make use of norms other than the Euclidean, which on the one hand gives conceptually simpler proofs of some of the results in [1], and on the other hand also give examples of shortest directed networks for these norms.

Main results
The digraphs G = (V, E) in this paper will be simple, that is, they are without loops. We call the elements of V nodes. The elements of E, which we call directed edges or just edges, are directed pairs of distinct nodes, and denoted by x→y, where x is the tail and y the head of the directed edge. The indegree of a node x is the number deg − (x) of directed edges in E with head x, and the outdegree the number deg + (x) of directed edges in E with tail x. The degree of x is the ordered pair deg(x) = (deg − (x), deg + (x)).
Given a digraph G = (V, E) and nodes a, b ∈ V , a directed path from a to b is a finite sequence of distinct vertices a = x 1 , x 2 , . . . , x n = b (n ≥ 1) such that x i →x i+1 ∈ E for each i = 1, . . . , n − 1. We allow a path with a single vertex. We call any directed path in G from a to b an (a, b)-path. Given subsets A, B ⊆ V , we say that G is an (A, B)-network if G contains an (a, b)-path for each a ∈ A and b ∈ B. We do not require A and B to be disjoint. The nodes in V \ (A ∪ B) are called the Steiner points of the (A, B)-network. We call an (A, B)-network simple if for each Steiner point Let X = (R d , · ) be a d-dimensional normed space. A directed network or geometric digraph in X is an embedding of a digraph G = (V, E) into X such that each node in V is represented as a point in X and where each directed edge is drawn as a straight-line segment from its tail to its head. We allow distinct nodes in V to be represented by the same point in X. The length of a directed edge x→y in a directed network is its length in the norm x→y := x − y . The length of a network G is the sum of the lengths of its directed edges and denoted G := x→y∈E x→y . We will sometimes work with the same network in R d but with more than one norm. To avoid confusion, we will always use subscripts to distinguish between different norms. These norms are all introduced in Section 3.
Note that any (A, B)-network in X can be modified into a simple (A, B)network that is not longer. Indeed, given any Steiner point s of the (A, B)network G, if deg − (s) = 0 or deg + (s) = 0, then s and its incident directed edges can be removed from G, and the new directed graph stays an (A, B)network. Also, if deg − (s) = deg + (s) = 1, then s and its incident directed edges x→s and s→y can be replaced by a single directed edge x→y to obtain an (A, B)-network G with G ≤ G . By applying these two procedures repeatedly, we obtain a simple (A, B)-network after finitely many steps.
Given finite sets A and B of points from X, a shortest (A, B)-network is an (A, B)-network of minimum length among all (A, B)-networks in X. From the remarks in the previous paragraph, we only have to consider simple (A, B)-networks when finding shortest ones. It is not trivial that any finite sets of points A and B in a finite-dimensional normed space X has a shortest (A, B)-network, as an (A, B)-network can have cycles and there is no obvious upper bound for the number of Steiner points in such a network. However, it has been shown that the number of Steiner points in a simple (A, B)-network is bounded by O(|A|+|B|) in the Euclidean plane [2] and O(|A| 2 |B|+|A||B| 2 ) in any normed space (or indeed, any metric space) [7]. This, together with a compactness argument, shows that given finite subsets A and B of a finite-dimensional normed space, there always exists at least one shortest (A, B)-network.
Partial results on the local structure of Steiner points in a shortest (A, B)network in the Euclidean plane can be found in [1,3]. Our main result is a completion of these partial results into a full characterisation. (a) Opposite pairs of directed edges lie on two straight lines, with directed edges alternating between incoming and outgoing.
(b) Opposite pairs of directed edges lie on two straight lines, directed edges do not alternate between incoming and outgoing, and the angles between the two incoming directed edges and between the two outgoing directed edges are ≥ 120 • . (3,2).
In the case (2, 3), the three outgoing directed edges are pairwise at 120 • degrees, and the two incoming directed edges lie on a straight line. The case (3, 2) is exactly opposite: the three incoming directed edges are pairwise at 120 • degrees, and the two outgoing directed edges lie on a straight line. s Case 1 in the above theorem was well known and follows easily from classical results in elementary geometry (see Lemmas 14 and 15). Case 2(b) was known [3, Theorem 2.4] and we do not prove it in this paper, but Case 2(a) is new, and is proved as Theorem 18 in Section 4. We present a proof that uses a different norm on R 2 and that gives as a byproduct results for the 1 -plane (Corollaries 19 and 20 below). Case 3 is new and the hardest part of the theorem. We devote Section 6 to its proof. It was known in the special case where the two incoming directed edges (where deg(s) = (2, 3)) are orthogonal to one of the outgoing directed edges [1]. Case 4 was known [1], but we give a different proof in Section 5, this time using the norm with the regular hexagon as unit ball (Theorem 21), and again with a corollary for shortest direct networks in this norm (Corollary 22).
An immediate consequence of Theorem 1 is that shortest directed networks can be constructed with straightedge and compass. Proof. Consider the underlying graph G of a shortest (A, B)-network. Since we can easily construct a Steiner point of degree (2, 2) from its neighbours, we may without loss of generality replace each Steiner point of degree 4 and its incident edges by two edges joining opposite neighbours. We can similarly replace the incoming (outgoing) edges of a Steiner point of degree (2, 3) (degree (3,2), respectively) by an edge joining the two neighbours. What remains are Steiner points with three neighbours joined by edges that are pairwise at 120 • . It is then clear that we can decompose G into full Steiner trees (trees in which each non-Steiner point has degree 1), each of which is constructible by the Melzak-Hwang algorithm [5, Section 1.

2.1].
We leave open the following problems.
Problem 3. Find an algorithm that can feasibly compute shortest directed networks in the Euclidean plane, at least for a small number of sources and sinks.
The main difficulty in finding an algorithm lies in the enumeration of all possible digraph structures. Note that if there is only one source or one sink, then a shortest network has to be a tree, which can be computed with the GeoSteiner algorithm [5, Section 1.4].
Problem 4. Find a characterisation of the local structure of sources or sinks of shortest directed networks in the Euclidean plane analogous to that for Steiner points in Theorem 1.
Note that such a characterisation is known in the undirected case: In a Steiner minimal tree, a given node either has degree 3 with all angles between incident edges equal to 120 • , or has degree 2 with the angle between the two edges ≥ 120 • , or has degree 1 [5, Theorem 1.2].
Problem 5. Find characterisations of the local structure of nodes (Steiner points, sources or sinks) of shortest directed networks in higher-dimensional Euclidean space analogous to that for Steiner points in Theorem 1.
Corollary 17 below gives some partial results on the above two problems. Problem 6. Find characterisations of the local structure of nodes (Steiner points, sources or sinks) of shortest directed networks in other normed planes and spaces.
The undirected case of Problem 6, namely to characterise the local structure of Steiner points and terminals in Steiner minimal trees in normed planes, is known [8].
We also draw attention to the following attractive conjecture of Alfaro.
Conjecture 7 (Alfaro [1]). In the Euclidean plane, suppose that the set A of sources and set B of sinks are the same. Then a shortest (A, B)-network does not have Steiner points and is a union of cycles.

Basic lemmas
By a norm defined on R d , we mean a function · : The unit ball of a norm is defined to be the set {x ∈ R d : x ≤ 1}. We will compare norms, and to do this, it is useful to keep in mind that We will work with a variety of norms in the plane R 2 apart from the Euclidean norm · 2 with unit ball B 2 . The 1 -norm is defined by (x, y) 1 = |x| + |y|. Its unit ball B 1 is the convex hull of the four points (±1, 0) and (0, ±1). Since For any θ ∈ (0, 90 • ) we define the norm · 1(θ) on R 2 by (x, y) 1(θ) = |x| cos θ + |y| sin θ.
Proof. By the Cauchy-Schwarz inequality, Figure 1: The unit balls of · h , · 2 , · H and · 1(60 • ) The inequality in Lemma 8 is sharp with equality attained at the points (± cos θ, ± sin θ). This lemma can also be seen by noting that the unit ball B 1(θ) of · 1(θ) is a parallelogram circumscribing the Euclidean unit ball B 2 , and touching B 2 at the four points (± cos θ, ± sin θ). See Figure 1 for the case θ = 60 • .
Define the norm , circumscribing the Euclidean unit circle and touching it at a 1 , a 2 , a 3 , b 1 , b 2 , b 3 ( Fig. 1), where Its unit ball B h is the regular hexagon a 1 b 3 a 2 b 1 a 3 b 2 inscribed in the Euclidean unit circle (Fig. 1). Note that although the normed plane (R 2 , · h ) is not the same as (R 2 , · H ), they are isometric.
This lemma also follows from the fact that the unit balls B h ⊆ B 2 ⊆ B H .
Lemma 10. For any a, b ∈ R 2 , if a and b are the orthogonal projections of a and b onto the x-axis, Lemma 11. Suppose that the unit ball B of the norm · 2 on R 2 is a polygon with edges p i p i+1 , i = 1, . . . , 2n − 1, where p n+i = −p i , i = 1, . . . n and p 2n = p 0 . Then for any segment vw in the plane there exists a point c such that the segments vc and cw are each parallel to p i and p i+1 for some We call the union of the segments vc ∪ cw in the above lemma a broken edge that has the same length as vw.
We next note that it is only the directions of the directed edges incident to a vertex that is important in characterizing the local structure of a node. Proof. By scaling, we may assume that each a i ≤ a i and each b j ≤ b j . If G is not a shortest (A, B)-network, then G can be shortened by replacing the part of G that coincides with G by a shorter network, which gives a contradiction. Proof. It is sufficient to prove that each Steiner point of the (A, B)-network G is contained in conv(A∪B). Suppose that some Steiner point s / ∈ conv(A∪B). Let H be a hyperplane that strictly separates s from all other nodes of G. Each directed edge e incident to s intersects H in some point p e . If we project s, together with the segments sp e of each edge e orthogonally onto H, then we obtain a shorter network, which is a contradiction.
The following is a well-known geometric result that goes back to Fermat and Torricelli [6, Problem 91].
Lemma 14. Let a, b, c be three points in Euclidean space E d . Then there is a unique point s that minimises the sum of distances a−s 2 + b−s 2 + c−s 2 to the given points. If abc, bca, cab < 120 • , then s is in the relative interior of conv{a, b, c}, and asb = bsc = csa = 120 • . If, on the other hand, abc ≥ 120 • , say, then s = b.
Lemma 15. Let a, b, c be three points in Euclidean space E d distinct from the origin o. Suppose that all three angles aob, boc, coa ≥ 120 • . Then a, b, c, o lie in the same 2-dimensional plane, and aob = boc = coa = 120 • .

Proof. Define the unit vectors
The hypothesis on the angles implies that the inner products v i , v j ≤ 1/2 for all distinct i, j = 1, 2, 3. Then and it follows that v 1 , v 2 , v 3 are coplanar and the inner products are all v i , v j = 1/2.
As a consequence of the previous two lemmas, we obtain the following properties of shortest directed networks in Euclidean space.
Then the angle at v between any two incoming directed edges or any two outgoing directed edges at v is ≥ 120 Then the angle at v between the outgoing directed edge and any incoming directed edge is ≥ 120 • .
Proof. 1. By Lemma 14, if some angle between two incoming directed edges is < 120 • , then we can replace these two directed edges by three directed edges joined to a Steiner point, oriented appropriately, to obtain a shorter (A, B)-network. It then follows from Lemma 15 that there cannot be more than three incoming edges.
2. Let the outgoing directed edge be v→b and consider any incoming directed edge c→v with bvc < 120 • . Note that by minimality of G, since v is not a sink and has only one outgoing directed edge, any directed path from a source to a sink that uses c→v also has to use v→b. We can then replace v→b and c→v by a Steiner point s from Lemma 14 and directed edges c→s, v→s and s→b, to obtain a shorter (A, B)-network.  Proof. By Lemma 12, it is sufficient to prove the theorem with a 1 b 1 a 2 b 2 a rectangle. From now on we assume that a 1 b 1 a 2 b 2 is a rectangle with half diagonals of length a 1 2 = a 2 2 = b 1 2 = b 2 2 = 1. We choose coordinates such that o is the origin and the axes bisect the four angles created by the diagonals a 1 a 2 and b 1 b 2 at o. Let θ = a 1 ox. (See Figure 2.) Let N be any given (A, B)-network. We have to show that the total length N 2 ≥ 4. Create a new network N by replacing each edge v→w of N by a broken edge, that is, an edge parallel to the x-axis starting at v, joined to an edge parallel to the y-axis and ending at w. Then by Lemmas 8 and 11. Each edge in N is in one of 4 directions: the positive and negative x-and y-axes. Consider any (a 1 , b 1 )-path P in the new network N . The total · 1(θ) -length of all the edges of P in the direction of the negative x-axis is at least a 1 − b 1 1(θ) = (2 cos θ) cos θ + 0 sin θ = 2 cos 2 θ. Similarly, the total · 1(θ) -length of all the edges of an (a 2 , b 2 )-path in the direction of the positive x-axis is also at least 2 cos 2 θ. In the same way, the total · 1(θ) -length of all the edges of an (a 2 , b 1 )-path in the direction of the positive y-axis is at least 2 sin 2 θ, and of all the edges of an (a 1 , b 2 )-path in the direction of the negative y-axis is also at least 2 sin 2 θ. Since we did not count any edge twice, we arrive at a lower bound for the · 1(θ) -length of N of N 1(θ) ≥ 2 cos 2 θ + 2 cos 2 θ + 2 sin 2 θ + 2 sin 2 θ = 4.
As corollaries of the above Euclidean result, we obtain two results in the 1 -plane. Proof. Let N 0 denote the network described in the corollary, and let N be any (A, B)-network. Note that N 2 ≤ N 1 for any network N . By Theorem 18, Since x ≤ x 1 , and because we can replace edges of shortest directed networks in the 1 -plane by broken edges without changing the length, it follows that in any shortest directed network in the 1 -plane, each vertex, including Steiner points, has indegree and outdegree at most 4 each. This can be attained. Consider any (a 1 , b 1 )-path P in N . The only vectors on this path with negative x-component are those in the directions of a 1 and b 1 . If we project this path orthogonally onto the x-axis, the · H -distance does not increase, by Lemma 10. It follows that the total · H -length of the edges in the directions of a 1 and b 1 is at least 2. By symmetry, the total · H -length of the edges on an (a 2 , b 2 )-path in the directions of a 2 and b 2 is at least 2, and the total · H -length of the edges on an (a 3 , b 3 )-path in the directions of a 3 and b 3 is at least 2. Since we did not count any edge more than once, we obtain that N H ≥ 6. If we put all the inequalities together, we obtain N 2 ≥ 6 = N 0 2 .
Proof. The proof is similar to that of Corollary 19. Since B h ⊆ B 2 , we have that x 2 ≤ x h for all x ∈ R 2 . Let N 0 denote the network described in the corollary, and let N be any (A, B)-network. By Lemma 9, N 2 ≤ N h . By Theorem 21, Proof. We first show that the condition is necessary for a Steiner point s of degree (3,2). By Lemmas 15 and 16, the three incoming directed edges a i →s are pairwise at 120 • angles, and the two outgoing directed edges s→b i have to be at an angle of ≥ 120 • . Therefore, s→b 1 and s→b 2 lie in different (closed) angles spanned by pairs of incoming edges. If b 1 sb 2 = 180 • , then, assuming without loss of generality that the segment b 1 b 2 intersects the segment a 1 s, the network can be shortened by replacing s→b 1 , s→b 2 and a 1 →s by s→s , a 1 →s , s →b 1 , s →b 2 as in Figure 3. Therefore, b 1 sb 2 = 180 • . To show the converse, suppose that a 1 , a 2 , a 3 satisfy a i sa j = 120 • and b 1 , b 2 satisfy b 1 sb 2 = 180 • . By Lemma 12, we may assume that the neighbours of s lie on the unit circle centred at s. By relabelling, we may also assume that b 1 lies inside a 1 oa 2 and b 2 inside b 2 oa 3 . By a limit argument we may assume that A = {a 1 , a 2 , a 3 } and B = {b 1 , b 2 } are disjoint. We want to show that the network with directed edges a i →s, i = 1, 2, 3 and o→b j , j = 1, 2, is a shortest (A, B)-network. Let G be a simple shortest (A, B)network. We will show that G 2 ≥ 5. (We will only use the assumption that G is shortest in Case 2.3 in the last part of the proof).
If the underlying undirected graph of G has a cycle, then we can reorient the cycle in G so that the resulting digraph stays an (A, B)-network. Among all reorientations of G that are still (A, B)-networks, we choose one with an (a 2 , b 2 )-path P such that the region Γ bounded by P and the segments a 2 a 3 and a 3 b 2 is minimal (Figure 4). Let Q be an (a 3 , b 1 )-path. By Lemma 13, Q Figure 4: Analysing the network G crosses P . Let p be the first vertex on Q that is also on P . Let Q 1 be the subpath of Q from from a 3 to p. Let P 1 be the part of P from a 2 to p. Let q be the last vertex on Q that is also on the part of P from p to b 2 . We can choose Q such that the part of Q from p to q coincides with P . Let Q 3 be the part of Q from q to b 1 and P 3 be the part of P from q to b 2 . Then no edge of Q 3 can be in the interior of the region Γ, otherwise Q 3 will cross P again, thus making a cycle which can be reoriented to make Γ smaller, thus contradicting the minimality of Γ. It is possible for vertices of Q 3 other than q to lie on P 1 . Let R be an (a 1 , b 2 )-path. Let r be the first point on R that is on P 3 ∪ Q 3 . We distinguish between two cases, depending on whether r is on P 3 ( Figure 5) or Q 3 ( Figure 6).
Case 1: r is on P 3 (including the case r = q). See Figure 5. Then without loss of generality, the part of R from r to b 2 coincides with P . We may also assume that among all (a 1 , b 2 )-paths hitting P 3 ∪ Q 3 first in P 3 , we have chosen one with r closest to q on the path P 3 . Let S be an (a 1 , b 1 )-path and let s be the last point on S that is also on R. Such a last point cannot be on the part of P 3 from r to b 2 , since S does not have repeated vertices and cannot enter the interior of Γ. Therefore, s is on the part of R from a 1 to r. Again, because S does not cross itself, the part of S from s to b 1 cannot enter the polygon ∆ bounded by the part of R from a 1 to r, the Let t be the first point of S that is on Q 3 . We have now described all (a i , b j )-paths, so by minimality of G we have that G consists of the directed edges of non-zero length among a 1 →s, s→t, q→t, q→r, s→r, t→b 1 , r→b 2 , p→q, a 2 →p, a 3 →p. By applying the triangle inequality four times, we see that the perimeter of the quadrilateral qrst is at least the sum of its diagonals s − q 2 + t − r 2 . We now forget the directions of the directed edges, and replace the perimeter of qrst by the diagonals to obtain a geometric graph that splits into a tree that connects a 1 , a 2 , a 3 and an edge-disjoint path that connects b 1 and b 2 . The tree will have length bounded below by the length of the tree with edges a 1 o, a 2 o, a 3 o, which equals 3. The path between b 1 and b 2 is bounded below by the distance b 1 − b 2 2 = 2. That is, Figure 6: Case 2 where we have use Lemma 14 in the last inequality and the triangle inequality in the others.
Case 2: r is on Q 3 (and r = q). See Figure 6. Let s be the last point of R on Q 3 . Without loss of generality, the part of R from r to s coincides with Q 3 . The directed edge e on R following s cannot be in the region bounded by the part of R from a 1 to s, the part of Q 3 from s to b 1 and the segment a 1 b 1 , because R does not have repeated vertices and s is the last point of R on Q 3 . Therefore, e is in the interior of either the region Γ 2 bounded by Q 3 , the segment b 1 a 2 , and the part of P from a 2 to q, or the region Γ 4 bounded by the part of R from a 1 to r, the part of Q 3 from q to r, P 3 and the segment a 1 b 2 (and then s = r). Let t be the first point on R that is also on P . Without loss of generality, the part of R from t to b 2 coincides with P . If e is in the interior of Γ 2 , then t is either in P 1 or P 2 , or hits Q in the part from q to r before passing into Γ 4 . We thus have three subcases, depending on whether t is on P 1 , P 2 , or P 3 .
Case 2.1: t ∈ P 2 . See Figure 7. By minimality of G, its edges are the ones of non-zero length among a 1 →r, r→s, s→b 1 , s→t, a 2 →p, p→t, t→q, q→r, q→b 2 , a 3 →p. Then we finish as in Case 1 by replacing the perimeter of the quadrilateral rstq by its diagonals. Case 2.2: t ∈ P 3 . Then R hits the part of Q 3 from q to r before hitting P 3 at t. Let u be the point on Q 3 where R hits Q 3 first and let v be the last point of R on the part of Q 3 from u to r (Figure 8). By minimality of G, its edges are the ones of non-zero length among a 1 →r, r→s, s→b 1 , s→u, u→v, v→r, v→t, t→b 2 , a 2 →p, p→q, q→u, q→t, a 3 →p. As before, we finish as in Case 1 by replacing the perimeter of the quadrilateral rsuv by its diagonals. Case 2.3: t ∈ P 1 (Figure 9). This case is slightly more complicated since we now have a pentagon pqrst instead of a quadrilateral. However, we show that in this case, at least one of the edges of the pentagon must be degenerate, and then we finish as before by replacing the edges of the resulting quadrilateral by its diagonals. Suppose to the contrary that all five edges of pqrst have nonzero lengths. Since b 1 a 1 b 2 = 90 • < 120 • , deg + (a 1 ) = 1 and deg − (a 1 ) = 0 by Lemmas 16 and 13. Thus a 1 = r, hence qrs = 120 • by Lemma 14. Since b 1 a 2 a 3 = 180 • − b 1 a 1 a 3 = 120 • − b 1 a 1 a 2 < 120 • , and similarly, b 2 a 3 a 3 < 120 • , we obtain in the same way that qpt = pts = 120 • . Finally, we either have that b 1 = s and then also tsr = 120 • , or b 1 = s, and then tsr = tb 1 r ≥ 120 • by Lemma 16. (In fact, equality has to hold since a 1 b 1 a 2 = 120 • .) Similarly, rqp ≥ 120 • . It follows that the interior angle sum of pqrst is at least 5 · 120 • , a contradiction. Therefore, we have that at least one of the edges of pqrst has zero length. If either p = q, p = t or s = t, then we replace the perimeter of the quadrilateral by its diagonals and finish as in Case 1. If on the other hand, r = q or r = s, then we can already split the underlying graph into two edge-disjoint connected subgraphs, one joining a 1 , a 2 , a 3 , and the other a path joining b 1 and b 2 .