This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Indian Institute of Technology Kharagpur, Indiaanubhavdhar@kgpian.iitkgp.ac.inIndian Institute of Technology Kharagpur, Indiasoumitahait7321@gmail.com Indian Institute of Technology Kharagpur, Indiaskolay@cse.iitkgp.ac.in \Copyright \ccsdescTheory of computation Computational geometry \hideLIPIcs\EventEditorsPetr A. Golovach and Meirav Zehavi \EventNoEds2 \EventLongTitle16th International Symposium on Parameterized and Exact Computation (IPEC 2021) \EventShortTitleIPEC 2021 \EventAcronymIPEC \EventYear2021 \EventDateSeptember 8–10, 2021 \EventLocationLisbon, Portugal \EventLogo \SeriesVolume214 \ArticleNo2

Efficient Algorithms for \ESMTon Near-Convex Terminal Sets

Anubhav Dhar    Soumita Hait    Sudeshna Kolay
Abstract

The \ESMTproblem takes as input a set 𝒫\mathcal{P} of points in the Euclidean plane and finds the minimum length network interconnecting all the points of 𝒫\mathcal{P}. In this paper, in continuation to the works of [5] and  [16], we study \ESMTwhen 𝒫\mathcal{P} is formed by the vertices of a pair of regular, concentric and parallel nn-gons. We restrict our attention to the cases where the two polygons are not very close to each other. In such cases, we show that \ESMTis polynomial-time solvable, and we describe an explicit structure of a Euclidean Steiner minimal tree for 𝒫\mathcal{P}.

We also consider point sets 𝒫\mathcal{P} of size nn where the number of input points not on the convex hull of 𝒫\mathcal{P} is f(n)nf(n)\leq n. We give an exact algorithm with running time 2𝒪(f(n)logn)2^{\mathcal{O}(f(n)\log n)} for such input point sets 𝒫\mathcal{P}. Note that when f(n)=𝒪(nlogn)f(n)=\mathcal{O}(\frac{n}{\log n}), our algorithm runs in single-exponential time, and when f(n)=o(n)f(n)=o(n) the running time is 2o(nlogn)2^{o(n\log n)} which is better than the known algorithm in [9].

We know that no FPTAS exists for \ESMTunless P=NP\mbox{P}=\mbox{NP} [6]. On the other hand FPTASes exist for \ESMTon convex point sets [14]. In this paper, we show that if the number of input points in 𝒫\mathcal{P} not belonging to the convex hull of 𝒫\mathcal{P} is 𝒪(logn)\mathcal{O}(\log n), then an FPTAS exists for \ESMT. In contrast, we show that for any ϵ(0,1]\epsilon\in(0,1], when there are Ω(nϵ)\Omega(n^{\epsilon}) points not belonging to the convex hull of the input set, then no FPTAS can exist for \ESMTunless P=NP\mbox{P}=\mbox{NP}.

keywords:
Steiner minimal tree, Euclidean Geometry, Almost Convex point sets, FPTAS, strong NP-completeness
category:
\relatedversion

1 Introduction

The \ESMTproblem asks for a network of minimum total length interconnecting a given finite set 𝒫\mathcal{P} of nn points in the Euclidean plane. Formally, we define the problem as follows, taken from [2]:

\ESMT Input: A set 𝒫\mathcal{P} of nn points in the Euclidean plane Question: Find a connected plane graph 𝒯\mathcal{T} such that 𝒫\mathcal{P} is a subset of the vertex set V(𝒯)V(\mathcal{T}), and for the edge set E(𝒯)E(\mathcal{T}), ΣeE(𝒯)e¯\Sigma_{e\in E(\mathcal{T})}\overline{e} is minimized over all connected plane graphs with 𝒫\mathcal{P} as a vertex subset.

Note that the metric being considered is the Euclidean metric, and for any edge eE(𝒯)e\in E(\mathcal{T}), e¯\overline{e} denotes the Euclidean length of the edge. Here, the input set 𝒫\mathcal{P} of points is often called a set of terminals, the points in 𝒮=V(𝒯)𝒫\mathcal{S}=V(\mathcal{T})\setminus\mathcal{P} are called Steiner points. A solution graph 𝒯\mathcal{T} is referred to as a Euclidean Steiner minimal tree, or simply an SMT.

The \ESMTproblem is a classic problem in the field of Computational Geometry. The origin of the problem dates back to Fermat (1601-1665) who proposed the problem of finding a point in the plane such that the sum of its distance from three given points is minimized. This is equivalent to finding the location of the Steiner point when given three terminals as input. Torricelli proposed a geometric solution to this special case of 3 terminal points. The idea was to construct equilateral triangles outside on all three sides of the triangle formed by the terminals, and draw their circumcircles. The three circles meet at a single point, which is our required Steiner point. This point came to be known as the Torricelli point. When one of the angles in the triangle is at least 120120^{\circ}, the minimizing point coincides with the obtuse angle vertex of the triangle. In this case, the Torricelli point lies outside the triangle and no longer minimizes the sum of distances from the vertices. However, when vertices of polygons with more than 3 sides are considered as a set of terminals, a solution to the Fermat problem does not in general lead to a solution to the \ESMTproblem. For a more detailed survey on the history of the problem, please refer to [2, 9]. For convenience, we refer to the \ESMTproblem as ESMT.

ESMT is NP-hard. In [6], Garey et al. prove a discrete version of the problem (Discrete ESMT) to be strongly NP-complete via a reduction from the Exact Cover by 3-Sets (X3C) problem. Although it is not known if the ESMT problem is in NP, it is at least as hard as any NP-complete problem. So, we do not expect a polynomial time algorithm for it. A recursive method using only Euclidean constructions was given by Melzak in [11] for constructing all the Steiner minimal trees for any set of nn points in the plane by constructing full Steiner trees of subsets of the points. Full Steiner trees are interconnecting trees having the maximum number of newly introduced points (Steiner points) where all internal junctions are of degree 33. Hwang improved the running time of Melzak’s original exponential algorithm for full Steiner tree construction to linear time in [8]. Using this, we can construct an Euclidean Steiner minimal tree in 2𝒪(nlogn)2^{\mathcal{O}(n\log n)} time for any set of nn points. This was the first algorithm for \ESMT. The problem is known to be NP-hard even if all the terminals lie on two parallel straight lines, or on a bent line segment where the bend has an angle of less than 120120^{\circ} [13]. Since the above sets of terminals all lie on the boundary of a convex polygon (or, are in convex position), this shows that ESMT is NP-hard when restricted to a set of points that are in weakly convex position.

Although the ESMT problem is NP-hard, there are certain arrangements of points in the plane for which the Euclidean Steiner minimal tree can be computed efficiently, say in polynomial time. One such arrangement is placing the points on the vertices of a regular polygon. This case was solved by Du et al. [5]. Their work gives exact topologies of the Euclidean Steiner minimal trees. Weng et al. [16] generalized the problem by incorporating the centre point of the regular polygon as part of the terminal set, along with the vertices. This case was also found to be polynomial time solvable.

Tractability in the form of approximation algorithms for ESMT has been extensively studied. It was proved in [6] that a fully polynomial time approximation scheme (FPTAS) cannot exist for this problem unless P=NP\mbox{P}=\mbox{NP}. However, we do have an FPTAS when the terminals are in convex position [14]. Arora’s celebrated polynomial time approximation scheme (PTAS) for the ESMT and other related problems is described in [1]. Around the same time, Rao and Smith gave an efficient polynomial time approximation scheme (EPTAS) in [12]. In recent years, an EPTAS with an improved running time was designed by Kisfaludi-Bak et al. [10].

Our Results.

In this paper, we first extend the work of [5] and [16]. We state this problem as ESMT on kk-Concentric Parallel Regular nn-gons.

Definition 1.1 (kk-Concentric Parallel Regular nn-gons).

kk-Concentric Parallel Regular nn-gons are kk regular nn-gons that are concentric and where the corresponding sides of polygons are parallel to each other.

Please refer to Figure 1(a) for an example of a 22-Concentric Parallel Regular 1212-gon. We call kk-Concentric Parallel Regular nn-gons as kk-CPR nn-gons for short.

We consider terminal sets where the terminals are placed on the vertices of 22-CPR nn-gons. In the case of k=2k=2, the nn-gon with the smaller side length will be called the inner nn-gon and the other nn-gon will be called the outer nn-gon. Also, let aa be the side length of the inner nn-gon, and bb be the side length of the outer nn-gon. We define λ=ba\lambda=\frac{b}{a} and refer to it as the aspect ratio of the two regular polygons. In Section 3, we derive the exact structures of the SMTs for 22-CPR nn-gons when the aspect ratio λ\lambda of the two polygons is greater than 114sin(π/n)\frac{1}{1-4\sin{(\pi/n)}} and n13n\geq 13.

Next, we consider ESMT on an f(n)f(n)-Almost Convex Point Set.

Definition 1.2 (f(n)f(n)-Almost Convex Point Set).

An f(n)f(n)-Almost Convex Point Set 𝒫\mathcal{P} is a set of nn points in the Euclidean plane such that there is a partition 𝒫=𝒫1𝒫2\mathcal{P}=\mathcal{P}_{1}\uplus\mathcal{P}_{2} where 𝒫1\mathcal{P}_{1} forms the convex hull of 𝒫\mathcal{P} and |𝒫2|=f(n)|\mathcal{P}_{2}|=f(n).

Please refer to Figure 1(b) for an example of a 55-Almost Convex Set of 1313 points. In Section 4, we give an exact algorithm for ESMT on f(n)f(n)-Almost Convex Sets of nn terminals. The running time of this algorithm is 2𝒪(f(n)logn)2^{\mathcal{O}(f(n)\log n)}. Thus, when f(n)=𝒪(nlogn)f(n)=\mathcal{O}(\frac{n}{\log n}), then our algorithm runs in 2𝒪(n)2^{\mathcal{O}(n)} time, and when f(n)=o(n)f(n)=o(n) then the running time is 2o(nlogn)2^{o(n\log n)}. This is an improvement on the best known algorithm for the general case [9].

Next, for f(n)=𝒪(logn)f(n)=\mathcal{O}(\log n), we give an FPTAS in Section 5.1. On the other hand in Section 5.2 we show that, for all ϵ(0,1]\epsilon\in(0,1], when f(n)Ω(nϵ)f(n)\in\Omega(n^{\epsilon}), there cannot exist any FPTAS unless P=NP\mbox{P}=\mbox{NP}.

Refer to caption
(a)
Refer to caption
(b)
Figure 1: Examples for Definition 1.1 and Definition 1.2

2 Preliminaries

Notations.

For a given positive integer kk\in\mathbb{N}, the set of integers {1,2,,k}\{1,2,\ldots,k\} is denoted for short as [k][k]. Given a graph GG, the vertex set is denoted as V(G)V(G) and the edge set as E(G)E(G). Given two graphs G1G_{1} and G2G_{2}, G1G2G_{1}\cup G_{2} denotes the graph GG where V(G)=V(G1)V(G2)V(G)=V(G_{1})\cup V(G_{2}) and E(G)=E(G1)E(G2)E(G)=E(G_{1})\cup E(G_{2}).

In this paper, a regular nn-gon is denoted by A1A2A3AnA_{1}A_{2}A_{3}...A_{n} or B1B2B3BnB_{1}B_{2}B_{3}...B_{n}. For convenience, we define An+1:=A1A_{n+1}:=A_{1}, Bn+1:=B1B_{n+1}:=B_{1}, A0:=AnA_{0}:=A_{n} and B0:=BnB_{0}:=B_{n}. We use the notation {Ai}\{A_{i}\} to denote the polygon A1A2A3AnA_{1}A_{2}A_{3}\ldots A_{n} and {Bi}\{B_{i}\} to denote the polygon B1B2B3BnB_{1}B_{2}B_{3}\ldots B_{n}. For any regular polygon A1A2A3AnA_{1}A_{2}A_{3}...A_{n}, the circumcircle of the polygon is denoted as (A1A2A3An)(A_{1}A_{2}A_{3}...A_{n}). Given any nn-vertex polygon in the Euclidean plane with vertices 𝒫=P1P2P3Pn\mathcal{P}=P_{1}P_{2}P_{3}\ldots P_{n}, and interval in 𝒦\mathcal{K} is a subset of consecutive vertices PiPi+1PjP_{i}P_{i+1\ldots P_{j}}, i,j[n]i,j\in[n], also denoted as [Pi,Pj][P_{i},P_{j}]. Here PiP_{i} is considered the starting vertex of the interval and PjP_{j} the ending vertex. For any PkP_{k}, ikji\leq k\leq j in the interval we will also use the notation PiPkPjP_{i}\leq P_{k}\leq P_{j}.

Given two points PP, QQ in the Euclidean plane, we denote by 𝖽𝗂𝗌𝗍(P,Q){\sf dist}(P,Q) the Euclidean distance between PP and QQ. Given a line segment ABAB in the Euclidean plane, AB¯=𝖽𝗂𝗌𝗍(A,B)\overline{AB}={\sf dist}(A,B). For two distinct points AA and BB, LABL_{AB} denotes the line containing AA and BB; and AB\overrightarrow{AB} denotes the ray originating from AA and containing BB.

When we refer to a graph 𝒢\mathcal{G} in the Euclidean plane then V(𝒢)V(\mathcal{G}) is a set of points in the Euclidean plane, and E(𝒢)E(\mathcal{G}) is a subset of the family of line segments {P1P2|P1,P2V(𝒢)}\{P_{1}P_{2}|P_{1},P_{2}\in V(\mathcal{G})\}. For any tree 𝒯\mathcal{T} in the Euclidean plane, we denote by the notation |𝒯||\mathcal{T}| the value of ΣeE(𝒯)e¯\Sigma_{e\in E(\mathcal{T})}\overline{e}. A path in a tree 𝒯\mathcal{T} is uniquely specified by the sequence of vertices on the path; therefore, P1P_{1}, P2P_{2}, P3P_{3}, …, PkP_{k} (where PiV(𝒯),i[k]P_{i}\in V(\mathcal{T}),\forall i\in[k] and PiPi+1E(𝒯),i[k1]P_{i}P_{i+1}\in E(\mathcal{T}),\forall i\in[k-1]) denotes the path starting from the vertex P1P_{1}, going through the vertices P2P_{2}, P3P_{3}, …, Pk1P_{k-1} and finally ending at PkP_{k}. Equivalently, we can specify the same path as the path from P1P_{1} to PkP_{k}, since 𝒯\mathcal{T} is a tree. Consider the graph TT such that V(T)={vP|PV(𝒯)}V(T)=\{v_{P}|P\in V(\mathcal{T})\}, E(T)={vP1vP2|P1P2 is a line segment in E(𝒯)}E(T)=\{v_{P_{1}}v_{P_{2}}|P_{1}P_{2}\mbox{ is a line segment in }E(\mathcal{T})\}. Then TT is said to be the topology of 𝒯\mathcal{T} while 𝒯\mathcal{T} is said to realize the topology TT. Given two trees 𝒯1\mathcal{T}_{1}, 𝒯2\mathcal{T}_{2} in the Euclidean plane, 𝒯=𝒯1𝒯2\mathcal{T}^{\prime}=\mathcal{T}_{1}\cup\mathcal{T}_{2} is the graph where V(𝒯)=V(𝒯1)V(𝒯2)V(\mathcal{T}^{\prime})=V(\mathcal{T}_{1})\cup V(\mathcal{T}_{2}) and E(𝒯)=E(𝒯1)E(𝒯2)E(\mathcal{T}^{\prime})=E(\mathcal{T}_{1})\cup E(\mathcal{T}_{2}).

Given any graph GG, a Steiner minimal tree or SMT for a terminal set 𝒫V(G)\mathcal{P}\subseteq V(G) is the minimum length connected subgraph GG^{\prime} of GG such that 𝒫V(G)\mathcal{P}\subseteq V(G^{\prime}). The Steiner Minimal Tree problem on graphs takes as input a set 𝒫\mathcal{P} of terminals and aims to find a minimum length SMT for 𝒫\mathcal{P}. For the rest of the paper, we also refer to a Euclidean Steiner minimal tree as an SMT. Given a set of points 𝒫\mathcal{P} in the Euclidean plane, the convex hull of 𝒫\mathcal{P} is denoted as CH(𝒫)\mathrm{CH(\mathcal{P})}.

Euclidean Minimum Spanning Tree (MST).

Given a set 𝒫\mathcal{P} of nn points in the Euclidean plane, let GG be a graph where V(G)={vP|P𝒫}V(G)=\{v_{P}|P\in\mathcal{P}\} and E(G)={vPivPj|Pi,Pj𝒫}E(G)=\{v_{P_{i}}v_{P_{j}}|P_{i},P_{j}\in\mathcal{P}\}. Also, a weight function wG:E(T)w_{G}:E(T)\rightarrow\mathbb{R} is defined such that for each edge vP1vP2E(T)v_{P_{1}}v_{P_{2}}\in E(T), wG(vP1vP2)=P1P2¯w_{G}(v_{P_{1}}v_{P_{2}})=\overline{P_{1}P_{2}}. The Euclidean minimum spanning tree of a set 𝒫\mathcal{P} is the minimum spanning tree of the graph GG with edge weights wGw_{G}. Note that a Steiner tree may have shorter length than a minimum spanning tree of the point set 𝒫\mathcal{P}.

In the plane, the Euclidean minimum spanning tree is a subgraph of the Delaunay triangulation. Using this fact, the Euclidean minimum spanning tree for a given set of points in the Euclidean plane can be found in 𝒪(nlogn)\mathcal{O}(n\log n) time as discussed in [15].

Properties of a Euclidean Steiner minimal tree.

A Euclidean Steiner minimal tree (SMT) has certain structural properties as given in [3]. We state them in the following Proposition.

Proposition 2.1.

Consider an SMT on nn terminals.

  1. 1.

    No two edges of the SMT intersect with each other.

  2. 2.

    Each Steiner point has degree exactly 33 and the incident edges meet at 120120^{\circ} angles. The terminals have degree at most 33 and the incident edges form angles that are at least 120120^{\circ}.

  3. 3.

    The number of Steiner points is at most n2n-2, where nn is the number of terminals.

A full Steiner tree (FST) is a Steiner tree (need not be minimal, but may include Steiner points) having exactly n2n-2 Steiner points, where nn is the number of terminals. In an FST, all terminals are leaves and Steiner points are interior nodes. When the length of an FST is minimized, it is called a minimum FST.

All SMTs can be decomposed into FST components such that, in each component a terminal is always a leaf. This decomposition is unique for a given SMT [9]. A topology for an FST is called a full Steiner topology and that of a Steiner tree is called a Steiner topology.

Steiner Hulls.

A Steiner hull for a given set of points is defined to be a region which is known to contain an SMT. We get the following propositions from [9].

Proposition 2.2.

For a given set of terminals, every SMT is always contained inside the convex hull of those points. Thus, the convex hull is also a Steiner hull.

The next two propositions are useful in restricting the structure of SMTs and the location of Steiner points.

Proposition 2.3 (The Lune property).

Let UV\rm UV be any edge of an SMT. Let L(U,V)L(\rm{U},\rm{V}) be the lune-shaped intersection of circles of radius |UV||\rm UV| centered on U\rm U and V\rm V. No other vertex of the SMT can lie in L(U,V)L(\rm{U},\rm{V}), except UU and VV themselves.

Proposition 2.4 (The Wedge property).

Let WW be any open wedge-shaped region having angle 120120^{\circ} or more and containing none of the points from the input terminal set 𝒫\mathcal{P}. Then WW contains no Steiner points from an SMT of 𝒫\mathcal{P}.

Approximation Algorithms.

We define all the necessary terminology required in terms of a minimization problem, as ESMT is a minimization problem.

Definition 2.5 (Efficient Polynomial Time Approximation Scheme (EPTAS)).

An algorithm is called an efficient polynomial time approximation scheme (EPTAS) for a problem if it takes an input instance and a parameter ϵ>0\epsilon>0, and outputs a solution with approximation factor (1+ϵ)(1+\epsilon) for a minimization problem in time f(1/ϵ)n𝒪(1)f(1/\epsilon)n^{\mathcal{O}(1)} where nn is the input size and f(1/ϵ)f(1/\epsilon) is any computable function.

Definition 2.6 (Fully Polynomial Time Approximation Scheme (FPTAS)).

An algorithm is called a fully polynomial time approximation scheme (FPTAS) for a problem if it takes an input instance and a parameter ϵ>0\epsilon>0, and outputs a solution with approximation factor (1+ϵ)(1+\epsilon) for a minimization problem in time (1/ϵ)𝒪(1)n𝒪(1)(1/\epsilon)^{\mathcal{O}(1)}n^{\mathcal{O}(1)} where nn is the input size.

3 Polynomial cases for \ESMT

In this section, we consider the \ESMTproblem for 22-CPR nn-gons. Throughout the section, we denote the inner nn-gon as {Ai}\{A_{i}\} and the outer nn-gon as {Bi}\{B_{i}\}. First, we consider the configuration of an Euclidean Steiner minimal tree in a subsection of the annular area between {Ai}\{A_{i}\} and {Bi}\{B_{i}\}, which will form an isosceles trapezoid. Next, we consider the simple but illustrative case of n=3n=3. Finally we prove our result for all nn.

3.1 Isosceles Trapezoids and Vertical Forks

In this section, we discuss one particular Steiner topology when the terminal set is formed by the four corners of a given isosceles trapezoid. However, we will limit the discussion to only the isosceles trapezoids such that the angle between the non-parallel sides is of the form 2πn\frac{2\pi}{n} where nn\in\mathbb{N}, n4n\geq 4. The reason is that given 22-CPR nn-gons {Ai}\{A_{i}\}, {Bi}\{B_{i}\}, for n4n\geq 4 and for any j{1,,n1}j\in\{1,\ldots,n-1\}, the region AjAj+1BjBj+1A_{j}A_{j+1}B_{j}B_{j+1} is an isosceles trapezoid such that the angle between the non-parallel sides is of the form 2πn\frac{2\pi}{n}.

Refer to caption
Figure 2: Isosceles trapezoid with AOB=2π8\angle AOB=\frac{2\pi}{8}

Let ABQPABQP be an isosceles trapezoid with ABAB, PQPQ as the parallel sides, and APAP, BQBQ as the non-parallel sides. Assume without loss of generality that ABAB is shorter in length than PQPQ. Let AB¯=1\overline{AB}=1 and PQ¯=λ\overline{PQ}=\lambda, where λ3+tanπn3tanπn\lambda\geq\frac{\sqrt{3}+\tan{\frac{\pi}{n}}}{\sqrt{3}-\tan{\frac{\pi}{n}}}. For brevity, we say λv=3+tanπn3tanπn\lambda_{v}=\frac{\sqrt{3}+\tan{\frac{\pi}{n}}}{\sqrt{3}-\tan{\frac{\pi}{n}}}. Let LPAL_{PA} and LQBL_{QB} be the lines containing the line segments PAPA and QBQB respectively. Also let OO be the point of intersection of LPAL_{PA} and LQBL_{QB}. Further, let MM and NN be the midpoints of ABAB and PQPQ respectively (as in Figure 2). As mentioned earlier, AOB=2πn\angle AOB=\frac{2\pi}{n} where nn\in\mathbb{N}, n4n\geq 4.

Now, we explore the following Steiner topology of the terminal set {A,B,P,Q}\{A,B,P,Q\}:

  1. 1.

    AA and BB are connected to a Steiner point S1S_{1}.

  2. 2.

    PP and QQ are connected to another Steiner point S2S_{2}.

  3. 3.

    S1S_{1} and S2S_{2} are directly connected (Please see Figure 3).

We call such a topology a vertical fork topology and the Steiner tree realising such a topology, the vertical fork. Note that in a vertical fork topology the only unknowns are the locations of the two Steiner points S1,S2S_{1},S_{2}. Therefore, we have the vertical fork topology as TvfT_{vf}, with E(Tvf)={AS1,BS1,S1S2,S2P,S2Q}E(T_{vf})=\{AS_{1},BS_{1},S_{1}S_{2},S_{2}P,S_{2}Q\}.

Refer to caption
Figure 3: The Vertical Fork, 𝒯vf\mathcal{T}_{vf}

We show the existence of a vertical fork and calculate its total length in the following lemma.

Lemma 3.1.

A vertical fork 𝒯vf\mathcal{T}_{vf} can be constructed for any n4n\geq 4 and for any λλv\lambda\geq\lambda_{v}, where

λv=3+tanπn3tanπn\lambda_{v}=\frac{\sqrt{3}+\tan{\frac{\pi}{n}}}{\sqrt{3}-\tan{\frac{\pi}{n}}}

such that the length of the vertical fork

|𝒯vf|=(λ1)2tanπn+3(λ+1)2|\mathcal{T}_{vf}|=\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}+\dfrac{\sqrt{3}(\lambda+1)}{2}
Proof 3.2.

First, we construct the Steiner points S1S_{1}, S2S_{2} and then prove that the construction works.

In the following construction, we describe how to find the locations of S1S_{1} and S2S_{2} for the vertical fork:

  • We construct equilateral triangles ABEABE and PQFPQF where both points EE and FF lie outside the trapezoid ABQPABQP.

  • We construct the circumcircles (ABE)(ABE) and (PQF)(PQF) of ABEABE and PQFPQF, respectively.

  • Recall that LMNL_{MN} is the line segment containing MM and NN. Define S1S_{1} to be the point of intersection of LMNL_{MN} and the circle (ABE)(ABE) distinct from EE; similarly, S2S_{2} is the point of intersection of the LMNL_{MN} and (PQF)(PQF) distinct from FF. Therefore, by construction, S2S_{2}, MM must lie on the same side of NN on LMNL_{MN}, and S1S_{1}, NN must lie on the same side of MM on LMNL_{MN}. Further, AS1B=PS2Q=2π3\angle AS_{1}B=\angle PS_{2}Q=\frac{2\pi}{3} by construction.

We now show that the points S1S_{1} and S2S_{2} indeed lie inside the line segment MNMN and the points appear in the order: MM, S1S_{1}, S2S_{2}, NN. We prove the following claim to serve this purpose.

Claim 1.

S1M¯+S2N¯MN¯\overline{S_{1}M}+\overline{S_{2}N}\leq\overline{MN}

Proof 3.3.

We have MN¯=ON¯OM¯=λ2tanπn12tanπn=(λ1)2tanπn\overline{MN}=\overline{ON}-\overline{OM}=\dfrac{\lambda}{2\tan\frac{\pi}{n}}-\dfrac{1}{2\tan\frac{\pi}{n}}=\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}
Again S1M¯=123\overline{S_{1}M}=\dfrac{1}{2\sqrt{3}} and S2N¯=λ23\overline{S_{2}N}=\dfrac{\lambda}{2\sqrt{3}}.
Therefore we have

MN¯(S1M¯+S2M¯)\displaystyle\overline{MN}-(\overline{S_{1}M}+\overline{S_{2}M})
=\displaystyle= (λ1)2tanπn13λ23\displaystyle\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}-\dfrac{1}{\sqrt{3}}-\dfrac{\lambda}{2\sqrt{3}}
=\displaystyle= (λ1)2tanπn(λ+1)23\displaystyle\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}-\dfrac{(\lambda+1)}{2\sqrt{3}}
=\displaystyle= λ(3tanπn)(3+tanπn)23tanπn\displaystyle\frac{\lambda(\sqrt{3}-\tan\frac{\pi}{n})-(\sqrt{3}+\tan\frac{\pi}{n})}{2\sqrt{3}\tan\frac{\pi}{n}}
=\displaystyle= 3tanπn23tanπn(λλv)\displaystyle\frac{\sqrt{3}-\tan\frac{\pi}{n}}{2\sqrt{3}\tan\frac{\pi}{n}}\cdot(\lambda-\lambda_{v})

Therefore λλv\lambda\geq\lambda_{v} implies MN¯(S1M¯+S2M¯)\overline{MN}\geq(\overline{S_{1}M}+\overline{S_{2}M}). This proves 1.

From 1, we get S1M¯,S2N¯MN¯\overline{S_{1}M},\overline{S_{2}N}\leq\overline{MN}. As S2S_{2}, MM lie on the same side of NN on LMNL_{MN} and S1S_{1}, NN lie on the same side of MM on LMNL_{MN}, this implies that S1S_{1}, S2S_{2} lie on the line segment MNMN. Further, S1M¯+S2N¯MN¯\overline{S_{1}M}+\overline{S_{2}N}\leq\overline{MN} implies S1M¯S2M¯NM¯\overline{S_{1}M}\leq\overline{S_{2}M}\leq\overline{NM}, which in turn implies that the points appear in the order: MM, S1S_{1}, S2S_{2}. NN.

Now, we calculate the total length of the vertical fork, |𝒯vf||\mathcal{T}_{v}f|:

|𝒯vf|\displaystyle|\mathcal{T}_{vf}|
=\displaystyle= AS1¯+BS1¯+S1S2¯+PS2¯+QS2¯\displaystyle\overline{AS_{1}}+\overline{BS_{1}}+\overline{S_{1}S_{2}}+\overline{PS_{2}}+\overline{QS_{2}}
=\displaystyle= 2PS2¯+2AS1¯+S1S2¯\displaystyle 2\overline{PS_{2}}+2\overline{AS_{1}}+\overline{S_{1}S_{2}}
=\displaystyle= 2λ3+23+((λ1)2tanπn(λ+1)23)\displaystyle\dfrac{2\lambda}{\sqrt{3}}+\dfrac{2}{\sqrt{3}}+\bigg{(}\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}-\dfrac{(\lambda+1)}{2\sqrt{3}}\bigg{)}
=\displaystyle= (λ1)2tanπn+3(λ+1)2\displaystyle\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}+\dfrac{\sqrt{3}(\lambda+1)}{2}

This completes the proof of Lemma 3.1.

3.2 \ESMTfor 22-Concentric Parallel Regular 33-gons

Note that a regular 33-gon is an equilateral triangle and therefore, for the rest of this section we call a regular 33-gon as an equilateral triangle. We describe a minimal solution for \ESMTfor 22-CPR equilateral triangles.

Lemma 3.4.

Consider two concentric and parallel equilateral triangles A1A2A3A_{1}A_{2}A_{3} and B1B2B3B_{1}B_{2}B_{3}, where B1B2B3B_{1}B_{2}B_{3} has side length λ>1\lambda>1 and A1A2A3A_{1}A_{2}A_{3} has side length 11. An SMT of {A1,A2,A3,B1,B2,B3}\{A_{1},A_{2},A_{3},B_{1},B_{2},B_{3}\} is an SMT of {B1,B2,B3}\{B_{1},B_{2},B_{3}\}, and has length 3λ\sqrt{3}\cdot\lambda.

Proof 3.5.

It is to be noted that the centre OO of both A1A2A3A_{1}A_{2}A_{3} and B1B2B3B_{1}B_{2}B_{3} is also the Torricelli point of both A1A2A3A_{1}A_{2}A_{3} and B1B2B3B_{1}B_{2}B_{3} [5]. On taking OO as the only Steiner point, the SMT for {B1,B2,B3}\{B_{1},B_{2},B_{3}\} is 𝒯3={OB1,OB2,OB3}\mathcal{T}_{3}=\{OB_{1},OB_{2},OB_{3}\} [5]. However, the edges of 𝒯3\mathcal{T}_{3} already pass through A1A_{1}, A2A_{2} and A3A_{3}. Therefore, 𝒯3\mathcal{T}_{3} with E(𝒯3)={OA1,OA2,OA3,A1B1,A2B2,A3B3}E(\mathcal{T}_{3})=\{OA_{1},OA_{2},OA_{3},A_{1}B_{1},A_{2}B_{2},A_{3}B_{3}\} is also the SMT for {A1,A2,A3,B1,B2,B3}\{A_{1},A_{2},A_{3},B_{1},B_{2},B_{3}\} as shown in Figure 4.

From the definition of 𝒯3\mathcal{T}_{3}, we have the length of the SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} , for n=3n=3 as

|𝒯3|=3λ|\mathcal{T}_{3}|=\sqrt{3}\cdot\lambda
Refer to caption
Figure 4: SMT for 22-CPR 33-gons

3.3 \ESMTand Large Polygons with Large Aspect Ratios

In this section, we consider the \ESMTproblem when the terminal set is formed by the vertices of 22-CPR nn-gons, namely {Ai}\{A_{i}\} and {Bi}\{B_{i}\}. As mentioned earlier, {Ai}\{A_{i}\} is the inner polygon and {Bi}\{B_{i}\} is the outer polygon of this set of 22-CPR nn-gons. In particular, we consider the case when n13n\geq 13; for n12n\leq 12 these are constant sized input instances and can be solved using any brute-force technique. We also require that the aspect ratio λ\lambda has a lower bound λ1\lambda_{1}, i.e. we do not want the two polygons to have sides of very similar length. The exact value of λ1\lambda_{1} will be clear during the description of the algorithm. Intuitively, when λ\lambda is very large, the SMT should look similar to what was derived in [16]. In other words, (please refer to Figure 5):

  1. 1.

    for some j[n]j\in[n], there is a vertical fork connecting the two consecutive inner polygon points Aj,Aj+1A_{j},A_{j+1} with the two consecutive outer polygon points Bj,Bj+1B_{j},B_{j+1} - we refer to this vertical fork as the vertical gadget for the SMT,

  2. 2.

    the other points in {Bi}\{B_{i}\} are connected directly via (n2)(n-2) outer polygon edges,

  3. 3.

    the other points in {Ai}\{A_{i}\} are connected via (n2)(n-2) inner polygon edges.

We call such a topology, a singly connected topology as in Figure 5. For the rest of this section, we consider the SMTs for a large enough aspect ratio, λ\lambda and show that there is an SMT that must be a realisation of a singly connected topology. We refer to an SMT for the terminal set defined by the vertices of {Ai}\{A_{i}\} and {Bi}\{B_{i}\} as the SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} .

Without loss of generality, we consider the edge length of any side AiAi+1A_{i}A_{i+1} in {Ai}\{A_{i}\} to be 11. As we defined the aspect ratio to be λ\lambda, any side BiBi+1B_{i}B_{i+1} of {Bi}\{B_{i}\} must have a side length of λ\lambda. Further, we observe that for any SMT 𝒯\mathcal{T}, specifying E(𝒯)E(\mathcal{T}) sufficiently determines the entire tree, as V(𝒯)={P|Q such that PQE(𝒯)}V(\mathcal{T})=\{P\leavevmode\nobreak\ |\leavevmode\nobreak\ \exists Q\text{ such that }PQ\in E(\mathcal{T})\}.

We start with the following formal definitions:

Definition 3.6.

A Steiner topology of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} is a singly connected topology, if it has the following structure:

  • A vertical gadget i.e. five edges {AjSa,Aj+1Sa,SaSb,SbBj,SbBj+1}\{A_{j}S_{a},A_{j+1}S_{a},S_{a}S_{b},S_{b}B_{j},S_{b}B_{j+1}\} for some 1jn1\leq j\leq n, where SaS_{a} and SbS_{b} are newly introduced Steiner points contained in the isosceles trapezoid {Aj,Aj+1,Bj,Bj+1}\{A_{j},A_{j+1},B_{j},B_{j+1}\}.

  • All (n2)(n-2) polygon edges of {Ai}\{A_{i}\} excluding the edge AjAj+1A_{j}A_{j+1}

  • All (n2)(n-2) polygon edges of {Bi}\{B_{i}\} excluding the edge BjBj+1B_{j}B_{j+1}

Refer to caption
(a)
Refer to caption
(b)
Figure 5: Singly connected topology of 22-CPR nn-gons n=13n=13 and n=20n=20

We define the notion of a path in an SMT for the vertices of {Ai}\{A_{i}\} and {Bi}\{B_{i}\} where the starting point is in {Ai}\{A_{i}\} and the ending point is in {Bi}\{B_{i}\}.

Definition 3.7.

An A-B path is a path in a Steiner tree of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} which starts from a vertex in {Ai}\{A_{i}\} and ends at a vertex in {Bi}\{B_{i}\} with all intermediate nodes (if any) being Steiner points.

The following Definition and Figure 6 is useful for the design of our algorithm.

Definition 3.8.

A counter-clockwise path is a path P1,P2,PmP_{1},P_{2},...P_{m} in a Steiner tree such that for all i{2,,m1},Pi1PiPi+1=2π3i\in\{2,\ldots,m-1\},\angle P_{i-1}P_{i}P_{i+1}=\frac{2\pi}{3} in the counter-clockwise direction. Similarly, a clockwise path is a path P1,P2,PmP_{1},P_{2},...P_{m} in a Steiner tree such that for all i{2,,m1},Pi1PiPi+1=4π3i\in\{2,\ldots,m-1\},\angle P_{i-1}P_{i}P_{i+1}=\frac{4\pi}{3} in the counter-clockwise direction.

Refer to caption
Figure 6: Pi1PiPi+1=α\angle P_{i-1}P_{i}P_{i+1}=\alpha in the counter-clockwise direction and Pi1PiPi+1=β\angle P_{i-1}P_{i}P_{i+1}=\beta in the clockwise direction, as in Definition 3.8

Now, we consider any Steiner point SS in any SMT. Let PP and QQ be two neighbours of SS. We now prove that there is no point of the SMT inside the triangle PSQPSQ.

{observation}

Let SS be a Steiner point in any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}, with neighbours PP and QQ. Then, no point of the SMT lies inside the triangle PSQPSQ.

Proof 3.9.

By the lune property (Proposition 2.3), for any edge P1Q1P_{1}Q_{1} in an SMT, for the two circles centred at P1P_{1} and at Q1Q_{1}, respectively and both having a radius of P1Q1¯\overline{P_{1}Q_{1}}, the intersection region does not contain any point of the SMT.

Refer to caption
Figure 7: Observation 3.3: Given triangle PSQPSQ, equilateral triangles PSEPSE and QSFQSF are constructed

Let EE and FF be points on the internal angle bisector of PSQ\angle PSQ, such that SPE=SQF=π3\angle SPE=\angle SQF=\frac{\pi}{3} as shown in Figure 7. Since EE and FF are points on the angle bisector of PSQ\angle PSQ, PSE=QSF=π3\angle PSE=\angle QSF=\frac{\pi}{3}. Hence, triangles PSEPSE and QSFQSF are equilateral triangles.

Since PSPS is an edge in the SMT, by the lune property, the intersection of the circles centred at PP and SS, both with radius PS¯\overline{PS} contain no point inside which is a part of the SMT. Since the lune contains the entire equilateral triangle PSEPSE, no point of the SMT lies inside triangle PSEPSE. Similarly, no point of the SMT lies inside the triangle QSFQSF.

Further, as PSQ=2π3\angle PSQ=\frac{2\pi}{3}, SPQ+SQP=π3\angle SPQ+\angle SQP=\frac{\pi}{3}. This means SPQ,SQP<π3\angle SPQ,\angle SQP<\frac{\pi}{3}. Therefore, as SPE=SQF=π3\angle SPE=\angle SQF=\frac{\pi}{3}, EE and FF must lie outside the triangle PSQPSQ. This implies that the triangle PSQPSQ is covered by the union of the triangles PSEPSE and QSFQSF. As no point of the SMT lies in triangles PSEPSE and QSFQSF, triangle PSQPSQ must contain no points of the SMT as well.

Next, we show that in an SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} there cannot be any Steiner point, in the interior of the polygon {Ai}\{A_{i}\}, that is a direct neighbour of some point BkB_{k} in the polygon {Bi}\{B_{i}\}.

{observation}

For any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} , there cannot exist a Steiner point SS lying in the interior of the polygon {Ai}\{A_{i}\} such that SBkSB_{k} is an edge in an SMT for some Bk{Bi}B_{k}\in\{B_{i}\}.

Proof 3.10.

For the sake of contradiction, we assume that for some SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} there exists a Steiner point SS lying in the interior of the polygon {Ai}\{A_{i}\} such that SBkSB_{k} is an edge in the SMT for some Bk{Bi}B_{k}\in\{B_{i}\}. Let AmAm+1A_{m}A_{m+1} be the edge such that SBkSB_{k} intersects AmAm+1A_{m}A_{m+1}. Without loss of generality, assume that AmA_{m} is closer to BkB_{k} than Am+1A_{m+1}. Therefore BkAmS>BkAmAm+1π2+πn>π2\angle B_{k}A_{m}S>\angle B_{k}A_{m}A_{m+1}\geq\frac{\pi}{2}+\frac{\pi}{n}>\frac{\pi}{2}. This means that BkSB_{k}S is the longest edge in the triangle BkSAmB_{k}SA_{m}. Therefore we can remove the edge BkSB_{k}S from the SMT and replace it with either BkAmB_{k}A_{m} or SAmSA_{m} to get another tree connecting the terminal set with a shorter total length than what we started with, which is a contradiction.

We further analyze SMTs for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}.

{observation}

Let 𝒱={Aj,Aj+1,,Ak}\mathcal{V}=\{A_{j},A_{j+1},\ldots,A_{k}\} be the interval of consecutive vertices of {Ai}\{A_{i}\} lying between AjA_{j} and AkA_{k} (which includes Aj+1A_{j+1}) such that AjA_{j} is distinct from Ak+1A_{k+1}. Let UU be any point on the line segment AkAk+1A_{k}A_{k+1}. Then an SMT of 𝒱{U}\mathcal{V}\cup\{U\} is 𝒯\mathcal{T}, with E(𝒯)={AjAj+1,Aj+1Aj+2,,Ak1Ak}{AkU}E(\mathcal{T})=\{A_{j}A_{j+1},A_{j+1}A_{j+2},\ldots,A_{k-1}A_{k}\}\cup\{A_{k}U\}.

Proof 3.11.

For the sake of contradiction, assume that there exists an SMT 𝒯\mathcal{T}^{\prime} of 𝒱{U}\mathcal{V}\cup\{U\} such that |𝒯|<|𝒯||\mathcal{T}^{\prime}|<|\mathcal{T}|.

From [5], we know that 𝒯A\mathcal{T}_{A}, with E(𝒯A)={AjAj+1,Aj+1Aj+2,,Aj2Aj1}E(\mathcal{T}_{A})=\{A_{j}A_{j+1},A_{j+1}A_{j+2},\ldots,A_{j-2}A_{j-1}\} (i.e. all edges of polygon {Ai}\{A_{i}\} except Aj1AjA_{j-1}A_{j}) is an SMT of {Ai}\{A_{i}\}. Since UAkAk+1E(𝒯A)U\in A_{k}A_{k+1}\in E(\mathcal{T}_{A}), 𝒯A\mathcal{T}_{A} must also be an SMT of {Ai}{U}\{A_{i}\}\cup\{U\}. However, 𝒯A\mathcal{T}_{A} can be partitioned as 𝒯A=𝒯𝒯1\mathcal{T}_{A}=\mathcal{T}\uplus\mathcal{T}_{1}, where E(𝒯1)={UAk+1}{Ak+1Ak+2,,Aj2Aj1}E(\mathcal{T}_{1})=\{UA_{k+1}\}\cup\{A_{k+1}A_{k+2},\ldots,A_{j-2}A_{j-1}\}. However, as 𝒯\mathcal{T}^{\prime} is assumed to be of shorter total length than 𝒯\mathcal{T}, 𝒯𝒯1\mathcal{T}^{\prime}\cup\mathcal{T}_{1} is a tree, containing {Ai}\{A_{i}\} as a vertex subset, which has a shorter total length than 𝒯A\mathcal{T}_{A}, contradicting the optimality of 𝒯A\mathcal{T}_{A}.

We proceed by showing that in any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} there exists at least one A-B path which is also a counter-clockwise path. Symmetrically, we also show that for any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} there exists another clockwise A-B path which consists of only clockwise turns. We can intuitively see that this is true because, if all clockwise paths starting at a vertex in {Ai}\{A_{i}\} also ended in a vertex in {Ai}\{A_{i}\}, there would be enough paths to form a cycle, which is not possible in a tree.

Lemma 3.12.

In any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} , there exists an A-B path which is also a clockwise path and there exists an A-B path which is also a counter-clockwise path.

Proof 3.13.

For the sake of contradiction, assume that for some SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} there is no A-B path which is a counter-clockwise path. We pick an arbitrary vertex Ai1{Ai}A_{i_{1}}\in\{A_{i}\} such that it is connected to at least one Steiner point (say Si1S_{i_{1}}). We consider the counter-clockwise path, 𝒞1\mathcal{C}_{1} starting from Ai1Si1A_{i_{1}}S_{i_{1}} and ending at the first terminal point in the counter-clockwise path. By assumption, there can be no vertex of {Bi}\{B_{i}\} in 𝒞1\mathcal{C}_{1}, hence the endpoint must be a vertex in {Ai}\{A_{i}\}. Let Ai2A_{i_{2}} be the other endpoint of 𝒞1\mathcal{C}_{1}. By definition, the penultimate vertex in this counter-clockwise path must be a Steiner point, we call it Si2S_{i_{2}}. We again consider the counter-clockwise path starting from Ai2Si2A_{i_{2}}S_{i_{2}}, and similarly, let Ai3A_{i_{3}} be the first terminal that is encountered in this path. The penultimate vertex in this counter-clockwise path must be a Steiner point, we call it Si3S_{i_{3}}. We can repeat this procedure indefinitely to obtain Ai4,Ai5,Ai6,A_{i_{4}},A_{i_{5}},A_{i_{6}},\ldots as there are no counter-clockwise A-B paths. However, as {Ai}\{A_{i}\} has nn vertices, there must be a repetition of vertices among Ai1,Ai2,Ai3,,Ain+1A_{i_{1}},A_{i_{2}},A_{i_{3}},\ldots,A_{i_{n+1}}, implying the existence of a cycle in the SMT, which is a contradiction.

This symmetrically implies that there must also be a clockwise A-B path.

Our next step is to bound the number of ‘connections’ that connect the inner polygon {Ai}\{A_{i}\} and the outer polygon {Bi}\{B_{i}\} for a large aspect ratio, λ\lambda. As λ\lambda increases, the area of the annular region between the two polygons increases as well. Therefore, an increase in the number of connections would lead to a longer total length of the SMT considered. Consequently, we will prove that after a certain positive constant λ1\lambda_{1}, for λ>λ1\lambda>\lambda_{1} any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} will have a single ‘connection’ between the two polygons. Moreover, [16] gives us an evidence that as λ\lambda\rightarrow\infty, there will indeed be a single connection connecting the outer polygon and the inner polygon for n12n\geq 12. We can formalize this notion of existence of a single ‘connection’ with the following lemma.

Lemma 3.14.

For any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} with n13n\geq 13 and λ>λ1\lambda>\lambda_{1}, the number of edges needed to be removed in order to disconnect {Ai}\{A_{i}\} and {Bi}\{B_{i}\} is 1, where

λ1=114sinπn\lambda_{1}=\frac{1}{1-4\sin\frac{\pi}{n}}
Proof 3.15.

For the sake of contradiction, assume that for some SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} , there are at least two distinct edges in that SMT, which are needed to be removed in order to disconnect {Ai}\{A_{i}\} and {Bi}\{B_{i}\}. We start with a claim.

Claim 2.

A counter-clockwise A-B path in any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} must have an edge of length greater than λ\lambda.

Proof 3.16.

We consider a generic setting, where 𝒯\mathcal{T} is an SMT of some set of terminal points 𝒫\mathcal{P}. Let HV(𝒯)H\in V(\mathcal{T}) be vertex of 𝒯\mathcal{T}. If 𝒞\mathcal{C} be a counter-clockwise path starting from HH such that no edge in the counter clockwise path has a length of more than rr, for some r+r\in\mathbb{R}^{+}. Due to Lemma 2.4 (1) of [16], we know that 𝒞\mathcal{C} is contained entirely in the circle centred at HH with radius 2r2r.

In our case, any vertex in {Ai}\{A_{i}\} and any vertex in {Bi}\{B_{i}\} are separated by the distance of at least λ12sinπn\dfrac{\lambda-1}{2\sin{\frac{\pi}{n}}}. Therefore, by the above fact, the maximum edge length in a counter-clockwise A-B path of any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} must be at least λ14sinπn\dfrac{\lambda-1}{4\sin{\frac{\pi}{n}}}. Moreover, we have λ>λ1\lambda>\lambda_{1}. Therefore λ>114sinπnλ14sinπn>λ\lambda>\dfrac{1}{1-4\sin{\frac{\pi}{n}}}\implies\dfrac{\lambda-1}{4\sin{\frac{\pi}{n}}}>\lambda. Hence, a counter-clockwise A-B path in any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} must have one edge greater than λ\lambda. This proves the claim.

Now, for any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}, let 𝒞\mathcal{C} be a counter-clockwise A-B path (this exists due to Lemma 3.12). From Claim 2, we know that there is an edge ee in 𝒞\mathcal{C}, with a length greater than λ\lambda. On removing the edge ee, the SMT splits into a forest of two trees. Let the trees be 𝒯x\mathcal{T}_{x} and 𝒯y\mathcal{T}_{y}. As we assumed that there are two edges required to disconnect {Ai}\{A_{i}\} and {Bi}\{B_{i}\}, there must exist an A-B path in either 𝒯x\mathcal{T}_{x} or 𝒯y\mathcal{T}_{y}. Without loss of generality, let 𝒯x\mathcal{T}_{x} contain an A-B path, and hence 𝒯x\mathcal{T}_{x} contains at least one point from {Ai}\{A_{i}\} and at least one point from {Bi}\{B_{i}\}. Further, 𝒯y\mathcal{T}_{y} must contain at least one terminal point (as it must contain all terminal points in one of the sides of the removed edge ee). If 𝒯y\mathcal{T}_{y} contains a point from {Ai}\{A_{i}\}, then the polygon {Ai}\{A_{i}\} has vertices both from 𝒯x\mathcal{T}_{x} and 𝒯y\mathcal{T}_{y}; otherwise, if 𝒯y\mathcal{T}_{y} contains a point from {Bi}\{B_{i}\}, then the polygon {Bi}\{B_{i}\} has vertices both from 𝒯x\mathcal{T}_{x} and 𝒯y\mathcal{T}_{y}.

This means that either the polygon {Ai}\{A_{i}\} or the polygon {Bi}\{B_{i}\} will contain at least one node from each of 𝒯x\mathcal{T}_{x} and 𝒯y\mathcal{T}_{y}. Further, as any given vertex must be either in 𝒯x\mathcal{T}_{x} or in 𝒯y\mathcal{T}_{y}, either {Ai}\{A_{i}\} or {Bi}\{B_{i}\} must contain two consecutive vertices UiU_{i} and Ui+1U_{i+1} such that one of them is in 𝒯x\mathcal{T}_{x} and the other is in 𝒯y\mathcal{T}_{y}. We simply connect UiU_{i} and Ui+1U_{i+1} by the polygon edge which is of length 11 (if Ui,Ui+1{Ai}U_{i},U_{i+1}\in\{A_{i}\}) or of length λ\lambda (if Ui,Ui+1{Bi}U_{i},U_{i+1}\in\{B_{i}\}), giving us back a tree 𝒯\mathcal{T}^{\prime}containing all the terminals. However we discarded an edge of length greater than λ\lambda and added back an edge of length at most λ\lambda in this process, which means that the total length of 𝒯\mathcal{T}^{\prime} is strictly less than the SMT we started with. This is a contradiction.

We now proceed to further investigate the connectivity of {Ai}\{A_{i}\} and {Bi}\{B_{i}\}.

Lemma 3.17.

Consider an SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} for n13n\geq 13 and λλ1\lambda\geq\lambda_{1}. There must exist j[n]j\in[n] and a Steiner point S1S_{1}, such that terminals Aj,Aj+1A_{j},A_{j+1} form a path AjA_{j}, S1S_{1}, Aj+1A_{j+1} in the SMT and each A-B path passes through S1S_{1}; where

λ1=114sinπn\lambda_{1}=\frac{1}{1-4\sin\frac{\pi}{n}}
Proof 3.18.

From Lemma 3.12, we know that there exists one clockwise A-B path and one counterclockwise A-B path in any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}. Let a clockwise A-B path start from ArA_{r} and a counter-clockwise A-B path start from AlA_{l}. Further following from Lemma 3.14, as there is one edge common to all A-B paths, the clockwise A-B path from ArA_{r} and the counter-clockwise A-B path from AlA_{l} must share a common edge S1S2S_{1}S_{2}. Therefore, each A-B path must pass through S1S_{1} and S2S_{2}. Without loss of generality we assume that point S1S_{1} is closer to the polygon {Ai}\{A_{i}\} than S2S_{2}. This means S1S_{1} is either a Stiener point or a terminal vertex of {Ai}\{A_{i}\}.

Claim 3.

S1S_{1} is not a vertex in {Ai}\{A_{i}\}

Proof 3.19.

For the sake of contradiction, we assume that S1S_{1} to be a vertex in {Ai}\{A_{i}\}, let S1=AkS_{1}=A_{k} in some SMT 𝒯0\mathcal{T}_{0}. We disconnect the edge S1S2S_{1}S_{2} from 𝒯0\mathcal{T}_{0}, which results in the formation of a forest of two trees 𝒯x\mathcal{T}_{x} and 𝒯y\mathcal{T}_{y} such that S1=Ak𝒯xS_{1}=A_{k}\in\mathcal{T}_{x} and S2𝒯yS_{2}\in\mathcal{T}_{y}.

𝒯x\mathcal{T}_{x} must contain all vertices of {Ai}\{A_{i}\} and 𝒯y\mathcal{T}_{y} must contain all vertices of {Bi}\{B_{i}\}, as there would be an A-B path in the graph otherwise (contradicting that S1S2S_{1}S_{2} disconnects {Ai}\{A_{i}\} and {Bi}\{B_{i}\}). We replace 𝒯x\mathcal{T}_{x} with the SMT of {Ai}\{A_{i}\}, which is also an MST (from [16]). Since all MST’s are of the same length, we choose such an MST in which AkA_{k} is not a leaf node. This means Ak1AkA_{k-1}A_{k} and AkAk+1A_{k}A_{k+1} are edges in the chosen MST of {Ai}\{A_{i}\}. We now add back the edge AkS2A_{k}S_{2}, resulting in a connected tree 𝒯0\mathcal{T}_{0}^{\prime} of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}. Since we replaced the tree 𝒯x\mathcal{T}_{x} with an SMT of {Ai}\{A_{i}\}, the total length of the 𝒯0\mathcal{T}_{0}^{\prime} must not be more than the total length of the 𝒯0\mathcal{T}_{0}.

However, we observe that AkA_{k} has three neighbours in 𝒯0\mathcal{T}_{0}^{\prime}, which are Ak+1,Ak1,S2A_{k+1},A_{k-1},S_{2}. However Ak1AkAk+1>2π3\angle A_{k-1}A_{k}A_{k+1}>\frac{2\pi}{3}. This means either S2AkAk+1<2π3\angle S_{2}A_{k}A_{k+1}<\frac{2\pi}{3} or Ak1AkS2<2π3\angle A_{k-1}A_{k}S_{2}<\frac{2\pi}{3}. But due to Proposition 2.1, this cannot form an SMT. Therefore 𝒯0\mathcal{T}_{0}^{\prime} is not optimal; and hence, 𝒯0\mathcal{T}_{0} cannot be optimal as well. This proves the claim.

Therefore, S1S_{1} must be a Steiner point. Let PP and QQ be the neighbours of S1S_{1} other than S2S_{2}, such that PS1S2\angle PS_{1}S_{2} is a clockwise turn while QS1S2\angle QS_{1}S_{2} is a counter-clockwise turn. This means that the clockwise A-B path from ArA_{r} passes through PP and the counter-clockwise A-B path from AlA_{l} passes through QQ. We prove that PP and QQ are consecutive vertices of {Ai}\{A_{i}\} in some SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}.

Claim 4.

PP and QQ cannot simultaneously lie in the interior of the polygon {Ai}\{A_{i}\}.

Proof 3.20.

We assume for the sake of contradiction that both PP and QQ lie in the interior of the polygon {Ai}\{A_{i}\}. On deleting the edge S1S2S_{1}S_{2}, the SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} splits into two trees 𝒯1\mathcal{T}_{1} (rooted at S1S_{1}) and 𝒯2\mathcal{T}_{2} (rooted at S2S_{2}). Further, as all A-B paths pass through S1S2S_{1}S_{2}, all vertices of {Ai}\{A_{i}\} must be in 𝒯1\mathcal{T}_{1} whereas all vertices of {Bi}\{B_{i}\} must lie in 𝒯2\mathcal{T}_{2}. Further, 𝒯1\mathcal{T}_{1} must be the SMT of {Ai}{S1}\{A_{i}\}\cup\{S_{1}\} and 𝒯2\mathcal{T}_{2} must be the SMT of {Bi}{S2}\{B_{i}\}\cup\{S_{2}\}.

  • Case I: One point in {S1,S2}\{S_{1},S_{2}\} lies in the interior of {Ai}\{A_{i}\} and the other point lies in the exterior of {Ai}\{A_{i}\}: This means that the edge S1S2S_{1}S_{2} crosses some polygon edge of {Ai}\{A_{i}\}, call it AmAm+1A_{m}A_{m+1}. Let DD be the intersection of AmAm+1A_{m}A_{m+1} and S1S2S_{1}S_{2}. We replace 𝒯1\mathcal{T}_{1} with an MST of {Ai}\{A_{i}\} that contains the edge AmAm+1A_{m}A_{m+1} (this can never lead to increase in total tree length due to [16]) and remove the line segment S1DS_{1}D from 𝒯2\mathcal{T}_{2}. This forms a tree connecting the terminal set {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} which has a total length smaller than the SMT we started with, which is a contradiction.

  • Case II: Both S1S_{1} and S2S_{2} lie in the interior of polygon {Ai}\{A_{i}\}: We further consider two cases for this:

    • Consider that there is at least one polygon edge AmAm+1A_{m}A_{m+1} of {Ai}\{A_{i}\} such that it does not intersect with 𝒯2\mathcal{T}_{2}. Then we can replace 𝒯1\mathcal{T}_{1} by the MST of {Ai}\{A_{i}\} which does not contain the edge AmAm+1A_{m}A_{m+1} without reducing the total edge. However, this will be a connecting tree of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} with a smaller total length than the tree we started with (as we had removed the edge S1S2S_{1}S_{2} previously), which is a contradiction.

    • Now, consider that all polygon edges of {Ai}\{A_{i}\} intersect with some edge in 𝒯2\mathcal{T}_{2}. Since 𝒯2\mathcal{T}_{2} is rooted at S2S_{2} which lies in the interior of {Ai}\{A_{i}\}, there must be nn distinct edges crossing the polygon {Ai}\{A_{i}\}. However, 𝒯2\mathcal{T}_{2} must be the SMT of the points {S2}{Bi}\{S_{2}\}\cup\{B_{i}\}, which means there can be at most (n1)(n-1) Steiner points other than S2S_{2} (from Proposition 2.1). Therefore, one of these nn edges must have a point in {Bi}\{B_{i}\} as one of its endpoints, contradicting Observation 3.3.

  • Case III: Both S1S_{1} and S2S_{2} lie in the exterior of polygon {Ai}\{A_{i}\}: This means that the edges S1PS_{1}P and S1QS_{1}Q intersect the polygon edges of {Ai}\{A_{i}\}. Further, from Observation 3.3, there cannot be any terminal inside the triangle S1PQS_{1}PQ. Hence, S1PS_{1}P and S1QS_{1}Q must intersect the same polygon edge of {Ai}\{A_{i}\} (otherwise intermediate vertices from {Ai}\{A_{i}\} would lie in the triangle S1PQS_{1}PQ). Let this edge be AtAt+1A_{t}A_{t+1}. Let P1P_{1} and Q1Q_{1} be the points of intersection of AtAt+1A_{t}A_{t+1} with S1PS_{1}P and S1QS_{1}Q respectively.

    We now remove the line segments S1P1S_{1}P_{1} and S1Q1S_{1}Q_{1} from 𝒯1\mathcal{T}_{1}. This results in another split into two connected trees 𝒯P\mathcal{T}_{P} (containing P1P_{1}, PP and a subset of {Ai}\{A_{i}\}) and 𝒯Q\mathcal{T}_{Q} (containing Q1Q_{1}, QQ and the remaining vertices of {Ai}\{A_{i}\}).

    We observe that the terminals in 𝒯P\mathcal{T}_{P} and 𝒯Q\mathcal{T}_{Q} form consecutive intervals of the edges in {Ai}\{A_{i}\}. To see why, consider the opposite, i.e. there are vertices Ai1,Ai2,Ai3,Ai4A_{i_{1}},A_{i_{2}},A_{i_{3}},A_{i_{4}} appearing in that order in {Ai}\{A_{i}\} such that Ai1,Ai3𝒯PA_{i_{1}},A_{i_{3}}\in\mathcal{T}_{P} whereas Ai2,Ai4𝒯QA_{i_{2}},A_{i_{4}}\in\mathcal{T}_{Q}. As 𝒯P\mathcal{T}_{P} and 𝒯Q\mathcal{T}_{Q} lie in the interior of {Ai}\{A_{i}\}, the path from Ai1A_{i_{1}} to Ai3A_{i_{3}} in 𝒯P\mathcal{T}_{P} must cross the path from Ai2A_{i_{2}} to Ai4A_{i_{4}} in 𝒯Q\mathcal{T}_{Q}. However, there cannot be crossing paths in the original SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} (due to Proposition 2.1).

    Let {Aw,Aw+1,,At}\{A_{w},A_{{w}+1},\ldots,A_{t}\} be the terminals in 𝒯P\mathcal{T}_{P} and the remaining terminals in {Ai}\{A_{i}\} are in 𝒯Q\mathcal{T}_{Q}. Again, let 𝒯P\mathcal{T}_{P}^{\prime}, 𝒯Q\mathcal{T}_{Q}^{\prime} be defined as:

    E(𝒯P)={AwAw+1,Aw+1Aw+2,,At1At}{AtP1}E(\mathcal{T}_{P}^{\prime})=\{A_{w}A_{w+1},A_{w+1}A_{w+2},\ldots,A_{t-1}A_{t}\}\cup\{A_{t}P_{1}\}

    and

    E(𝒯Q)={At+1At+2,,Aw2Aw1}{Q1At1}E(\mathcal{T}_{Q}^{\prime})=\{A_{t+1}A_{t+2},\ldots,A_{w-2}A_{w-1}\}\cup\{Q_{1}A_{t-1}\}

    From Observation 3.3, we know that 𝒯P\mathcal{T}_{P}^{\prime} is the SMT of {Aw,Aw+1,,At}{P1}\{A_{w},A_{{w}+1},\ldots,A_{t}\}\cup\{P_{1}\} and 𝒯Q\mathcal{T}_{Q}^{\prime} is the SMT of {At+1,At+2,,Aw1}{Q1}\{A_{t+1},A_{{t}+2},\ldots,A_{w-1}\}\cup\{Q_{1}\}. Therefore, |𝒯P||𝒯P||\mathcal{T}_{P}^{\prime}|\leq|\mathcal{T}_{P}| and |𝒯Q||𝒯Q||\mathcal{T}_{Q}^{\prime}|\leq|\mathcal{T}_{Q}|. This means that |𝒯1||𝒯1||\mathcal{T}_{1}|\geq|\mathcal{T}_{1}^{\prime}|, where 𝒯1={S1P1,S1Q1}𝒯P𝒯Q\mathcal{T}_{1}^{\prime}=\{S_{1}P_{1},S_{1}Q_{1}\}\cup\mathcal{T}_{P}^{\prime}\cup\mathcal{T}_{Q}^{\prime}. Further, 𝒯1\mathcal{T}_{1}^{\prime} is also a connecting tree of {S1}{Ai}\{S_{1}\}\cup\{A_{i}\} and as 𝒯1\mathcal{T}_{1} is an SMT of {S1}{Ai}\{S_{1}\}\cup\{A_{i}\}, then 𝒯1\mathcal{T}_{1}^{\prime} must also be an SMT with |𝒯1|=|𝒯1||\mathcal{T}_{1}^{\prime}|=|\mathcal{T}_{1}|.

    However, We can remove S1P1S_{1}P_{1} and P1AtP_{1}A_{t} from 𝒯1\mathcal{T}_{1}^{\prime} and add S1AtS_{1}A_{t} to get another connecting tree of {S1}{Ai}\{S_{1}\}\cup\{A_{i}\}, but with shorter total length (as S1P1¯+P1At¯>S1At¯\overline{S_{1}P_{1}}+\overline{P_{1}A_{t}}>\overline{S_{1}A_{t}} from triangle inequality). This contradicts the optimality of 𝒯1\mathcal{T}_{1}^{\prime} which was derived to be an SMT of {S1}{Ai}\{S_{1}\}\cup\{A_{i}\}.

This proves the claim.

We proceed to prove a stronger claim regarding PP and QQ.

Claim 5.

PP and QQ are consecutive vertices of {Ai}\{A_{i}\} in any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}.

Proof 3.21.

We first prove that P,QP,Q are vertices of {Ai}\{A_{i}\}.

From Claim 4, we know that at least one among PP and QQ must not be in the interior of polygon {Ai}\{A_{i}\}. Without loss of generality, let it be PP. We now show that PP is a vertex of {Ai}\{A_{i}\}. For the sake of contradiction we assume that PP is not a vertex of {Ai}\{A_{i}\} i.e. PP is a Steiner point. Let PF1\overrightarrow{PF_{1}} and PF2\overrightarrow{PF_{2}} be tangents from PP to {Ai}\{A_{i}\} where F1,F2F_{1},F_{2} are the points of tangency on {Ai}\{A_{i}\}. As PF1\overrightarrow{PF_{1}} and PF2\overrightarrow{PF_{2}} are tangents, F1PF2<π\angle F_{1}PF_{2}<\pi. We denote the region between the tangents PF1\overrightarrow{PF_{1}} and PF2\overrightarrow{PF_{2}} which contains the all the points in {Ai}\{A_{i}\} as \mathcal{R}.

From any Steiner point HH, which lies outside \mathcal{R}, we can choose a neighbour H1H_{1} of HH such that HH1\overrightarrow{HH_{1}} is not directed towards \mathcal{R}. Further we now show that there is one neighbour P1P_{1} of PP such that P1P_{1} is not in \mathcal{R} and P1S1P_{1}\neq S_{1}.

Case I: S1S_{1} lies in \mathcal{R}. However there must be another neighbour P1P_{1} of PP not in \mathcal{R} (as F1PF2<π\angle F_{1}PF_{2}<\pi) but as P1P_{1} is outside \mathcal{R}, we must have P1S1P_{1}\neq S_{1}.

Case II: S1S_{1} does not lie in \mathcal{R} (Figure 8). As the counter-clockwise A-B path from AlA_{l} passes through QQ, AlA_{l} must be to the left of the line LQS1L_{QS_{1}} if the line is given a orientation from QQ to S1S_{1}. This means that one of the tangents from PP (Without loss of generality assume it to be PF1\overrightarrow{PF_{1}}) intersects with the line LQS1L_{QS_{1}}. Therefore, taking angles in counter-clockwise order, we have:

Refer to caption
Figure 8: Case II of 5
S1PF1<π3\displaystyle\angle S_{1}PF_{1}<\frac{\pi}{3} [as PF1 intersects LQS1]\displaystyle[\text{as }\overrightarrow{PF_{1}}\text{ intersects }L_{QS_{1}}]
\displaystyle\implies S1PF2=S1PF1+F1PF2<π3+π=4π3\displaystyle\angle S_{1}PF_{2}=\angle S_{1}PF_{1}+\angle F_{1}PF_{2}<\frac{\pi}{3}+\pi=\frac{4\pi}{3}
\displaystyle\implies F2PS1=2πS1PF2>2π4π3=2π3\displaystyle\angle F_{2}PS_{1}=2\pi-\angle S_{1}PF_{2}>2\pi-\frac{4\pi}{3}=\frac{2\pi}{3}

Hence there must exist one neighbour P1P_{1} of PP lying outside the \mathcal{R}, precisely in the region bounded by the rays PF2\overrightarrow{PF_{2}} and PS1\overrightarrow{PS_{1}} with P1S1P_{1}\neq S_{1}.

Further we can choose a neighbour P2P_{2} of P1P_{1} such that P1P2\overrightarrow{P_{1}P_{2}} is directed away from \mathcal{R}. We can continue choosing P2,P3,P_{2},P_{3},\ldots such that PiPi+1\overrightarrow{P_{i}P_{i+1}} is directed away from the region \mathcal{R}. Moreover, the path P,P1,P2,P,P_{1},P_{2},\ldots must end at some point BkB_{k} as it cannot end in any vertex of {Ai}\{A_{i}\} (since all vertices of {Ai}\{A_{i}\} are in \mathcal{R}). Now, let 𝒞1\mathcal{C}_{1} be the path from ArA_{r} to BkB_{k} (which passes through PP and P1P_{1}) and let 𝒞2\mathcal{C}_{2} be the counter-clockwise A-B path from AlA_{l} (passing through QQ, S1S_{1} and S2S_{2}). We observe that 𝒞1\mathcal{C}_{1} and 𝒞2\mathcal{C}_{2} are two edge disjoint A-B paths, which is a contradiction to Lemma 3.14. This proves that PP is indeed a vertex in {Ai}\{A_{i}\}. Therefore by Claim 4, QQ does not lie inside {Ai}\{A_{i}\} and repeating this same argument on QQ yields that QQ is also a vertex of {Ai}\{A_{i}\}.

Now, to prove that PP and QQ are consecutive vertices of {Ai}\{A_{i}\}, we use Observation 3.3. Observation 3.3 implies that there must not be any other point of the SMT in the triangle PS1QPS_{1}Q. This means that PP and QQ must be consecutive vertices of {Ai}\{A_{i}\}, otherwise all polygon vertices of {Ai}\{A_{i}\} occurring in between PP and QQ would be inside the triangle PS1QPS_{1}Q (as PS1Q=2π3\angle PS_{1}Q=\dfrac{2\pi}{3} and n13n\geq 13). This proves the claim.

Therefore, PP and QQ are consecutive vertices Aj,Aj+1A_{j},A_{j+1} of the polygon {Ai}\{A_{i}\}, for some j[n]j\in[n] such that AjA_{j}, S1S_{1}, Aj+1A_{j+1} is a path in the SMT, where S1S_{1} is a Steiner point lying on all A-B paths.

Our next step is to investigate some more structural properties of an SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}. From [5], we may guess that there would be a lot of polygon edges of both {Ai}\{A_{i}\} and {Bi}\{B_{i}\} in an SMT. We prove the following Lemma, stating that there is an SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} which contains (n2)(n-2) polygon edges of {Ai}\{A_{i}\}.

Lemma 3.22.

For an SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} with aspect ratio λ\lambda, λ>λ1=114sinπn\lambda>\lambda_{1}=\frac{1}{1-4\sin\frac{\pi}{n}}, let S1S_{1} be the Steiner point such that all A-B paths pass through S1S_{1}. Let AjA_{j} and Aj+1A_{j+1} be vertices of {Ai}\{A_{i}\} which are connected to S1S_{1}. Then, there exists an SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} having (n2)(n-2) polygon edges of {Ai}\{A_{i}\} other than AjAj+1A_{j}A_{j+1}.

Proof 3.23.

Let 𝒯0\mathcal{T}_{0} be any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}. From Lemma 3.17, we know that there exists S1S_{1}, AjA_{j} and Aj+1A_{j+1} such that S1S_{1} is a Steiner point which is a part of all A-B paths, and AjS1Aj+1A_{j}S_{1}A_{j+1} is a path 𝒯0\mathcal{T}_{0}.

From 𝒯0\mathcal{T}_{0}, we remove the edges S1AjS_{1}A_{j} and S1Aj+1S_{1}A_{j+1} and add the edge AjAj+1A_{j}A_{j+1}. This results in a forest of two disjoint trees 𝒯x\mathcal{T}_{x} and 𝒯y\mathcal{T}_{y}. One of these trees (say 𝒯x\mathcal{T}_{x}) must contain all terminal points from {Ai}\{A_{i}\} and the other tree must contain all terminals from {Bi}\{B_{i}\}, as no more A-B paths exist after we removed the edges S1AjS_{1}A_{j} and S1Aj+1S_{1}A_{j+1}. Therefore we have |𝒯0|=|𝒯x|+|𝒯y|1+S1Aj¯+S1Aj+1¯|\mathcal{T}_{0}|=|\mathcal{T}_{x}|+|\mathcal{T}_{y}|-1+\overline{S_{1}A_{j}}+\overline{S_{1}A_{j+1}}.

We further replace 𝒯x\mathcal{T}_{x} with a Euclidean minimum spanning tree 𝒯x\mathcal{T}_{x}^{\prime} of {Ai}\{A_{i}\} such that the edge AjAj+1A_{j}A_{j+1} is present in 𝒯x\mathcal{T}_{x}^{\prime}. From [5], we know that |𝒯x||𝒯x||\mathcal{T}_{x}^{\prime}|\leq|\mathcal{T}_{x}|. We now remove the edge AjAj+1A_{j}A_{j+1} and add back the edges S1AjS_{1}A_{j} and S1Aj+1S_{1}A_{j+1} which gives a connected tree 𝒯0\mathcal{T}_{0}^{\prime} of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}. Therefore we have:

|𝒯0|=|𝒯x|+|𝒯y|1+S1Aj¯+S1Aj+1¯|𝒯x|+|𝒯y|1+S1Aj¯+S1Aj+1¯=|𝒯0||\mathcal{T}_{0}^{\prime}|=|\mathcal{T}_{x}^{\prime}|+|\mathcal{T}_{y}|-1+\overline{S_{1}A_{j}}+\overline{S_{1}A_{j+1}}\leq|\mathcal{T}_{x}|+|\mathcal{T}_{y}|-1+\overline{S_{1}A_{j}}+\overline{S_{1}A_{j+1}}=|\mathcal{T}_{0}|

This means 𝒯0\mathcal{T}_{0}^{\prime} must be an SMT. However, all polygon edges of polygon {Ai}\{A_{i}\} appearing in 𝒯x\mathcal{T}_{x}^{\prime} also appear in 𝒯0\mathcal{T}_{0}^{\prime} as well, except AjAj+1A_{j}A_{j+1}. Therefore, the SMT 𝒯0\mathcal{T}_{0}^{\prime} has (n2)(n-2) polygon edges of the polygon {Ai}\{A_{i}\}.

With these set of results in hand, we can now show that there exists an SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} following a singly connected topology. To show this, we start with any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} , 𝒯0\mathcal{T}_{0}, that satisfies all the results derived so far and transform it into a Steiner tree of singly connected topology having total length not longer than the initial Steiner tree 𝒯0\mathcal{T}_{0}.

Theorem 3.24.

There exists an SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} following a singly connected topology for n13n\geq 13 and λλ1\lambda\geq\lambda_{1}, where

λ1=114sinπn\lambda_{1}=\frac{1}{1-4\sin\frac{\pi}{n}}
Proof 3.25.

Let 𝒯0\mathcal{T}_{0} be any SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} which satisfies the properties of Lemma 3.22. Further, from Lemma 3.17, there is a Steiner point S1S_{1} which lies on all A-B paths, and there are two consecutive vertices AjA_{j}, Aj+1A_{j+1} such that AjA_{j}, S1S_{1}, Aj+1A_{j+1} is a path in 𝒯0\mathcal{T}_{0}. As 𝒯0\mathcal{T}_{0} satisfies the property of Lemma 3.22, 𝒯0\mathcal{T}_{0} has (n2)(n-2) polygon edges of {Ai}\{A_{i}\} excluding the edge AjAj+1A_{j}A_{j+1}.

Let HH be the point in the interior of the polygon {Ai}\{A_{i}\} such that HAjAj+1HA_{j}A_{j+1} form an equilateral triangle. As n>6n>6, the common centre OO of {Ai}\{A_{i}\} and {Bi}\{B_{i}\} does not lie inside the triangle HAjAj+1HA_{j}A_{j+1}. Now, we modify 𝒯0\mathcal{T}_{0} as follows:

  1. 1.

    Remove edges AjS1A_{j}S_{1}, S1Aj+1S_{1}A_{j+1} and add edge S1HS_{1}H to get the forest 𝒯1\mathcal{T}_{1}. We know from [9] that S1S_{1}, S2S_{2} and HH are collinear and this transformation does not change the total length. Therefore |𝒯0|=|𝒯1||\mathcal{T}_{0}|=|\mathcal{T}_{1}|. Here, |𝒯1||\mathcal{T}_{1}| denotes the sum of the lengths of edges present in 𝒯1\mathcal{T}_{1}.

  2. 2.

    Add edge HOHO and remove all polygon edges of {Ai}\{A_{i}\} to get 𝒯2\mathcal{T}_{2}. Therefore |𝒯2|=|𝒯1|+HO¯(n2)=|𝒯0|+HO¯(n2)|\mathcal{T}_{2}|=|\mathcal{T}_{1}|+\overline{HO}-(n-2)=|\mathcal{T}_{0}|+\overline{HO}-(n-2). We observe that 𝒯2\mathcal{T}_{2} is a tree connecting the points in {Bi}{O}\{B_{i}\}\cup\{O\}.

  3. 3.

    Let S0S_{0} be the Torricelli point of the triangle OBjBj+1OB_{j}B_{j+1}. Let 𝒯3\mathcal{T}_{3} be the Steiner tree of {Bi}{O}\{B_{i}\}\cup\{O\} with edges S0OS_{0}O, S0BjS_{0}B_{j}, S0Bj+1S_{0}B_{j+1} and other points in {Bi}\{B_{i}\} connected through (n2)(n-2) polygon edges of the polygon {Bi}\{B_{i}\}. From [16], we know that 𝒯3\mathcal{T}_{3} is the SMT of {Bi}{O}\{B_{i}\}\cup\{O\}. Therefore |𝒯3||𝒯2|=|𝒯0|+HO¯(n2)|\mathcal{T}_{3}|\leq|\mathcal{T}_{2}|=|\mathcal{T}_{0}|+\overline{HO}-(n-2). Further we know that HH lies on the edge OS0OS_{0} (as OO, S0S_{0} and HH lie on the perpendicular bisector of BjB_{j} and Bj+1B_{j+1}).

  4. 4.

    Remove edge S0OS_{0}O and add edge S0HS_{0}H to get 𝒯4\mathcal{T}_{4}. As HH lies on the edge OS0OS_{0}, we have |𝒯4|=|𝒯3|OH¯|𝒯0|(n2)|\mathcal{T}_{4}|=|\mathcal{T}_{3}|-\overline{OH}\leq|\mathcal{T}_{0}|-(n-2).

  5. 5.

    Let S3S_{3} be the intersection of the circumcircle of triangle AjHAj+1A_{j}HA_{j+1} (from Lemma 3.1 the intersection exists as λ1λv\lambda_{1}\geq\lambda_{v} for n13n\geq 13). Remove the edge S3HS_{3}H and add the edges S3AjS_{3}A_{j} and S3Aj+1S_{3}A_{j+1} to get 𝒯5\mathcal{T}_{5}. Again, from [9] we know that this transformation does not change the total length. Hence |𝒯5|=|𝒯5||𝒯0|(n2)|\mathcal{T}_{5}|=|\mathcal{T}_{5}|\leq|\mathcal{T}_{0}|-(n-2). Moreover, as λ>λv\lambda>\lambda_{v}, we observe that {Aj,Bj,Aj+1,Bj+1,S3,S0}\{A_{j},B_{j},A_{j+1},B_{j+1},S_{3},S_{0}\} form the vertices of the vertical gadget and points OO, HH, S3S_{3}, S0S_{0} appear in that order on the perpendicular bisector of BjB_{j} and Bj+1B_{j+1}.

  6. 6.

    Add back the (n2)(n-2) polygon edges of {Ai}\{A_{i}\} which were removed in the second step to get 𝒯6\mathcal{T}_{6}. Therefore |𝒯4|=|𝒯5|+(n2)|𝒯0||\mathcal{T}_{4}|=|\mathcal{T}_{5}|+(n-2)\leq|\mathcal{T}_{0}|. We further observe that 𝒯6\mathcal{T}_{6} is a Steiner tree connecting the points {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} with a singly connected topology.

Therefore we started with an arbitrary SMT 𝒯0\mathcal{T}_{0} and transformed it into a Steiner tree 𝒯6\mathcal{T}_{6} with a singly connected topology (where {Aj,Bj,Aj+1,Bj+1,S3,S0}\{A_{j},B_{j},A_{j+1},B_{j+1},S_{3},S_{0}\} form the vertices of the vertical gadget) which has a total length not worse than 𝒯0\mathcal{T}_{0}. Hence 𝒯6\mathcal{T}_{6} must be an SMT of {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\}. This proves the theorem.

Remark 3.26.

Theorem 3.24 determines the exact structure of the SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} . Further from Section 3.1 we determine the exact method to construct the two additional Steiner points in 𝒪(1)\mathcal{O}(1) steps - note that this construction time is independent of the integer nn or the real number λ\lambda. Therefore, SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} for n13n\geq 13 and λλ1\lambda\geq\lambda_{1} is solvable in polynomial time.

Note that the total length of any SMT for {Ai}{Bi}\{A_{i}\}\cup\{B_{i}\} , when n13n\geq 13 and λλ1\lambda\geq\lambda_{1}, is

|𝒯6|=|vertical gadget|+|(n2) edges of {Bi}|+|(n2) edges of {Ai}|\displaystyle|\mathcal{T}_{6}|=|\text{vertical gadget}|+|(n-2)\text{ edges of $\{B_{i}\}$}|+|(n-2)\text{ edges of $\{A_{i}\}$}|
\displaystyle\implies |𝒯6|=((λ1)2tanπn+3(λ+1)2)+(n2)λ+(n2)\displaystyle|\mathcal{T}_{6}|=\bigg{(}\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}+\dfrac{\sqrt{3}(\lambda+1)}{2}\bigg{)}+(n-2)\cdot\lambda+(n-2)
\displaystyle\implies |𝒯6|=(λ1)2tanπn+(n2+32)(λ+1)\displaystyle{|\mathcal{T}_{6}|=\dfrac{(\lambda-1)}{2\tan\frac{\pi}{n}}+\bigg{(}n-2+\frac{\sqrt{3}}{2}\bigg{)}(\lambda+1)}

Further, λ1\lambda_{1} converges to 1 very quickly with increasing nn (plotted in Figure 9):

nn 13 20 40 100 500
λ1\lambda_{1} 23.3987 2.6719 1.4574 1.1437 1.0258
Refer to caption
Figure 9: Plot of λ1\lambda_{1} & λv\lambda_{v} against nn

This means for large sized nn and for ratios that are not too small, the SMT will follow a singly connected topology.

4 \ESMTon f(n)f(n)-Almost Convex Point Sets

In this section, we design an exact algorithm for \ESMTon f(n)f(n)-Almost Convex Point Sets running in time 2𝒪(f(n)logn)2^{\mathcal{O}(f(n)\log n)}. Note that f(n)nf(n)\leq n is always true. Therefore, we are given as input a set 𝒫\mathcal{P} of nn points in the Euclidean Plane such that 𝒫\mathcal{P} can be partitioned as 𝒫=𝒫1𝒫2\mathcal{P}=\mathcal{P}_{1}\uplus\mathcal{P}_{2}, where 𝒫1\mathcal{P}_{1} is the convex hull of 𝒫\mathcal{P} and |𝒫2|=f(n)|\mathcal{P}_{2}|=f(n).

First, we look into some mathematical results and computational results to finally arrive at the algorithm for solving \ESMTon f(n)f(n)-Almost Convex Point Sets.

We know that the SMT of 𝒫\mathcal{P} can be decomposed uniquely into one or more full Steiner subtrees, such that two full Steiner subtrees share at most one node [9]. In the following lemma, we further characterize one full Steiner subtree.

Lemma 4.1.

Let 𝔽\mathbb{F} be the full Steiner decomposition of an SMT of 𝒫\mathcal{P}. Then there exists a full Steiner subtree 𝔽\mathcal{F}\in\mathbb{F} such that \mathcal{F} has at most one common node with at most one other full Steiner subtree in 𝔽\mathbb{F}.

Proof 4.2.

If the SMT of 𝒫\mathcal{P} is a full Steiner tree, then the statement is trivially true.

Otherwise, we assume that the SMT of 𝒫\mathcal{P} has full Steiner subtrees, 𝔽={1,2,,m}\mathbb{F}=\{\mathcal{F}_{1},\mathcal{F}_{2},\ldots,\mathcal{F}_{m}\}, m2m\geq 2. Now, for the sake of contradiction, we assume that for each full Steiner subtree j\mathcal{F}_{j} there are atleast two other full Steiner subtrees 𝖭𝖾𝗂𝗍𝗋𝖾𝖾(j)1,𝖭𝖾𝗂𝗍𝗋𝖾𝖾(j)2𝔽{\sf Neitree}(\mathcal{F}_{j})^{1},{\sf Neitree}(\mathcal{F}_{j})^{2}\in\mathbb{F} and two terminals P1(j),P2(j)𝒫P_{1}(\mathcal{F}_{j}),P_{2}(\mathcal{F}_{j})\in\mathcal{P} such that Pi(j)V(j)V(𝖭𝖾𝗂𝗍𝗋𝖾𝖾(j)i)P_{i}(\mathcal{F}_{j})\in V(\mathcal{F}_{j})\cap V({\sf Neitree}(\mathcal{F}_{j})^{i}), i{1,2}i\in\{1,2\}. Now, let us construct a walk WW in the SMT of 𝒫\mathcal{P}. Starting from P1(1)P_{1}(\mathcal{F}_{1}) of the full Steiner subtree 1𝔽\mathcal{F}_{1}\in\mathbb{F}, we include the path in 1\mathcal{F}_{1} connecting to P2(1)P_{2}(\mathcal{F}_{1}). Note that P2(1)P_{2}(\mathcal{F}_{1}) is also contained in 𝖭𝖾𝗂𝗍𝗋𝖾𝖾(1)2{\sf Neitree}(\mathcal{F}_{1})^{2}. Let 𝖭𝖾𝗂𝗍𝗋𝖾𝖾(1)2=w1{\sf Neitree}(\mathcal{F}_{1})^{2}=\mathcal{F}_{w_{1}} for some w1[m],w11w_{1}\in[m],w_{1}\neq 1. Also let P2(1)=P1(w1)P_{2}(\mathcal{F}_{1})=P_{1}(\mathcal{F}_{w_{1}}). Then, we know that there is a P2(w1)P_{2}(\mathcal{F}_{w_{1}}). In WW, we include the path in w1\mathcal{F}_{w_{1}} connecting P1(w1)P_{1}(\mathcal{F}_{w_{1}}) to P2(w1)P_{2}(\mathcal{F}_{w_{1}}). In general, suppose the ithi^{th} full Steiner subtree to be considered in building the walk is wi1\mathcal{F}_{w_{i-1}} which was reached via point P1(wi1)P_{1}(\mathcal{F}_{w_{i-1}}). Then we include in WW the path in wi1\mathcal{F}_{w_{i-1}} connecting P1(wi1)P_{1}(\mathcal{F}_{w_{i-1}}) and P2(wi1)P_{2}(\mathcal{F}_{w_{i-1}}). Thus, we can indefinitely keep constructing the walk WW as for each wi1\mathcal{F}_{w_{i-1}} both P1(wi1),P2(wi1)P_{1}(\mathcal{F}_{w_{i-1}}),P_{2}(\mathcal{F}_{w_{i-1}}) always exist. However, since there are mm full Steiner subtrees this means that there is an k𝔽\mathcal{F}_{k}\in\mathbb{F} and two indices iji\neq j such that k=wi=wj\mathcal{F}_{k}=\mathcal{F}_{w_{i}}=\mathcal{F}_{w_{j}}. Thus, there exists a cycle in WW, which implies that there is a cycle in the SMT of 𝒫\mathcal{P} (contradiction). Therefore, there must be at least one full Steiner subtree that has at most one common terminal with at most one other full Steiner subtree.

Remark 4.3.

A full Steiner subtree of the SMT of 𝒫\mathcal{P} has the topology of a tree. Thus, from Lemma 4.1, we conclude that a full Steiner subtree, that has at most one common terminal with at most one other full Steiner subtree, has at least one leaf of the SMT.

Definition 4.4.

Let the full Steiner subtrees, that have at most one terminal shared with at most one other full Steiner subtree, be called leaf full Steiner subtrees. Let the terminal which is shared be called the pivot of the leaf full Steiner subtree.

Refer to caption
(a)
Refer to caption
(b)
Figure 10: Leaf full Steiner subtrees enclosed in ellipses, other full Steiner subtrees enclosed in rectangles, pivots of leaf full Steiner subtrees encircled
Lemma 4.5.

Let \mathcal{F} be a leaf full Steiner Subtree of the SMT of 𝒫\mathcal{P}, with terminal points 𝒫𝒫\mathcal{P}_{\mathcal{\mathcal{F}}}\subseteq\mathcal{P} and having pivot PP_{\mathcal{F}}. Deleting {P}\mathcal{F}\setminus\{P_{\mathcal{F}}\} from the SMT of 𝒫\mathcal{P} gives us an SMT of the terminal points ((𝒫𝒫){P})((\mathcal{P}-\mathcal{P}_{\mathcal{F}})\cup\{P_{\mathcal{F}}\}).

Proof 4.6.

Firstly, we observe that deleting {P}\mathcal{F}\setminus\{P_{\mathcal{F}}\} from the SMT of 𝒫\mathcal{P} will indeed give us a tree, as \mathcal{F} is a leaf full Steiner subtree. Let us call this tree 𝒴\mathcal{Y}.

Now for the sake of contradiction, we assume that the total length of 𝒴\mathcal{Y} is strictly larger than the SMT \mathcal{F}^{\prime} of ((𝒫𝒫){P})((\mathcal{P}-\mathcal{P}_{\mathcal{F}})\cup\{P_{\mathcal{F}}\}). However, this means, the total length of \mathcal{F}^{\prime}\cup\mathcal{F} is strictly smaller than that of the SMT of 𝒫\mathcal{P}. As \mathcal{F}^{\prime}\cup\mathcal{F} is also a Steiner tree of 𝒫\mathcal{P}, this contradicts the minimality of the initial SMT of 𝒫\mathcal{P}.

Now we are ready to describe the algorithm. Recall that 𝒫\mathcal{P} is partitioned as 𝒫=𝒫1𝒫2\mathcal{P}=\mathcal{P}_{1}\uplus\mathcal{P}_{2}, where 𝒫1\mathcal{P}_{1} is the convex hull of 𝒫\mathcal{P} and 𝒫2\mathcal{P}_{2} is the set of f(n)f(n) points lying in the interior of 𝒫1\mathcal{P}_{1}. For the sake of brevity of notations let |𝒫2|=k|\mathcal{P}_{2}|=k.

Lemma 4.7.

Let 𝒫\mathcal{P} be a kk-Almost Convex Point Set. A minimum FST of a subset 𝒮\mathcal{S} of 𝒫\mathcal{P} can be found in 𝒪(4|𝒮||𝒮|k)\mathcal{O}(4^{|{\mathcal{S}}|}\cdot|\mathcal{S}|^{k}) time.

Proof 4.8.

We observe that for any 𝒮𝒫\mathcal{S}\subseteq\mathcal{P}, 𝒮\mathcal{S} forms a convex polygon with at most kk points lying in the interior. For |𝒮|2|{\mathcal{S}}|\leq 2, the statement of the lemma is trivially true. Hence we assume that |𝒮|>2|{\mathcal{S}}|>2.

From [9], the number of full Steiner topologies of 𝒮\mathcal{S} is

|𝒮|!|CH(𝒮)|!(2|𝒮|4|𝒮|2)|𝒮|1\frac{|\mathcal{S}|!}{|\mathrm{CH}(\mathcal{S})|!}\cdot\frac{\binom{2|{\mathcal{S}}|-4}{|{\mathcal{S}}|-2}}{|{\mathcal{S}}|-1}

However, we know that:

(2|𝒮|4|𝒮|2)|𝒮|1<(2|𝒮||𝒮|)|𝒮|<r=02|𝒮|(2|𝒮|k)|𝒮|=22|𝒮||𝒮|=4|𝒮||𝒮|\frac{\binom{2|{\mathcal{S}}|-4}{|{\mathcal{S}}|-2}}{|{\mathcal{S}}|-1}<\frac{\binom{2|{\mathcal{S}}|}{|{\mathcal{S}}|}}{|{\mathcal{S}}|}<\frac{\sum\limits_{r=0}^{2|{\mathcal{S}}|}\binom{2|{\mathcal{S}}|}{k}}{|{\mathcal{S}}|}=\frac{2^{2|{\mathcal{S}}|}}{|{\mathcal{S}}|}=\frac{4^{|{\mathcal{S}}|}}{|{\mathcal{S}}|}

And,

|𝒮|!|CH(𝒮)|!<|𝒮|!(|𝒮|k)!<|𝒮|k\frac{|\mathcal{S}|!}{|\mathrm{CH}(\mathcal{S})|!}<\frac{|\mathcal{S}|!}{(|\mathcal{S}|-k)!}<|\mathcal{S}|^{k}

Therefore, the number of full Steiner topologies of 𝒮\mathcal{S} is at most 4|𝒮||𝒮|k14^{|{\mathcal{S}}|}|\mathcal{S}|^{k-1}. Each of these topologies can be enumerated and using Melzak’s FST Algorithm, we can also find the SMT realizing each such full Steiner topology in linear time, as given in [9]. Therefore to iterate over all topologies and find a minimum takes at most time:

(4|𝒮||𝒮|k1)𝒪(|𝒮|)=missingO(4|𝒮||𝒮|k)(4^{|{\mathcal{S}}|}\cdot|\mathcal{S}|^{k-1})\cdot\mathcal{O}(|\mathcal{S}|)=\mathcal{\mathcal{missing}}O(4^{|{\mathcal{S}}|}\cdot|\mathcal{S}|^{k})

Now, we find the time required for extending the results of Lemma 4.7 to all subsets of 𝒫\mathcal{P}.

Lemma 4.9.

Let 𝒫\mathcal{P} be a kk-Almost Convex Set. Computing a minimum FST for all subsets 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} can be done in 𝒪(nk5n)\mathcal{O}(n^{k}\cdot 5^{n}) time.

Proof 4.10.

Using Lemma 4.7, we can get a minimum FST for a single subset 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} in 𝒪(4|𝒮||𝒮|k)\mathcal{O}(4^{|{\mathcal{S}}|}|\mathcal{S}|^{k}) time. Moreover, we know that the number of subsets of 𝒫\mathcal{P} that are of size rr is (nr)\binom{n}{r}. This means that the total time to compute a minimum FST for all subsets 𝒮𝒫\mathcal{S}\subseteq\mathcal{P}, time taken is:

r=0n(nr)𝒪(4rrk)=r=0n(nr)𝒪(nk4r)=𝒪(nk(1+4)n)=𝒪(nk5n)\sum\limits_{r=0}^{n}\binom{n}{r}\cdot\mathcal{O}(4^{r}\cdot r^{k})=\sum\limits_{r=0}^{n}\binom{n}{r}\cdot\mathcal{O}(n^{k}\cdot 4^{r})=\mathcal{O}(n^{k}\cdot(1+4)^{n})=\mathcal{O}(n^{k}\cdot 5^{n})

For each 𝒮𝒫\mathcal{S}\subseteq\mathcal{P}, we denote by 𝒮\mathcal{F}_{\mathcal{S}} a minimum FST of 𝒮\mathcal{S} and by 𝒯𝒮\mathcal{T}_{\mathcal{S}} the SMT of 𝒮\mathcal{S}.

Lemma 4.11.

The SMT of subset 𝒮𝒫\mathcal{S}\subseteq\mathcal{P}, 𝒯𝒮\mathcal{T}_{\mathcal{S}}, can be found in 𝒪(|𝒮|2|𝒮|)\mathcal{O}(|{\mathcal{S}}|\cdot 2^{|{\mathcal{S}}|}) time, given that we have pre-computed 𝒯\mathcal{T}_{\mathcal{R}} and \mathcal{F}_{\mathcal{R}}, 𝒮\forall\mathcal{R}\subseteq\mathcal{S}.

Proof 4.12.

If 𝒯𝒮\mathcal{T}_{\mathcal{S}} was a full Steiner tree then it would be 𝒮\mathcal{F}_{\mathcal{S}}. Otherwise, 𝒯𝒮\mathcal{T}_{\mathcal{S}} contains multiple full Steiner subtrees.

Let \mathcal{F} be a leaf full Steiner subtree of 𝒯𝒮\mathcal{T}_{\mathcal{S}} with pivot PP_{\mathcal{F}}. Therefore from Lemma 4.5 we have 𝒯𝒮=𝒯((𝒮V()){P})\mathcal{T}_{\mathcal{S}}=\mathcal{T}_{((\mathcal{S}-V(\mathcal{F}))\cup\{P_{\mathcal{F}}\})}\cup\mathcal{F}. Therefore we can iterate over all subsets 𝒮\mathcal{R}\subset\mathcal{S} and all terminals PP\in\mathcal{R}, and take the minimum-length tree among 𝒯((𝒮){P})\mathcal{T}_{((\mathcal{S}-\mathcal{R})\cup\{P\})}\cup\mathcal{F}_{\mathcal{R}}. Since we are iterating over all 𝒮\mathcal{R}\subset\mathcal{S}, and all PP\in\mathcal{R}, we are guaranteed to get =V()𝒮\mathcal{R}=V(\mathcal{F})\cap\mathcal{S} and P=PP=P_{\mathcal{F}} on one such iteration.

Now, as there are 𝒪(2|𝒮|)\mathcal{O}(2^{|\mathcal{S}|}) possibilities of 𝒮\mathcal{R}\subset\mathcal{S} and 𝒪(|𝒮|)\mathcal{O}(|\mathcal{S}|) possibilities of PP\in\mathcal{R}, we have 𝒪(|S|2|𝒮|)\mathcal{O}(|S|\cdot 2^{|\mathcal{S}|}) possibilities of the pair (,P)(\mathcal{R},P). Therefore the total time required for iterating is 𝒪(|𝒮|2|𝒮|)\mathcal{O}(|{\mathcal{S}}|\cdot 2^{|{\mathcal{S}}|}).

Lemma 4.13.

SMTs for all subsets 𝒮𝒫\mathcal{S}\subseteq\mathcal{P}, 𝒯𝒮\mathcal{T}_{\mathcal{S}} can be found in 𝒪(n3n)\mathcal{O}(n\cdot 3^{n}) time, given that we have precomputed a minimum FST 𝒮\mathcal{F}_{\mathcal{S}} 𝒮𝒫\forall\mathcal{S}\subseteq\mathcal{P}.

Proof 4.14.

Using Lemma 4.11, we can get the SMT 𝒯𝒮\mathcal{T}_{\mathcal{S}}, for a single subset 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} in 𝒪(r2r)\mathcal{O}(r\cdot 2^{r}) time, where |𝒮|=r|{\mathcal{S}}|=r. Moreover, we know that the number of subsets of 𝒫\mathcal{P} that are of size rr is (nr)\binom{n}{r}. This means that the total time to compute the SMT for all subsets 𝒮𝒫\mathcal{S}\subseteq\mathcal{P}, time taken is:

k=0n(nk)𝒪(k2k)=𝒪(n(1+2)n)=𝒪(n3n)\sum\limits_{k=0}^{n}\binom{n}{k}\cdot\mathcal{O}(k\cdot 2^{k})=\mathcal{O}(n\cdot(1+2)^{n})=\mathcal{O}(n\cdot 3^{n})

However, to apply Lemma 4.11 on some subset 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} for computing 𝒯𝒮\mathcal{T}_{\mathcal{S}}, we must also have 𝒯\mathcal{T}_{\mathcal{R}} precomputed for all 𝒮\mathcal{R}\subseteq\mathcal{S}. This can be guaranteed by computing 𝒯𝒮\mathcal{T}_{\mathcal{S}} and 𝒮\mathcal{F}_{\mathcal{S}}, for all subsets 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} in an increasing order of |𝒮||\mathcal{S}| (or any order which guarantees that the subsets of 𝒮\mathcal{S} are processed before 𝒮\mathcal{S}).

Finally, we state our algorithm.

Theorem 4.15.

An SMT 𝒯𝒫\mathcal{T}_{\mathcal{P}} of a kk-Almost Convex Set 𝒫\mathcal{P} of terminals can be computed in 𝒪(nk5n)\mathcal{O}(n^{k}\cdot 5^{n}) time.

Proof 4.16.

Consider the following algorithm:

Algorithm 1 Computation of 𝒯𝒫\mathcal{T_{P}}     Input: 𝒫\mathcal{P}
1:for all 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} do
2:     Compute 𝒮\mathcal{F_{S}} \triangleright Using Lemma 4.9
3:end for\triangleright This takes 𝒪(nk5n)\mathcal{O}(n^{k}\cdot 5^{n}) time
4:for all 𝒮𝒫\mathcal{S}\subseteq\mathcal{P} do
5:     Compute 𝒯𝒮\mathcal{T_{S}} \triangleright Using Lemma 4.13
6:end for\triangleright This takes 𝒪(n3n)\mathcal{O}(n\cdot 3^{n}) time
7:return 𝒯𝒫\mathcal{T_{P}} \triangleright Total runtime is 𝒪(nk5n+n3n)=𝒪(nk5n)\mathcal{O}(n^{k}\cdot 5^{n}+n\cdot 3^{n})=\mathcal{O}(n^{k}\cdot 5^{n})

Hence we have an SMT of a kk-Almost Convex Point Set 𝒫\mathcal{P} in 𝒪(nk5n)\mathcal{O}(n^{k}\cdot 5^{n}) time.

The above theorem gives us several improvements in special classes of inputs, based on the number of input points lying inside the convex hull of the input set, as described in the following corollary. Let there be an f(n)f(n)-Almost Convex Point Set 𝒫\mathcal{P} containing nn points. Recall that 𝒫=𝒫1𝒫2\mathcal{P}=\mathcal{P}_{1}\uplus\mathcal{P}_{2}, 𝒫1\mathcal{P}_{1} containing the points on the convex hull of 𝒫\mathcal{P}, and |𝒫2|=f(n)|\mathcal{P}_{2}|=f(n). It is only possible that f(n)nf(n)\leq n.

Corollary 4.17.

Let 𝒫\mathcal{P} be a f(n)f(n)-Almost Convex Point Set. Then, then there is an algorithm 𝒜\mathcal{A} for \ESMTsuch that, 𝒜\mathcal{A} runs in 2𝒪(n+f(n)logn)2^{\mathcal{O}{(n+f(n)\log n)}} time. In particular,

  1. 1.

    When f(n)=𝒪(n)f(n)=\mathcal{O}(n), 𝒜\mathcal{A} runs in 2𝒪(nlogn)2^{\mathcal{O}(n\log n)} time.

  2. 2.

    When f(n)=Ω(nlogn)f(n)=\Omega(\frac{n}{\log n}) and f(n)=o(n)f(n)=o(n), 𝒜\mathcal{A} runs in 2o(nlogn)2^{o(n\log n)}.

  3. 3.

    When f(n)=𝒪(nlogn)f(n)=\mathcal{O}(\frac{n}{\log n}), 𝒜\mathcal{A} runs in 2𝒪(n)2^{\mathcal{O}(n)} time.

Therefore, for f(n)=o(n)f(n)=o(n), our algorithm for \ESMTdoes better on f(n)f(n)-Almost Convex Points Sets than the current best known algorithm [8].

5 Approximation Algorithms for \ESMT

The \ESMTproblem is NP-hard as shown by Garey et al. in [6]. Garey et al. also prove that there cannot be an FPTAS (fully polynomial time approximation scheme) for this problem unless P=NPP=NP. At the same time, the case when all the terminals lie on the boundary of a convex region admits an FPTAS as given in [14]. We aim to conduct a more fine-grained analysis for the problem by considering f(n)f(n)-Almost Convex Point Sets of nn terminals and studying the existence of FPTASes for different functions f(n)f(n). First, we present an FPTAS for \ESMTon f(n)f(n)-Almost Convex Sets of nn terminals, when f(n)=𝒪(logn)f(n)=\mathcal{O}(\log n). Next, we prove that no FPTAS exists for the case when f(n)=Ω(nϵ)f(n)=\Omega(n^{\epsilon}), where ϵ(0,1]\epsilon\in(0,1].

5.1 FPTAS for \ESMTon Cases of Almost Convex Point Sets

We first propose an algorithm for computing the SMT of a planar graph GG having NN vertices and nn terminals, out of which kk terminals lie on the outer face of GG and the remaining terminals lie within the boundary. Next, following the procedure in [14] we get an FPTAS for \ESMTon f(n)f(n)-Almost Convex Sets of nn terminals, where f(n)=𝒪(logn)f(n)=\mathcal{O}(\log n).

We state the following proposition from Theorem 1 in [14]:

Proposition 5.1.

Let 𝒫\mathcal{P} be the vertices of any polygon in the plane, 𝒦\mathcal{K} a subset of 𝒫\mathcal{P}, and 𝒯\mathcal{T} a tree consisting of all the vertices of 𝒦\mathcal{K} (and possibly some other vertices as well) and contained entirely inside 𝒫\mathcal{P}. Then on removing any edge of the tree, we get two disjoint trees 𝒯1,𝒯2\mathcal{T}_{1},\mathcal{T}_{2}, such that the vertices of 𝒦\mathcal{K} in each tree 𝒯i,i{1,2}\mathcal{T}_{i},i\in\{1,2\} form an interval in 𝒦\mathcal{K}.

Using Proposition 5.1 and the Dreyfus-Wagner algorithm [4], we give an algorithm for obtaining the SMT of a planar graph GG.

Let 𝒦\mathcal{K} represent the set of terminals lying on the outer face of GG and \mathcal{R} be the set of terminals lying inside the outer face of GG. We have |V(G)|=N|V(G)|=N, |𝒦|=n|\mathcal{K}\cup\mathcal{R}|=n, and |𝒦|=k|\mathcal{K}|=k. Let C()C(\mathcal{L}) denote the SMT in GG for a terminal subset V(G)\mathcal{L}\subseteq V(G). Let B(v,,[a,b))B(v,\mathcal{L},[a,b)) denote the SMT in GG for the terminal set {v}[a,b)\{v\}\cup\mathcal{L}\cup[a,b), where \mathcal{L}\subseteq\mathcal{R}, [a,b)[a,b) is the set of vertices in 𝒦\mathcal{K} forming an interval from vertex aa to bb in counterclockwise direction along the outer boundary of GG including aa but excluding bb, vV(G)([a,b))v\in V(G)\setminus(\mathcal{L}\cup[a,b)), and the degree of vv is at least 22 in B(v,,[a,b))B(v,\mathcal{L},[a,b)). Let A(v,,[a,b))A(v,\mathcal{L},[a,b)) denote the SMT in GG for the terminal set {v}[a,b)\{v\}\cup\mathcal{L}\cup[a,b), where \mathcal{L}, [a,b)[a,b), and vv are as defined in the previous case, and the degree of vv is at most 11 in A(v,,[a,b))A(v,\mathcal{L},[a,b)).

Splitting the SMT at a vertex vv of degree at least 22 gives rise to two smaller instances of the Steiner Minimal Tree problem on graphs.

B(v,,[a,b))=minΠ1,Π2,Π3{C({v}[a,x))+C({v}()[x,b))}B(v,\mathcal{L},[a,b))=\min_{\Pi_{1},\Pi_{2},\Pi_{3}}\{C(\{v\}\cup\mathcal{L}^{\prime}\cup[a,x))+C(\{v\}\cup(\mathcal{L}\setminus\mathcal{L}^{\prime})\cup[x,b))\} (1)

where the conditions on \mathcal{L}^{\prime} and xx are Π1:\Pi_{1}:\mathcal{L}^{\prime}\subseteq\mathcal{L}, Π2:x𝒦,a<x<b\Pi_{2}:x\in\mathcal{K},a<x<b, and Π3:[a,x)[a,b)\Pi_{3}:\emptyset\subset\mathcal{L}^{\prime}\cup[a,x)\subset\mathcal{L}\cup[a,b).

The intuition is to root the tree at an internal terminal vertex and start growing the Steiner tree from there. Observe that on removing one of the internal vertices vv in the tree 𝒯\mathcal{T}, we get one, two or three disjoint subtrees. They induce a partition over the terminals. The terminals in 𝒦\mathcal{K} in each of the subtrees form intervals in 𝒦\mathcal{K}, according to Proposition 5.1. Moreover, the terminals in \mathcal{R} can be partitioned in any way, not necessarily maintaining the interval structure. This is captured in the following recurrence relation:

C({v}[a,b))=minΠ1,Π2,Π3{A(v,1,[a,c))+A(v,2,[c,d))+A(v,3,[d,b))}C(\{v\}\cup\mathcal{L}\cup[a,b))=\min_{\Pi_{1},\Pi_{2},\Pi_{3}}\{A(v,\mathcal{L}_{1},[a,c))+A(v,\mathcal{L}_{2},[c,d))+A(v,\mathcal{L}_{3},[d,b))\} (2)

where the conditions on 1\mathcal{L}_{1}, 2\mathcal{L}_{2}, 3\mathcal{L}_{3}, cc, and dd are Π1:1,2,3\Pi_{1}:\mathcal{L}_{1},\mathcal{L}_{2},\mathcal{L}_{3}\subseteq\mathcal{L}, Π2:123=\Pi_{2}:\mathcal{L}_{1}\cup\mathcal{L}_{2}\cup\mathcal{L}_{3}=\mathcal{L}, and Π3:c,d𝒦,acdb\Pi_{3}:c,d\in\mathcal{K},a\leq c\leq d\leq b and we have

A(v,,[p,q))=min{minu{B(u,,[p,q))+d(u,v)},minu[p,q){C([p,q))+d(u,v)}}A(v,\mathcal{L}^{\prime},[p,q))=\min\{\min_{u\notin\mathcal{L}^{\prime}}\{B(u,\mathcal{L}^{\prime},[p,q))+d(u,v)\},\min_{u\in\mathcal{L}^{\prime}\cup[p,q)}\{C(\mathcal{L}^{\prime}\cup[p,q))+d(u,v)\}\} (3)

Our aim is to compute C({v}({v})𝒦)C(\{v\}\cup(\mathcal{R}\setminus\{v\})\cup\mathcal{K}), where vv\in\mathcal{R}. We precompute the shortest distance between all pairs of vertices. We then compute the values of C(.)C(.) and B(.)B(.) in increasing order of cardinality of subsets of vertices in 𝒦\mathcal{K} and \mathcal{R}. Let d(u,v)d(u,v) denote the shortest path length between uu and vv. The base cases are C({v}{a})=d(v,a)C(\{v\}\cup\{a\})=d(v,a) for all vV(G)v\in V(G) and a𝒦a\in\mathcal{K}\cup\mathcal{R}.

Algorithm 2 Computation of SMT of planar graph GG with terminal set 𝒦\mathcal{K}\cup\mathcal{R}     Input: GG, 𝒦\mathcal{K}, \mathcal{R}
1:Compute the shortest distance between all pairs of vertices
2:for all uV(G)u\in V(G) and aKRa\in K\cup R do
3:     Set C({u}{a})=d(u,a)C(\{u\}\cup\{a\})=d(u,a)
4:end for
5:Select a vertex vv\in\mathcal{R}
6:for i=1,,nk1i=1,\ldots,n-k-1 do
7:     for each {v}\mathcal{L}\subseteq\mathcal{R}\setminus\{v\} of size ii do
8:         for j=1,,kj=1,\ldots,k do
9:              if j=k then
10:                  Compute B(v,,𝒦)B(v,\mathcal{L},\mathcal{K}) using Equation 1
11:                  Compute C({v}𝒦)C(\{v\}\cup\mathcal{L}\cup\mathcal{K}) using Equation 2
12:              else
13:                  for each [a,b)𝒦[a,b)\subseteq\mathcal{K} of size jj do
14:                       Compute B(v,,[a,b))B(v,\mathcal{L},[a,b)) using Equation 1
15:                       Compute C({v}[a,b))C(\{v\}\cup\mathcal{L}\cup[a,b)) using Equation 2
16:                  end for
17:              end if
18:         end for
19:     end for
20:end for
21:return C({v}({v})𝒦)C(\{v\}\cup(\mathcal{R}\setminus\{v\})\cup\mathcal{K})

We analyse the correctness and running time of Algorithm 2.

Theorem 5.2.

Consider a planar graph GG on NN vertices and a set 𝒦V(G)\mathcal{K}\uplus\mathcal{R}\subseteq V(G) of nn terminals such that 𝒦\mathcal{K} is defined as the terminals lying on the outer face of GG. Moreover, let |𝒦|=k|\mathcal{K}|=k. Then Algorithm 2 computes the SMT for 𝒦\mathcal{K}\uplus\mathcal{R} in GG in time 𝒪(N2k44nk+Nk33nk+N3)\mathcal{O}(N^{2}k^{4}4^{n-k}+Nk^{3}3^{n-k}+N^{3}).

Proof 5.3.

Correctness of Algorithm 2. In order to prove the correctness of Algorithm 2, we need to show that the Equations 1 and 2 are valid.

In Equation 1, B(v,,[a,b))B(v,\mathcal{L},[a,b)) denotes an SMT for the terminal set {v}[a,b)\{v\}\cup\mathcal{L}\cup[a,b), conditioned on the fact that the degree of vv is at least 22 in it. Let us split the SMT at vertex vv into two smaller subtrees. This must also split the terminals in [a,b)[a,b) in two intervals [a,x)[a,x) and [x,b)[x,b), respectively. Otherwise it would mean that the SMT has crossing edges, which is not possible. The vertices in \mathcal{L} can be present in any of the two subtrees, hence we consider all possible partitions of \mathcal{L} into two subsets \mathcal{L}^{\prime} and \mathcal{L}\setminus\mathcal{L}^{\prime}. Thus for Equation 1, LHSRHS\mbox{LHS}\geq\mbox{RHS}. On the other hand, the expression in the RHS of Equation 1 is a tree containing the vertex subset {v}[a,b)\{v\}\cup\mathcal{L}\cup[a,b). Since, B(v,,[a,b))B(v,\mathcal{L},[a,b)) is an SMT for the same vertex subset, in Equation 1 LHSRHS\mbox{LHS}\geq\mbox{RHS}. Therefore, Equation 1 is valid.

For Equation 2, we take vv as the root of the SMT C({v}[a,b))C(\{v\}\cup\mathcal{L}\cup[a,b)). The degree of vv in the SMT can be 11, 22, or 33. Accordingly, on removing vv, we will get 11, 22, or 33 subtrees, with the condition that in each subtree the degree of vv is 11. Again, the terminals in [a,b)[a,b) are divided into smaller intervals [a,c)[a,c), [c,d)[c,d) and [d,b)[d,b) for some c,d𝒦c,d\in\mathcal{K} satisfying a<c<d<ba<c<d<b. The terminals in \mathcal{L} are divided among the subtrees in any combination. The number of such intervals and partitions is equal to the degree of vv in C({v}[a,b))C(\{v\}\cup\mathcal{L}\cup[a,b)). The term A(v,,[p,q))A(v,\mathcal{L}^{\prime},[p,q)) is obtained by minimizing across all SMTs satisfying the condition that degree of vv in the SMT is 11. Thus in Equation 2, LHSRHS\mbox{LHS}\geq\mbox{RHS}. On the other hand, the RHS of Equation 2 given a tree containing vertices {v}[a,b)\{v\}\cup\mathcal{L}\cup[a,b). Since C({v}[a,b))C(\{v\}\cup\mathcal{L}\cup[a,b)) is an SMT on the terminal set {v}[a,b)\{v\}\cup\mathcal{L}\cup[a,b), in Equation 2 LHSRHS\mbox{LHS}\leq\mbox{RHS}. Thus, Equation 2 is valid.

Running time of Algorithm 2. All pairs shortest paths can be calculated in 𝒪(N3)\mathcal{O}(N^{3}) time. The time complexity of the dynamic program has two components to it. One is due to computation of the B(.) values using Equation 1 and the other is for calculating the C(.) values using Equation 2.

  1. 1.

    The number of computational steps for calculating B(v,,[a,b))B(v,\mathcal{L},[a,b)) using Equation 1 is of the order of the number of choices of vv, \mathcal{L}, \mathcal{L}^{\prime}, [a,b)[a,b), and [a,x)[a,x) such that \mathcal{L}\subset\mathcal{R}, \mathcal{L}^{\prime}\subseteq\mathcal{L}, a,x,b𝒦a,x,b\in\mathcal{K}, axba\leq x\leq b, and vV(G)(L[a,b))v\in V(G)\setminus(L\cup[a,b)). Each vertex in \mathcal{R} belongs to exactly one of the sets \mathcal{L}^{\prime}, \mathcal{L}\setminus\mathcal{L}^{\prime}, or V(G)V(G)\setminus\mathcal{L}. The vertices in 𝒦\mathcal{K} are partitioned into three intervals, [a,x)[a,x), [x,b)[x,b), and [b,a)[b,a). There are at most NN possibilities for vv. This gives us a running time of 𝒪(Nk33nk)\mathcal{O}(Nk^{3}3^{n-k}).

  2. 2.

    The number of computational steps for calculating C({v}[a,b))C(\{v\}\cup\mathcal{L}\cup[a,b)) using Equation 2 is 3N3N times the order of the number of choices of vv, \mathcal{L}, 1\mathcal{L}_{1}, 2\mathcal{L}_{2}, aa, bb, cc, and dd such that \mathcal{L}\subset\mathcal{R}, 1\mathcal{L}_{1}\subseteq\mathcal{L}, 2\mathcal{L}_{2}\subseteq\mathcal{L}, {a,c,d,b}𝒦\{a,c,d,b\}\subseteq\mathcal{K}, acdba\leq c\leq d\leq b, and vV(G)([a,b))v\in V(G)\setminus(\mathcal{L}\cup[a,b)). Each vertex in \mathcal{R} belongs to exactly one of the sets 1\mathcal{L}_{1}, 2\mathcal{L}_{2}, 3\mathcal{L}_{3} or V(G)V(G)\setminus\mathcal{L}. The vertices in 𝒦\mathcal{K} are partitioned into at most four intervals, [a,c)[a,c), [c,d)[c,d), [d,b)[d,b) and [b,a)[b,a). There are at most NN possibilities for vv. The 3N3N factor is because calculating each of the C(.)C(.) values involves minimization over at most 3N3N terms. This gives us a running time of 𝒪(N2k44nk)\mathcal{O}(N^{2}k^{4}4^{n-k}).

Thus, the time complexity of the algorithm is 𝒪(N2k44nk+Nk33nk+N3)\mathcal{O}(N^{2}k^{4}4^{n-k}+Nk^{3}3^{n-k}+N^{3}).

We obtain the following corollary from the above theorem.

Corollary 5.4.

Consider a planar graph GG on NN vertices and a set 𝒦V(G)\mathcal{K}\uplus\mathcal{R}\subseteq V(G) of nn terminals such that 𝒦\mathcal{K} is defined by the terminals lying on the outer face of GG. Moreover, let |𝒦|=k|\mathcal{K}|=k and let ||=nk=𝒪(logn)|\mathcal{R}|=n-k=\mathcal{O}(\log n). Then Algorithm 2 computes the SMT for 𝒦\mathcal{K}\uplus\mathcal{R} in GG in time N3k4n𝒪(1)N^{3}k^{4}n^{\mathcal{O}(1)}.

Next we state the FPTAS for \ESMTon f(n)f(n)-Almost Convex Sets of nn terminals. This is achieved by converting the instance of \ESMTinto an instance of Steiner Minimal Tree on graphs. The Steiner Minimal Tree problem shall be solved using Algorithm 2. For this, we use the Algorithm 2 in [14]. We restate the Algorithm 2 in [14] for our problem instance. We denote the set of terminals with 𝒫\mathcal{P}.

Algorithm 3 Computation of (1+ϵ)(1+\epsilon)-approximate SMT of 𝒫\mathcal{P}     Input: 𝒫,ϵ\mathcal{P},\epsilon
1:Compute the convex hull of the set of terminals 𝒫\mathcal{P}. Let the region enclosed by the convex hull CH(𝒫)\mathrm{CH}(\mathcal{P}) be denoted by CH(𝒫)\mathbb{R}_{\mathrm{CH}(\mathcal{P})}. Let the points in 𝒫\mathcal{P} lying on CH(𝒫)\mathrm{CH}(\mathcal{P}) be 𝒦\mathcal{K} and =𝒫𝒦\mathcal{R}=\mathcal{P}\setminus\mathcal{K}.
2:We enclose the set of terminals 𝒫\mathcal{P} with the smallest axis-parallel bounding square. Let its side length be DD. We divide the bounding square into same sized grids of side length Dϵ8n12\frac{D\epsilon}{8n-12}, where ϵ\epsilon is the approximation factor.
3:Let 𝒱0\mathcal{V}_{0} be the set of all lattice points introduced in the previous step, and 𝒱1\mathcal{V}_{1} be the set of all lattice points lying on the edges of CH(𝒫)\mathrm{CH}(\mathcal{P}). We define the weighted graph Gf,ϵG_{f,\epsilon} to be the complete graph with vertex set V(Gf,ϵ)=𝒦(𝒱0CH(𝒫))𝒱1V(G_{f,\epsilon})=\mathcal{K}\cup\mathcal{R}\cup(\mathcal{V}_{0}\cap\mathbb{R}_{\mathrm{CH}(\mathcal{P})})\cup\mathcal{V}_{1}. The edge weights are equal to the Euclidean distance between the two end points.
4:Return the SMT 𝒯\mathcal{T} for the graph Gf,ϵG_{f,\epsilon} with 𝒦\mathcal{K}\cup\mathcal{R} as the terminal set using Algorithm 2.

We analyse the correctness and running time of Algorithm 3.

Theorem 5.5.

Consider a set 𝒫\mathcal{P} of nn points such that 𝒦\mathcal{K} is defined as the points lying on the convex hull of 𝒫\mathcal{P}, i.e. CH(𝒫)\mathrm{CH}(\mathcal{P}), and =𝒫𝒦\mathcal{R}=\mathcal{P}\setminus\mathcal{K}. Moreover, let |𝒦|=k|\mathcal{K}|=k. Then Algorithm 3 computes a (1+ϵ)(1+\epsilon)-approximate SMT for 𝒫\mathcal{P} in time 𝒪(n4k4ϵ44nk)\mathcal{O}(\frac{n^{4}k^{4}}{\epsilon^{4}}4^{n-k}).

Proof 5.6.

Correctness of Algorithm 3. In order to prove the correctness of Algorithm 3, we need to show that 𝒯\mathcal{T} is a (1+ϵ)(1+\epsilon)-approximation of the SMT of the terminal set 𝒫\mathcal{P}, and 𝒯\mathcal{T} is indeed the SMT for 𝒦\mathcal{K}\cup\mathcal{R} in the complete weighted graph Gf,ϵG_{f,\epsilon}.

In [14], the concept of weight planar graphs is used. A graph GG is called weight planar if it is a non-planar graph embedded on the Euclidean plane, having non-negative edge weights, such that every pair of edges (u,v)(u,v) and (u,v)(u^{\prime},v^{\prime}) which intersect in this embedding of GG, satisfy the inequality: w(u,v)+w(u,v)>d(u,u)+d(v,v)w(u,v)+w(u^{\prime},v^{\prime})>d(u,u^{\prime})+d(v,v^{\prime}), where w(u,v)w(u,v) is the weight of the edge between vertices uu and vv and d(x,y)d(x,y) is the length of the shortest path between vertices xx and yy. Since the edge weights of Gf,ϵG_{f,\epsilon} are the Euclidean distances between the points, Gf,ϵG_{f,\epsilon} is a weight planar graph.

From Theorem 5 of [14], we get that the SMT of a weight planar graph does not contain any crossing edges even though the input graph is non-planar. Because the SMT does not contain any crossing edges and lies completely inside the convex hull of the terminal pointset, the terminals on the outer boundary of Gf,ϵG_{f,\epsilon}, i.e. 𝒦\mathcal{K}, follow the interval pattern as stated in Proposition 5.1. Therefore, Algorithm 2 designed for planar graphs can be applied in the case of weight planar graphs as well. So, 𝒯\mathcal{T} is the SMT for 𝒦\mathcal{K}\cup\mathcal{R} in the complete weighted graph Gf,ϵG_{f,\epsilon}.

Finally, from Theorem 12 in [14], we get that the length of the Steiner tree obtained from Algorithm 3 is at most (1+ϵ)(1+\epsilon) times the length of the SMT 𝒯\mathcal{T}^{*} of 𝒫\mathcal{P}, i.e. |𝒯|(1+ϵ)|𝒯||\mathcal{T}|\leq(1+\epsilon)|\mathcal{T}^{*}|. Thus, we are done.

Running time of Algorithm 3. Constructing the convex hull takes 𝒪(nlogn)\mathcal{O}(n\log n) time. The number of lattice points contained in the bounding box is (8n12ϵ)2=𝒪(n2ϵ2)\big{(}\frac{8n-12}{\epsilon}\big{)}^{2}=\mathcal{O}(\frac{n^{2}}{\epsilon^{2}}). Thus, the number of vertices in the resultant graph Gf,ϵG_{f,\epsilon} is N=𝒪(n2ϵ2)+n=𝒪(n2ϵ2)N=\mathcal{O}(\frac{n^{2}}{\epsilon^{2}})+n=\mathcal{O}(\frac{n^{2}}{\epsilon^{2}}). The time complexity of Algorithm 2 is 𝒪(N2k44nk+Nk33nk+N3)=𝒪(n4k4ϵ44nk)\mathcal{O}(N^{2}k^{4}4^{n-k}+Nk^{3}3^{n-k}+N^{3})=\mathcal{O}(\frac{n^{4}k^{4}}{\epsilon^{4}}4^{n-k}). This step dominates the running time resulting in the complexity of Algorithm 3 being 𝒪(n4k4ϵ44nk)\mathcal{O}(\frac{n^{4}k^{4}}{\epsilon^{4}}4^{n-k}).

Theorem 5.7.

There exists an FPTAS for \ESMTon an f(n)f(n)-Almost Convex Set of nn terminals, where f(n)=𝒪(logn)f(n)=\mathcal{O}(\log n).

Proof 5.8.

From Theorem 5.5, we get a (1+ϵ)(1+\epsilon)-approximate SMT for any (nk)(n-k)-Almost Convex Set of nn terminals in time 𝒪(n4k4ϵ44nk)\mathcal{O}(\frac{n^{4}k^{4}}{\epsilon^{4}}4^{n-k}). For nk=𝒪(logn)n-k=\mathcal{O}(\log n), we get the running time of Algorithm 3 to be 𝒪(n4k4ϵ4n𝒪(1))\mathcal{O}(\frac{n^{4}k^{4}}{\epsilon^{4}}n^{\mathcal{O}(1)}). Thus, Algorithm 3 is an FPTAS for the Euclidean Steiner Minimal Tree problem on an 𝒪(logn)\mathcal{O}(\log n)-Almost Convex Set of nn terminals.

5.2 Hardness of Approximation for \ESMTon Cases of Almost Convex Sets

In this section, we consider the \ESMTproblem on f(n)f(n)-Almost Convex Sets of nn terminal points, where f(n)=Ω(nϵ)f(n)=\Omega(n^{\epsilon}) for some ϵ(0,1]\epsilon\in(0,1]. We show that this problem cannot have an FPTAS. The proof strategy is similar to that in [6]. First, we give a reduction for the problem Exact Cover by 33-Sets (defined below) to our problem to show that our problem is NP-hard. Next, we consider a discrete version of our problem and reduce our problem to the discrete version. The discrete version is in NP. Therefore, this chain of reductions imply that the discrete version of our problem is Strongly NP-complete and therefore cannot have an FPTAS, following from [6]. Similar to the arguments in [6], this also implies that our problem cannot have an FPTAS.

Before we describe our reductions, we take a look at the NP-hardness reduction of the \ESMTproblem from the Exact Cover by 3-Sets (X3C) problem in [6]. In the X3C problem, we are given a universe of elements U={1,2,,3n}U=\{1,2,\ldots,3n\} and a family 𝔽\mathbb{F} of 33-element subsets F1,F2,,FtF_{1},F_{2},\ldots,F_{t} of the 3n3n elements. The objective is to decide if there exists a subcollection 𝔽𝔽\mathbb{F}^{\prime}\subseteq\mathbb{F} such that: (i) the elements of 𝔽\mathbb{F}^{\prime} are disjoint, and (ii) F𝔽F=U\bigcup_{F^{\prime}\in\mathbb{F}^{\prime}}F^{\prime}=U. The X3C problem is NP-complete [7].

In [6], various gadgets are constructed, i.e. particular arrangements of a set of points. These are then arranged on the plane in a way corresponding to the given X3C instance. Figure 11 shows the reduced ESMT instance obtained for U={1,2,3,4,5,6}U=\{1,2,3,4,5,6\} and 𝔽={{1,2,4},{2,3,6},{3,5,6}}\mathbb{F}=\{\{1,2,4\},\{2,3,6\},\{3,5,6\}\} (taken from [6]). The squares, hexagons (crossovers), shaded circles (terminators) and lines (rows) all represent specific arrangements of a subset of points. Let X(𝔽)X(\mathbb{F}) denote the reduced instance. The number of points in X(𝔽)X(\mathbb{F}) is bounded by a polynomial in nn and tt. Let this polynomial be 𝒪(tγ)\mathcal{O}(t^{\gamma}), as we can assume tnt\geq n since otherwise it trivially becomes a NO instance. Here γ\gamma is some constant.

Refer to caption
(a)
Figure 11: Reduced instance of ESMT from X3C (taken from [6])

We restate Theorem 1 in [6].

Proposition 5.9.

Let 𝒮\mathcal{S}^{*} denote an SMT of X(𝔽)X(\mathbb{F}), the instance obtained by reducing the X3C instance (n,𝔽)(n,\mathbb{F}), and |𝒮||\mathcal{S}^{*}| denote its length. If 𝔽\mathbb{F} has an exact cover, then |𝒮|f(n,t,C^)|\mathcal{S}^{*}|\leq f(n,t,\hat{C}), otherwise |𝒮|f(n,t,C^)+1200nt|\mathcal{S}^{*}|\geq f(n,t,\hat{C})+\frac{1}{200nt}, where t=|𝔽|t=|\mathbb{F}|, C^\hat{C} is the number of crossovers, i.e. hexagonal gadgets, and ff is a positive real-valued function of n,t,C^n,t,\hat{C}.

We extend this construction to prove NP-hardness for instances of \ESMTwhere the terminal set 𝒫\mathcal{P} has Ω(nϵ)\Omega(n^{\epsilon}) points inside CH(𝒫)\mathrm{CH}(\mathcal{P}). Here, ϵ(0,1]\epsilon\in(0,1] and nn is the number of terminals.

Let us call the length of a gadget to be the maximum horizontal distance between any two points in that gadget. Similarly, we define the breadth of a gadget to be the maximum vertical distance between any two points in that gadget.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 12: The Terminator gadget symbol and arrangement of points

The terminator gadget used is shown in Figure 12. The straight lines represent a row of at least 10001000 points separated at distances of 1/101/10 or 1/111/11. The angles between them are as shown. The upward terminator has the point AA above the other points in the terminator, whereas the downward terminator has the point AA below the other points. Firstly, we adjust the number of points in the long rows, such that the length and breadth of the terminators is same as that of the hexagonal gadgets (crossovers). We can fix this length and breadth to be some constants, such that the number of points in each gadget is also bounded by some constant. In our construction, we modify the terminators Ω0\Omega_{0}, Ω1\Omega_{1}, and Ω2\Omega_{2} as shown in Figure 11 enclosed in squares. Ω1\Omega_{1} is the terminator corresponding to the first occurrence of the element 3nU3n\in U in some set in 𝔽\mathbb{F} and Ω2\Omega_{2} is the terminator corresponding to the last occurrence of 3n3n in some set in 𝔽\mathbb{F} (if there are more than one occurrences of 3n3n). If there are no occurrences of 3n3n, then it is trivially a no-instance. The modified gadgets are shown in Figure 14. All the other gadgets remain unaltered.

Refer to caption
Figure 13: Conic Set: Cone(T,r,n)\mathrm{Cone}(T,r,n)

We call a set of points arranged as shown in Figure 13, as a Conic Set.

Definition 5.10.

A Conic Set is a set of points consisting of a point TT, called the tip of the cone, and the remaining points denoted by 𝒮\mathcal{S}. Let 𝒞\mathcal{C} be the circle with TT as centre and radius rr. All the points in 𝒮\mathcal{S} lie on 𝒞\mathcal{C}, such that the angle at the tip formed by the two extreme points L,R𝒮L,R\in\mathcal{S}, i.e. LTR=30\angle{LTR}=30^{\circ} in the anticlockwise direction. So, we have TL¯=TR¯=r\overline{TL}=\overline{TR}=r. The distance between any two consecutive points in 𝒮\mathcal{S} is the same, say dd. Let the number of points in 𝒮\mathcal{S} be nn. We denote the Conic Set as Cone(T,r,n)\mathrm{Cone}(T,r,n) and 𝒮\mathcal{S} as Circ(T,r,n)\mathrm{Circ}(T,r,n). We call TLTL as the left slope of the Conic Set and TRTR as the right slope of the Conic Set.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 14: The modified terminator gadgets

We use the Conic Set in the reduction for our problem. Now, we state the reduction of an X3C instance (n,𝔽)(n,\mathbb{F}) to an instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) of \ESMT. Later, we show that the instance will satisfy the desired properties on the number of terminals inside the convex hull of the terminal set.

Algorithm 𝒜\mathcal{A} for construction of an ESMT instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) from an X3C instance (n,𝔽)(n,\mathbb{F}):
  • Reduce the input X3C instance to the points configuration X(𝔽)X(\mathbb{F}) according to the reduction given in [6].

  • Modify the terminators Ω0\Omega_{0}, Ω1\Omega_{1}, and Ω2\Omega_{2} to as shown in Figure 14 and call them Ω0\Omega^{\prime}_{0}, Ω1\Omega^{\prime}_{1}, and Ω2\Omega^{\prime}_{2}. Let DQCPDQCP be the smallest axis-parallel rectangle bounding X(𝔽)X(\mathbb{F}) after modifying the terminators, where DD is the bottom leftmost point of Ω0\Omega^{\prime}_{0}.

  • Take α=1ϵ\alpha=\frac{1}{\epsilon}. Define r=ctα=𝒪(tα)r=ct^{\alpha}=\mathcal{O}(t^{\alpha}) and n=ctγα=𝒪(tγα)n^{\prime}=c^{\prime}t^{\gamma\alpha}=\mathcal{O}(t^{\gamma\alpha}), where t=|𝔽|t=|\mathbb{F}| and cc and cc^{\prime} are constants. Add the Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}), such that DD is the tip of the Conic Set, and the left slope DEDE makes an angle of 120120^{\circ} with DPDP. The right slope DFDF also makes an angle of 120120^{\circ} with DQDQ.

Refer to caption
Figure 15: The reduced instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon)

Now we prove a few properties of the constructed instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Lemma 5.11.

All the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) (according to Definition 5.10) lie on the convex hull of the reduced ESMT instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) constructed by Algorithm 𝒜\mathcal{A}, where ϵ(0,1]\epsilon\in(0,1].

Proof 5.12.

By the construction of Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) in Algorithm 𝒜\mathcal{A}, let 𝒞\mathcal{C} be the circle on which all the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) lie. If we draw a tangent to 𝒞\mathcal{C} at any of the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}), then all the remaining points in the configuration X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) lie towards one side of the tangent. We know that if we can find a line passing through a point such that all the other points in the plane lie on one side of the line, then the point lies on the convex hull of the points in the plane. Therefore, all the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) lie on the convex hull of the reduced instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Let us denote the convex hull of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) by CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)) and that of the points lying inside or on the bounding rectangle PDQC\mathrm{PDQC}, i.e. X(𝔽,ϵ)Circ(D,r,n)X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime}) by CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})).

Lemma 5.13.

The reduced ESMT instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) constructed by Algorithm 𝒜\mathcal{A} has Ω(Nϵ)\Omega(N^{\epsilon}) points inside the convex hull, where ϵ(0,1]\epsilon\in(0,1] and NN is the total number of terminals in X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Proof 5.14.

CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)) contains all the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) by Lemma 5.11. Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) contains n=𝒪(tγα)n^{\prime}=\mathcal{O}(t^{\gamma\alpha}) points.

Now we need to analyze the number of points on CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})). The remaining points in X(𝔽)X(\mathbb{F}), i.e. X(𝔽)CH(X(𝔽,ϵ)Circ(D,r,n))X(\mathbb{F})\setminus\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})) must lie within the convex hull of the entire construction, i.e. X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon). From the construction in Algorithm 𝒜\mathcal{A}, no point on the connecting rows can be a part of CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})) as there is no line passing through it, which contains all terminals on one side of it. The same thing holds for the square and hexagonal gadgets as well, except the hexagonal gadgets corresponding to the last element of the last set in the family, i.e. FtF_{t}. Thus, only the terminators and the hexagonal gadgets corresponding to the last element of FtF_{t} contribute points to CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})).

If we look at the arrangement of points in the terminators (modified as well as those left unchanged) and the hexagonal gadgets as shown in Figures 12 and 16, the convex hull of each of these gadgets consists of constantly many points. Therefore, the number of points each of these gadgets contribute to CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})) is bounded by some constant. The number of terminators is 6t+26t+2 and the number of hexagonal gadgets corresponding to the last element of FtF_{t} is at most 3n3n. Therefore, the number of points on CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})) is 𝒪(t+n)=𝒪(t)\mathcal{O}(t+n)=\mathcal{O}(t) as ntn\leq t.

The instance X(𝔽)X(\mathbb{F}) obtained via reduction from X3C has 6t+26t+2 terminators, tt squares, at most 9nt9nt crossovers (hexagonal gadgets), and 𝒪(nt)\mathcal{O}(nt) connecting rows of points. The number of gadgets is 𝒪(nt)\mathcal{O}(nt). Therefore, the total number of points in X(𝔽)X(\mathbb{F}) is Ω(nt)=ω(t)\Omega(nt)=\omega(t). The modified terminators result in a constantly many increase in the number of points. So, we have γ>1\gamma>1.

Thus, the number of points inside the convex hull is Ω(tγ)\Omega(t^{\gamma}) and those on the convex hull is 𝒪(tγα)\mathcal{O}(t^{\gamma\alpha}). So, the total number of terminals is N=𝒪(tγα)+𝒪(tγ)=𝒪(tγα)N=\mathcal{O}(t^{\gamma\alpha})+\mathcal{O}(t^{\gamma})=\mathcal{O}(t^{\gamma\alpha}), and those inside the convex hull is Ω(tγ)=Ω(N1/α)=Ω(Nϵ)\Omega(t^{\gamma})=\Omega(N^{1/\alpha})=\Omega(N^{\epsilon}) as α=1ϵ\alpha=\frac{1}{\epsilon}.

Refer to caption
Figure 16: The hexagonal gadget (crossover), the convex hull of the gadget is the quadrilateral abcd\rm abcd (taken from [6])

We further prove structural properties of SMTs of the reduced instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) when considering the modified gadgets Ω0\Omega^{\prime}_{0}, Ω1\Omega^{\prime}_{1}, and Ω2\Omega^{\prime}_{2}.

Lemma 5.15.

Consider an SMT 𝒮\mathcal{S}^{*} of the ESMT instance X(𝔽)X(\mathbb{F}) obtained via reduction from the X3C instance (n,𝔽)(n,\mathbb{F}) as per [6]. Consider a tree 𝒮\mathcal{S^{\prime}}^{*} on the terminal set of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) obtained from 𝒮\mathcal{S}^{*} as follows: Consider the modified terminator gadgets Ωi,i{0,1,2}\Omega^{\prime}_{i},\leavevmode\nobreak\ i\in\{0,1,2\} as in Algorithm 𝒜\mathcal{A}. For each i{0,1,2}i\in\{0,1,2\}, the edge BiOiB_{i}O_{i} is excluded from 𝒮\mathcal{S}^{*} and the edge DiOiD_{i}O_{i} is included to form 𝒮\mathcal{S^{\prime}}^{*}. 𝒮\mathcal{S^{\prime}}^{*} is an SMT for the terminal set of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Proof 5.16.

Consider 𝒮\mathcal{S}^{*}. Due to Lemma 4 of [6], Steiner points of 𝒮\mathcal{S}^{*} can only be connected to points in the triangular and square gadgets. Lemma 5 of [6] states that if there are two terminals x,yX(𝔽)x,y\in X(\mathbb{F}) and the distance between xx and yy does not exceed 110\frac{1}{10}, then (x,y)(x,y) is an edge of 𝒮\mathcal{S}^{*}. So in 𝒮\mathcal{S}^{*}, for each i{0,1,2}i\in\{0,1,2\} all the points on BiOiB_{i}O_{i} are joined together along BiOiB_{i}O_{i}. Lemma 5 of [6] also holds true on modifying the terminators to Ωi,i{0,1,2}\Omega^{\prime}_{i},\leavevmode\nobreak\ i\in\{0,1,2\}. Now, we join all the points on DiOiD_{i}O_{i} along DiOiD_{i}O_{i}. This gives us the SMT 𝒮\mathcal{S^{\prime}}^{*} for the terminal set of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Now we focus on the structure of the SMT of X(,ϵ)X^{\prime}(\mathcal{F},\epsilon). The SMT is basically the union of the SMT 𝒮\mathcal{S^{\prime}}^{*} of the points in the bounding rectangle PDQCPDQC as stated in Lemma 5.15 and the SMT of the set of points Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}).

CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})) is enclosed by the bounding rectangle PDQCPDQC and DD must lie on CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})). We label the vertices of CH(X(𝔽,ϵ)Circ(D,r,n))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)\setminus\mathrm{Circ}(D,r,n^{\prime})) as D,P1,P2,,PkD,P_{1},P_{2},\ldots,P_{k} in the counter-clockwise order. Let CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)) be the convex hull of all the points. By Lemma 5.11, all the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) lie on CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)). Let EPiEP_{i} and FPjFP_{j} be edges in CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)), such that Pi,PjCirc(D,r,n)P_{i},P_{j}\notin\mathrm{Circ}(D,r,n^{\prime}).

The SMT of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) clearly lies inside its convex hull, CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)). We show that the Steiner hull can be further restricted to the bounding rectangle PDQCPDQC and the convex polygon formed by the points in Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}). For this we use Theorem 1.5 in [9], as stated below.

Proposition 5.17.

[9] Let HH be a Steiner hull of NN. By sequentially removing wedges abc\rm abc from the remaining region, where a\rm a, b\rm b, c\rm c are terminals but abc\triangle{\rm abc} contains no other terminal, aa and cc are on the boundary and abc120\angle{\rm abc}\geq 120^{\circ}, a Steiner hull HH^{\prime} invariant to the sequence of removal is obtained.

Lemma 5.18.

The region comprising of the bounding rectangle PDQCPDQC according to Algorithm 𝒜\mathcal{A} and the convex polygon formed by the set of points Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) is a Steiner hull of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Proof 5.19.

Firstly, let us consider the wedge EPi+1PiEP_{i+1}P_{i}. All the points are terminals, EE and PiP_{i} are boundary points, and EPi+1Pi\triangle{EP_{i+1}P_{i}} contains no other terminal. Now, EPi+1Pi\angle{EP_{i+1}P_{i}} is greater than the exterior angle of EPi+1D\angle{EP_{i+1}D}, which in turn is greater than EDPi+1\angle{EDP_{i+1}}. EDPi+1EDP=120\angle{EDP_{i+1}}\geq\angle{\rm EDP}=120^{\circ}, by the construction. Therefore, EPi+1Pi120\angle{EP_{i+1}P_{i}}\geq 120^{\circ}. By applying Proposition 5.17, we can remove the wedge EPi+1PiEP_{i+1}P_{i} from the convex hull CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)) to get a smaller Steiner hull. This can be repeated for the wedges EPi+2Pi+1,EPi+3Pi+2,,EDPkEP_{i+2}P_{i+1},EP_{i+3}P_{i+2},\ldots,EDP_{k}. The same argument can also be used to get rid of the wedges FPj1Pj,FPj2Pj1,,FDP1FP_{j-1}P_{j},FP_{j-2}P_{j-1},\ldots,FDP_{1}. So, we get the final Steiner hull HH^{\prime} to be the union of the bounding rectangle PDQCPDQC and the convex polygon formed by the points in Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}).

Given the nature of the above Steiner hull, we show that we can treat X(𝔽)X(\mathbb{F}) and Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) separately.

Lemma 5.20.

There is an SMT of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) that is the union of an SMT of X(𝔽)X(\mathbb{F}) and an SMT of the points in Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}), with DD being common to both of them.

Proof 5.21.

According to Lemma 5.18, there is an SMT of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) that lies completely inside the the bounding quadrilateral PDQCPDQC and the convex polygon formed by Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}). These two regions have DD as the only common point. Therefore, DD is an articulation point in the tree and connects these two regions. So, we have this SMT of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) as the union of an SMT of X(𝔽)X(\mathbb{F}) and an SMT of the points in Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}).

We can identify a structure for an SMT of the points in Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) using [16].

Lemma 5.22.

There is an SMT of the points in Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) that is as shown in Figure 17. In the SMT, DD is connected to the two middle points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) via a Steiner point StS^{t}. The other points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) are connected along the circumference.

Proof 5.23.

The number of points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) is 𝒪(tγα)\mathcal{O}(t^{\gamma\alpha}). We can take the constant factor to be large enough so that |Circ(D,r,n)|>=12|\mathrm{Circ}(D,r,n^{\prime})|>=12. If we complete the regular polygon on 𝒞\mathcal{C} having Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) as a subset of its vertices, then it contains more than 1212 vertices and along with the centre DD has a SMT with structure given in [16].

Let the Steiner tree for Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) as shown in Figure 17 be denoted by 𝒯1\mathcal{T}_{1}. If this is not minimal, then there exists another Steiner tree 𝒯2\mathcal{T}_{2} such that |𝒯2|<|𝒯1||\mathcal{T}_{2}|<|\mathcal{T}_{1}|. Then we can replace 𝒯1\mathcal{T}_{1} by 𝒯2\mathcal{T}_{2} in the SMT of the regular polygon and its centre to get a shorter Steiner tree. This contradicts the minimality of the structure given in [16]. Therefore, the SMT of Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime}) follows the structure in Figure 17.

Refer to caption
Figure 17: SMT of Cone(D,r,n)\mathrm{Cone}(D,r,n^{\prime})

Finally, we prove the NP-hardness of \ESMTon f(n)f(n)-Almost Convex Sets of nn terminals, when f(n)=Ω(nϵ)f(n)=\Omega(n^{\epsilon}) for some ϵ(0,1]\epsilon\in(0,1].

Theorem 5.24.

Let 𝒮𝔽,ϵ\mathcal{S}^{*}_{\mathbb{F},\epsilon} denote an SMT of X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) and |𝒮𝔽,ϵ||\mathcal{S}^{*}_{\mathbb{F},\epsilon}| denote its length. If 𝔽\mathbb{F} has an exact cover, then |𝒮𝔽,ϵ|f(n,t,C^)+|𝒯1||\mathcal{S}^{*}_{\mathbb{F},\epsilon}|\leq f(n,t,\hat{C})+|\mathcal{T}_{1}|, otherwise |𝒮𝔽,ϵ|f(n,t,C^)+1200nt+|𝒯1||\mathcal{S}^{*}_{\mathbb{F},\epsilon}|\geq f(n,t,\hat{C})+\frac{1}{200nt}+|\mathcal{T}_{1}|, where C^\hat{C} is the number of crossovers, i.e. hexagonal gadgets, and ff is a positive real-valued function of n,t,C^n,t,\hat{C} as stated in Proposition 5.9.

Proof 5.25.

From Lemma 5.20, we have |𝒮𝔽,ϵ|=|𝒮|+|𝒯1||\mathcal{S}^{*}_{\mathbb{F},\epsilon}|=|\mathcal{S}^{*}|+|\mathcal{T}_{1}|. From Lemma 5.22, we can compute the length of 𝒯1\mathcal{T}_{1} as a function of tt, α\alpha, and γ\gamma. Finally, using Proposition 5.9 we get the required reduction.

Since it is not known if the ESMT problem is in NP, Garey et al. [6] show the NP-completeness of a related problem called the Discrete Euclidean Steiner Minimal Tree (DESMT) problem, which is in NP. We define the DESMT problem as given in [6]. The DESMT problem takes as input a set 𝒳\mathcal{X} of integer-coordinate points in the plane and a positive integer LL, and asks if there exists a set 𝒴𝒳\mathcal{Y}\supseteq\mathcal{X} of integer-coordinate points such that some spanning tree 𝒯\mathcal{T} for 𝒴\mathcal{Y} satisfies |𝒯|dL|\mathcal{T}|_{d}\leq L, where |𝒯|d=ΣeE(𝒯)e¯|\mathcal{T}|_{d}=\Sigma_{e\in E(\mathcal{T})}\lceil\overline{e}\rceil, i.e. we round up the length of each edge to the least integer not less than it.

In order to show that DESMT is NP-hard, the same reduction as that of the ESMT problem can be used, followed by scaling and rounding the coordinates of the points. Theorem 4 of [6] proves that the DESMT problem is NP-Complete. Moreover, since it is Strongly NP-Complete, the DESMT problem does not admit any FPTAS. Finally in Theorem 5 of [6], Garey et al. show that as a consequence, the ESMT problem does not have any FPTAS as well.

Now we show that the DESMT problem is NP-hard even on f(n)f(n)-Almost Convex Sets of nn terminals, when f(n)=Ω(nϵ)f(n)=\Omega(n^{\epsilon}) and where ϵ(0,1]\epsilon\in(0,1].

In Section 7 of [6], the reduced instance X(𝔽)X(\mathbb{F}) of ESMT is converted into an instance Xd(𝔽)X_{d}(\mathbb{F}) of DESMT. The conversion is as follows:
Xd(𝔽)={(12M200ntx1,12M200ntx2):x=(x1,x2)X(𝔽)}X_{d}(\mathbb{F})=\{(\lceil 12M\cdot 200nt\cdot x_{1}\rceil,\lceil 12M\cdot 200nt\cdot x_{2}\rceil):x=(x_{1},x_{2})\in X(\mathbb{F})\}, where M=|X(𝔽)|M=|X(\mathbb{F})|.

We apply a similar conversion to the reduced ESMT instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon), to convert it into a DESMT instance of an Ω(nϵ)\Omega(n^{\epsilon})-Almost Convex Set. The conversion goes as follows:
Xd(𝔽,ϵ)={(12N200ntx1,12N200ntx2):x=(x1,x2)X(𝔽,ϵ)}X^{\prime}_{d}(\mathbb{F},\epsilon)=\{(\lceil 12N\cdot 200nt\cdot x_{1}\rceil,\lceil 12N\cdot 200nt\cdot x_{2}\rceil):x=(x_{1},x_{2})\in X^{\prime}(\mathbb{F},\epsilon)\}, where N=|X(𝔽,ϵ)|N=|X^{\prime}(\mathbb{F},\epsilon)|.

The next two lemmas establish the validity of Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) as an instance of DESMT and the upper bounds on the size of the constructed instance. Note that the reduction from X3C followed by the conversion can be done in polynomial time.

Lemma 5.26.

The instance Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) constructed above is a valid DESMT instance.

Proof 5.27.

All the points in Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) have integer coordinates according to the conversion stated above. So, it is a DESMT instance.

Lemma 5.28.

The reduced DESMT instance Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) has NN distinct points, where N=|X(𝔽,ϵ)|N=|X^{\prime}(\mathbb{F},\epsilon)|.

Proof 5.29.

The minimum distance between any two points in X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) is that between two consecutive points of Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}), which is 𝒪(1tγ)\mathcal{O}(\frac{1}{t^{\gamma}}). Recall Lemma 5.13 which establishes that N=𝒪(tγα)N=\mathcal{O}(t^{\gamma\alpha}). So, the minimum distance between any two points in Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) is 𝒪(Nnt1tγ)=𝒪(ntα+1)\mathcal{O}(N\cdot nt\cdot\frac{1}{t^{\gamma}})=\mathcal{O}(nt^{\alpha+1}). Because of the substantial distance obtained between points after scaling, the rounding will not cause any distinct points of Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) to coincide. Therefore, the number of points remains unchanged, i.e. |Xd(𝔽,ϵ)|=|X(𝔽,ϵ)|=N|X^{\prime}_{d}(\mathbb{F},\epsilon)|=|X^{\prime}(\mathbb{F},\epsilon)|=N.

Now we present the following lemma for the constructed DESMT instance Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) analogous to Lemma 5.13 for the ESMT instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon).

Lemma 5.30.

The reduced DESMT instance Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) constructed is an Ω(Nϵ)\Omega(N^{\epsilon})-Almost Convex Set, where N=|Xd(𝔽,ϵ)|N=|X^{\prime}_{d}(\mathbb{F},\epsilon)|.

Proof 5.31.

From Lemma 5.13, we know that the reduced ESMT instance X(𝔽,ϵ)X^{\prime}(\mathbb{F},\epsilon) has Ω(Nϵ)\Omega(N^{\epsilon}) points inside its convex hull CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)), and N=|X(𝔽,ϵ)|N=|X^{\prime}(\mathbb{F},\epsilon)|. The number of points after conversion remains the same by Lemma 5.28. We need to show that after conversion, except for the points of 𝒪(t)\mathcal{O}(t) gadgets, no other points inside the convex hull CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)) lie on the new convex hull CH(Xd(𝔽,ϵ))\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon)). The number of points in each of the 𝒪(t)\mathcal{O}(t) anomalous gadgets are constant in number, and hence not too many points from the interior of CH(X(𝔽,ϵ))\mathrm{CH}(X^{\prime}(\mathbb{F},\epsilon)) can lie on CH(Xd(𝔽,ϵ))\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon)).

After conversion, all the points on a horizontal connecting row have the same yy-coordinate, as they initially had the same yy-coordinate and therefore undergo the same transformation. Thus, all the points on a horizontal connecting row still lie on a horizontal line segment in Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon). Similarly, all the points on a vertical connecting row still lie on a vertical line segment in Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon). This implies that none of the points on the connecting rows can be a part of CH(Xd(𝔽,ϵ))\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon)) as there can be no line passing through them that also contains all terminal points on one side of it.

The same thing holds for the square and hexagonal gadgets (crossovers) as well, except the hexagonal gadgets placed at the beginning or end of any row. This is because all the points which are a part of these square and hexagon gadgets are surrounded by connecting row points all four sides, above, below, left and right. So again, only the terminators and the hexagonal gadgets appearing at the beginning or end of any row contribute to CH(Xd(𝔽,ϵ))\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon)).

Now, since we had adjusted the number of points in the long rows of the terminators and hexagonal gadgets such that their lengths and breadths are some constants, the number of points in each of the terminators and hexagonal gadgets can be bounded by some constant as the minimum distance between any two consecutive points on the long rows or standard rows is at least 111\frac{1}{11}. Therefore, each of these gadgets contribute some constantly many points to CH(Xd(𝔽,ϵ))\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon)).

As we have seen in Lemma 5.13, the number of terminators is 6t+26t+2 and the number of hexagonal gadgets corresponding to the beginning or end of any row is at most 6n6n. Therefore, the number of points contributed by the terminators and the hexagonal gadgets placed at the beginning or the end of any row, to CH(Xd(𝔽,ϵ)\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon) is 𝒪(t+n)=𝒪(t)\mathcal{O}(t+n)=\mathcal{O}(t), as ntn\leq t. Even if all the points in Circ(D,r,n)\mathrm{Circ}(D,r,n^{\prime}) lie on the new convex hull CH(Xd(𝔽,ϵ)\mathrm{CH}(X^{\prime}_{d}(\mathbb{F},\epsilon), we have Ω(tγ)=Ω(Nϵ)\Omega(t^{\gamma})=\Omega(N^{\epsilon}) points inside it. Thus we are done.

We get the following theorem from Lemmas 5.26, 5.28 and 5.30.

Theorem 5.32.

The instance Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) constructed is a valid DESMT instance on an Ω(Nϵ)\Omega(N^{\epsilon})-Almost Convex Set, where |Xd(𝔽,ϵ)|=|X(𝔽,ϵ)|=N|X^{\prime}_{d}(\mathbb{F},\epsilon)|=|X^{\prime}(\mathbb{F},\epsilon)|=N.

Following Theorems 3 and 4 in [6], we get that the DESMT problem is NP-Complete for Ω(Nϵ)\Omega(N^{\epsilon})-Almost Convex Sets, where NN is the total number of terminals. Since we get the reduced instance Xd(𝔽,ϵ)X^{\prime}_{d}(\mathbb{F},\epsilon) from the X3C instance (n,𝔽)(n,\mathbb{F}), the DESMT problem is strongly NP-complete for Ω(Nϵ)\Omega(N^{\epsilon})-Almost Convex Sets, and does not admit any FPTAS.

Using Theorem 5 of [6], we get that if the ESMT problem has an FPTAS, then the X3C problem can be solved in polynomial time. The Theorem also applies for our case of Ω(Nϵ)\Omega(N^{\epsilon})-Almost Convex Sets. Therefore, we get the following theorem,

Theorem 5.33.

There does not exist any FPTAS for the ESMT problem on f(n)f(n)-Almost Convex Sets of nn terminals, where f(n)=Ω(nϵ)f(n)=\Omega(n^{\epsilon}) and ϵ(0,1]\epsilon\in(0,1], unless P=NP\mbox{P}=\mbox{NP}.

6 Conclusion

In this paper, we first study ESMT on vertices of 22-CPR nn-gons and design a polynomial time algorithm. It remains open to design a polynomial time algorithm for ESMT on kk-CPR nn-gons, or show NP-hardness for the problem. Next, we study the problem on f(n)f(n)-Almost Convex Sets of nn terminals. For this NP-hard problem, we obtain an algorithm that runs in 2𝒪(f(n)logn)2^{\mathcal{O}(f(n)\log n)} time. We also design an FPTAS when f(n)=𝒪(logn)f(n)=\mathcal{O}(\log n). On the other hand, we show that there cannot be an FPTAS if f(n)=Ω(nϵ)f(n)=\Omega(n^{\epsilon}) for any ϵ(0,1]\epsilon\in(0,1], unless P=NP\mbox{P}=\mbox{NP}. The question of existence of FPTASes when f(n)f(n) is a polylogarithmic function remains open.

References

  • [1] Sanjeev Arora. Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems. Journal of the ACM (JACM), 45(5):753–782, 1998.
  • [2] Marcus Brazil, Ronald L Graham, Doreen A Thomas, and Martin Zachariasen. On the history of the Euclidean Steiner tree problem. Archive for history of exact sciences, 68(3):327–354, 2014.
  • [3] EJ Cockayne. On the Steiner problem. Canadian Mathematical Bulletin, 10(3):431–450, 1967.
  • [4] Stuart E Dreyfus and Robert A Wagner. The Steiner problem in graphs. Networks, 1(3):195–207, 1971.
  • [5] Ding-Zhu Du, Frank K. Hwang, and JF Weng. Steiner minimal trees for regular polygons. Discrete & Computational Geometry, 2(1):65–84, 1987.
  • [6] Michael R Garey, Ronald L Graham, and David S Johnson. The complexity of computing Steiner minimal trees. SIAM Journal on Applied Mathematics, 32(4):835–859, 1977.
  • [7] Michael R Garey and David S Johnson. Computers and intractability, volume 174. freeman San Francisco, 1979.
  • [8] FK Hwang. A linear time algorithm for full Steiner trees. Operations Research Letters, 4(5):235–237, 1986.
  • [9] FK Hwang, DS Richards, and P Winter. The Steiner tree problem. Annals of Discrete Mathematics series, vol. 53, 1992.
  • [10] Sándor Kisfaludi-Bak, Jesper Nederlof, and Karol Węgrzycki. A gap-ETH-tight approximation scheme for Euclidean TSP. In 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS), pages 351–362. IEEE, 2022.
  • [11] Zdzislaw Alexander Melzak. On the problem of Steiner. Canadian Mathematical Bulletin, 4(2):143–148, 1961.
  • [12] Satish B Rao and Warren D Smith. Approximating geometrical graphs via “spanners” and “banyans”. In Proceedings of the thirtieth annual ACM symposium on Theory of computing, pages 540–550, 1998.
  • [13] J Hyam Rubinstein, Doreen A Thomas, and Nicholas C Wormald. Steiner trees for terminals constrained to curves. SIAM Journal on Discrete Mathematics, 10(1):1–17, 1997.
  • [14] J Scott Provan. Convexity and the Steiner tree problem. Networks, 18(1):55–72, 1988.
  • [15] Michael Ian Shamos and Dan Hoey. Closest-point problems. 16th Annual Symposium on Foundations of Computer Science (sfcs 1975), pages 151–162, 1975.
  • [16] Jia Feng Weng and Raymond Sydney Booth. Steiner minimal trees on regular polygons with centre. Discrete Mathematics, 141(1-3):259–274, 1995.