Skip to main content

Combination Algorithms for Steiner Tree Variants

Abstract

We give better approximation ratios for two Steiner Tree variants by combining known algorithms: the optimum \(\mathbf{3}\)-decomposition and iterative randomized rounding. The first problem is Steiner Tree with minimum number of Steiner points and bounded edge length problem (\({\varvec{SMT-MSP}}\)). The input consists of a set of terminals \({\varvec{R}}\) in the Euclidean space \({\mathbb {R}}^{\mathbf{2}}\). A feasible solution is a Steiner tree \({\varvec{\tau }}\) spanning \({\varvec{R}}\) with Steiner points \({\varvec{S}}\) such that every edge in \({\varvec{\tau }}\) has length at most \(\mathbf{1}\). The objective is to minimize \(\mathtt{S}\). Previously, the best approximation ratio for \({\varvec{SMT-MSP}}\) was \(\mathbf{1} +\)ln\((\mathbf{4}) + {\varvec{\epsilon }} \approx \mathbf{2.386}\). We present a polynomial time algorithm with ratio \(\mathbf{2.277}\). The second problem is Steiner Tree in quasi-bipartite graphs. It is a Steiner Tree problem on graph \({\varvec{G}}=({\varvec{V}},{\varvec{E}},{\varvec{c}})\) with terminal set \({\varvec{R}}\) when the edge set \({\varvec{E}}\) does not include any edge between two vertices in \({\varvec{V}} \setminus {\varvec{R}}\). The best-known approximation ratio for this problem is \( \frac{\mathbf{73}}{\mathbf{60}}\), We improve this ratio to \(\frac{\mathbf{298}}{\mathbf{245}}\).

This is a preview of subscription content, access via your institution.

References

  1. Jarník, V., Kössler, M.: O minimálních grafech, obsahujících \( n \) danỳch bodů. Časopis pro pěstování matematiky a fysiky 63(8), 223–235 (1934)

    Article  Google Scholar 

  2. Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of Computer Computations, pp. 85–103. Springer, New York (1972)

    MATH  Google Scholar 

  3. Dreyfus, S.E., Wagner, R.A.: The Steiner problem in graphs. Networks 1(3), 195–207 (1971)

    MathSciNet  Article  Google Scholar 

  4. Hakimi, S.L.: Steiner’s problem in graphs and its implications. Networks 1(2), 113–133 (1971)

    MathSciNet  Article  Google Scholar 

  5. Kou, L., Markowsky, G., Berman, L.: A fast algorithm for Steiner trees. Acta Informatica 15(2), 141–145 (1981)

    MathSciNet  Article  Google Scholar 

  6. Zelikovsky, A.: An 11/6-approximation algorithm for the network Steiner problem. Algorithmica 9(5), 463–470 (1993). https://doi.org/10.1007/BF01187035

    MathSciNet  Article  MATH  Google Scholar 

  7. Berman, P., Ramaiyer, V.: Improved approximations for the Steiner tree problem. JALG 17, 381–408 (1994)

    MathSciNet  MATH  Google Scholar 

  8. Karpinski, M., Zelikovsky, A.: New approximation algorithms for the Steiner tree problems. Electronic Colloquium on Computational Complexity (ECCC) 2(030) (1995)

  9. Prömel, H.J., Steger, A.: A new approximation algorithm for the Steiner tree problem with performance ratio 5/3. J. Algorithms 36, 89–101 (2000)

    MathSciNet  Article  Google Scholar 

  10. Hougardy, S., Prömel, H.J.: A 1.598 approximation algorithm for the Steiner problem in graphs. In: Proceedings of the Tenth Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 448–453 (1999)

  11. Robins, G., Zelikovsky, A.: Tighter bounds for graph Steiner tree approximation. SIAM J. Discret. Math. 19(1), 122–134 (2005)

    MathSciNet  Article  Google Scholar 

  12. Byrka, J., Grandoni, F., Rothvoss, T., Sanità, L.: Steiner tree approximation via iterative randomized rounding. J. ACM 60(1), 6–1633 (2013). https://doi.org/10.1145/2432622.2432628

    MathSciNet  Article  MATH  Google Scholar 

  13. Zelikovsky, A.: A series of approximation algorithms for the acyclic directed Steiner tree problem. Algorithmica 18(1), 99–110 (1997)

    MathSciNet  Article  Google Scholar 

  14. Charikar, M., Chekuri, C., Cheung, T.-Y., Dai, Z., Goel, A., Guha, S., Li, M.: Approximation algorithms for directed Steiner problems. J. Algorithms 33(1), 73–91 (1999)

    MathSciNet  Article  Google Scholar 

  15. Klein, P., Ravi, R.: A nearly best-possible approximation algorithm for node-weighted Steiner trees. J. Algorithms 19, 104–115 (1995)

    MathSciNet  Article  Google Scholar 

  16. Guha, S., Khuller, S.: Improved Methods for Approximating Node Weighted Steiner Trees and Connected Dominating Sets. Inf. Comput. 150, 57–74 (1999)

    MathSciNet  Article  Google Scholar 

  17. Garg, N., Konjevod, G., Ravi, R.: A polylogarithmic approximation algorithm for the group Steiner tree problem. J. Algorithms 37(1), 66–84 (2000)

    MathSciNet  Article  Google Scholar 

  18. Chekuri, C., Even, G., Kortsarz, G.: A greedy approximation algorithm for the group Steiner problem. Discret. Appl. Math. 154(1), 15–34 (2006)

    MathSciNet  Article  Google Scholar 

  19. Iwata, S., Kobayashi, Y.: A weighted linear matroid parity algorithm. SIAM J. Comput. 51(2), 238–280 (2022)

  20. Camerini, P.M., Galbiati, G., Maffioli, F.: Random pseudo-polynomial algorithms for exact matroid problems. JALG 13, 258–273 (1992)

    MathSciNet  MATH  Google Scholar 

  21. Wolsey, L.A.: Analysis of the greedy algorithm for the submodular set covering problem. Combinatorica 2, 385–392 (1982)

    MathSciNet  Article  Google Scholar 

  22. Baudis, G., Gropl, C., Hougardy, S., Nierhoff, T., Prömel, H.J.: Approximating minimum spanning sets in hypergraphs and polymatroids. In: ICALP (2000)

  23. Zelikovsky, A.: Better approximation bounds for the network and Euclidean Steiner tree problems. Technical Report CS-96-06, Department of Computer Science, University of Virginia (1996)

  24. Goemans, M.X., Olver, N., Rothvoß, T., Zenklusen, R.: Matroids and integrality gaps for hypergraphic Steiner tree relaxations. In: STOC, pp. 1161–1176 (2012)

  25. Lin, G.-H., Xue, G.: Steiner tree problem with minimum number of Steiner points and bounded edge-length. Inf. Process. Lett. 69(2), 53–57 (1999). https://doi.org/10.1016/S0020-0190(98)00201-4

    MathSciNet  Article  MATH  Google Scholar 

  26. Mandoiu, I.I., Zelikovsky, A.Z.: A note on the MST heuristic for bounded edge-length Steiner trees with minimum number of Steiner points. Inf. Process. Lett. 75(4), 165–167 (2000). https://doi.org/10.1016/S0020-0190(00)00095-8

    MathSciNet  Article  MATH  Google Scholar 

  27. Chen, D., Du, D.-Z., Hu, X.-D., Lin, G.-H., Wang, L., Xue, G.: Approximations for Steiner trees with minimum number of Steiner points. Theoret. Comput. Sci. 262(1–2), 83–99 (2001). https://doi.org/10.1016/S0304-3975(00)00182-1

    MathSciNet  Article  MATH  Google Scholar 

  28. Cheng, X., Du, D.-Z., Wang, L., Xu, B.: Relay sensor placement in wireless sensor networks. Wireless Netw. 14(3), 347–355 (2008). https://doi.org/10.1007/s11276-006-0724-8

    Article  Google Scholar 

  29. Cohen, N., Nutov, Z.: Approximating Steiner trees and forests with minimum number of Steiner points. J. Comput. Syst. Sci. 98, 53–64 (2018)

    MathSciNet  Article  Google Scholar 

  30. Nutov, Z., Yaroshevitch, A.: Wireless network design via 3-decompositions. Inf. Process. Lett. 109(19), 1136–1140 (2009). https://doi.org/10.1016/j.ipl.2009.07.013

    MathSciNet  Article  MATH  Google Scholar 

  31. Rajagopalan, S., Vazirani, V.V.: On the bidirected cut relaxation for the metric Steiner tree problem. In: SODA, vol. 99, pp. 742–751 (1999)

  32. Du, D.-Z., Zhang, Y.: On better heuristics for Steiner minimum trees. Math. Program. 57(1), 193–202 (1992). https://doi.org/10.1007/BF01581080

    MathSciNet  Article  MATH  Google Scholar 

  33. Borchers, A., Du, D.-Z.: The k-Steiner ratio in graphs. SIAM J. Comput. 26(3), 857–869 (1997)

    MathSciNet  Article  Google Scholar 

  34. Goemans, M.X., Williamson, D.P.: New \(3/4\)-approximation algorithms for the maximum satisfiability problem. SIAM J. on Discrete Mathematics 7, 656–666 (1994)

    MathSciNet  Article  Google Scholar 

  35. Lawler, E.L.: Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York (1976)

    MATH  Google Scholar 

  36. Gabow, H.N.: Implementation of algorithms for maximum matching on nonbipartite graphs. PhD thesis, Stanford, CA, USA (1974). AAI7413628

  37. Edmonds, J., Johnson, E.L.: Matching: A well-solved class of integer linear programs, Combinatorial Structures and their Applications (Proc. Calgary Internat., Calgary, Alta., 1969). Gordon and Breach, New York (1970)

  38. Lovász, L., Plummer, M.D.: Matching Theory. North-Holland, Amsterdam-New York (1986)

    MATH  Google Scholar 

  39. Grandoni, F.: On min-power Steiner tree. In: European Symposium on Algorithms, pp. 527–538 (2012). Springer

Download references

Acknowledgements

Gruia would like to thank Neil Olver for discussions on the IRR method.

Funding

No funding was received for conducting this study.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gruia Călinescu.

Ethics declarations

Conflict of interest

The authors declare that they have no financial interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A Proof of Lemma 11

Appendix A Proof of Lemma 11

We prove Lemma 11 by contradiction, and we want to show that there is always at least one terminal within Euclidean distance 1 to both Steiner points or within Euclidean distance 1 to another terminal (which makes this full component not cheerful anymore). For intuition, look at the following extreme case with 8 terminals and 2 Steiner points in Fig. 1. Each terminal is at distance exactly 1 to the Steiner point it is connected to, and at distance exactly 1 to two other terminals (so it is not cheerful). Our proof modifies any given cheerful component with 8 terminals and 2 Steiner points towards this extreme case while keeping the component being cheerful.

Fig. 1
figure 1

An extreme case with 8 terminals and 2 Steiner points. Each terminal is at distance exactly 1 to the Steiner point it is connected to, and at distance exactly 1 to two other terminals

Assume that we have a cheerful component as in Fig. 2, it has 8 terminals \((t_1\) to \(t_8\)) and 2 Steiner points \((s_1\) and \(s_2)\). More precisely, if we traverse counterclockwise the embedding of this cheerful component we will have the following closed trail: \(t_1, s_1, t_2, s_1, s_2,t_3,s_2,t_4,s_2,t_5,s_2,t_6,s_2,s_1,t_7,s_1,t_8,s_1,t_1\).

An edge between points a and b in Fig. 2 represents that distance \(d(a,b) \le 1\); and distance \(d(a,b)>1\) if there is no edge between points a and b. For each pair of terminals \(t_i, t_j\) adjacent to the same Steiner point s, by applying law of cosines to triangle \(\triangle t_ist_j\) with \(d(s,t_i) \le 1\), \(d(s,t_j) \le 1\) and \(d(t_1,t_j) > 1\), we have \(\angle t_i s t_j > 60^\circ \). Note that, any angle \(\angle abc\) mentioned in this paper is referred to the one that formed by line segment \(\overline{b,a}\) rotating around b to meet line segment \(\overline{b,c}\). An angle is positive if the rotation of line segment \(\overline{b,a}\) to \(\overline{b,c}\) is clockwise, and is negative if this rotation is counter clockwise; and \( \vert \angle abc \vert \le 180^\circ \). We say a point c is on the right (left) side of oriented line segment \(\overline{b,a}\) if and only if \(\angle abc >0\) (\(\angle abc <0\)).

For Steiner point \(s_1\), if at least 3 terminals adjacent to it are on the same side of straight line \(s_1s_2\) and let t be the one closest to \(s_2\) among these terminals, then \(\angle s_2s_1t < 60^\circ \); and by law of cosines applied to triangle \(\triangle ts_2s_1\) with \(d(s_1,s_2) \le 1\),\(d(s_1,t) \le 1\) and \(\angle s_2s_1t < 60^\circ \), we have \(d(s_2, t) \le 1\), then we finish the proof. So from here on, we only consider the situation that there are exactly 2 terminals adjacent to each Steiner point on each side of straight line \(s_1s_2\).

Fig. 2
figure 2

Example of cheerful component with 2 Steiner points and 8 terminals

We can modify the locations of some points by modifying some of the edges as follows, while the Euclidean distance between any pair of points without an edge is still greater than 1.

  • Extend edge \((s_1,s_2)\) so that \(d(s_1,s_2) = 1\) while the location of \(s_1\) is fixed and the embedding of subgraph induced by \(s_2\) and all terminals adjacent to \(s_2\) is fixed.

  • Extend edges \((s_1,t_1), (s_1,t_8), (s_2,t_4),\) and \((s_2,t_5)\) so that the length of each of these edges is exactly 1.

Fig. 3
figure 3

Modified cheerful component with 2 Steiner points and 8 terminals. We have \(d(s_1,s_2) = d(s_1,t_1) = d(s_1,t_8) =d(s_2,t_4) = d(s_2,t_5) = 1\)

We get a graph as in Fig. 3 after the modification. Denote two points on straight line \(s_1s_2\) as a and b such that line segment \(\overline{s_1,s_2} \subset \overline{a,b}\). Since \(\angle t_1s_1t_8\) and \(\angle t_5s_2t_4\) are both greater than \(60^\circ \), at least one of the following two values is greater than \(60^\circ \): \(\angle t_1s_1a + \angle bs_2t_4\) and \(\angle as_1t_8 + \angle t_5s_2b\). Without loss of generality, we assume that \(\angle t_1s_1a + \angle bs_2t_4 > 60^\circ \). A special case is that \(\angle t_1s_1a \ge 60^\circ \) or \(\angle bs_2t_4\ge 60^\circ \). If \(\angle t_1s_1a \ge 60^\circ \), then \(\angle s_2s_1t_1 \le 120^\circ \). Since point \(t_2\) is in the angle \(\angle s_2s_1t_1\), and \(\angle t_2s_1t_1 > 60^\circ \), we have that \(\angle s_2s_1t_2 < 60^\circ \). Applying law of cosines to triangle \(\triangle s_2s_1t_2\) with \(d(s_1,s_2) = 1\), \(d(s_1,t_2) \le 1\), we have \(d(t_2,s_2) \le 1\), and then we finish the proof. Similarly, if \(\angle bs_2t_4 \ge 60^\circ \), we can also finish the proof. So from here on, we only consider that case that \(\angle t_1s_1a < 60^\circ \) and \(\angle bs_2t_4 < 60^\circ \). Remind that, \(\angle t_2s_1t_1 > 60^\circ \) and \(\angle t_4s_2t_3 > 60^\circ \). Thus, in this case, we have that \(\angle s_2s_1t_2 + \angle t_3s_2s_1 = (180^\circ - \angle t_1s_1a - \angle t_2s_1t_1) + (180^\circ - \angle bs_2t_4 - \angle t_4s_2t_3)= 360^\circ - \angle t_2s_1t_1 - \angle t_4s_2t_3 - (\angle t_1s_1a + \angle bs_2t_4)< 360^\circ - 60^\circ -60^\circ -60^\circ = 180^\circ \).

We further modify the graph by extending the length of one of the edges \((s_1,t_2)\) and \((s_2, t_3)\) to exactly 1. To make sure that we will not shorten the distance between \(t_2\) and \(t_3\) by this modification, we look at the relation between these two terminals. Note that, \(\angle s_2s_1t_2 > 60^\circ \) and \(\angle t_3s_2s_1 > 60^\circ \). Otherwise, applying law of cosines to triangles \(\triangle s_2s_1t_2\) and \(\triangle t_3s_2s_1\) respectively, we have that \(d(s_2, t_2) \le 1\) or \(d(s_1,t_3) \le 1\), then we finish the proof. With \(d(s_1,t_2) \le 1\) and \(d(s_2,t_3) \le 1\), we do not have a case that line segments \(\overline{s_1,t_2}\) and \(\overline{s_2,t_3}\) intersect.

Let \(p_2\) be the projection of \(t_2\) on straight line \(s_2t_3\), and let \(p_3\) be the projection of \(t_3\) on straight line \(s_1t_2\). If either \(p_2\) and \(t_2\) are on different sides of straight line \(s_1s_2\) or \(p_3\) and \(t_3\) are on different sides of straight line \(s_1s_2\), then we show that either \(d(s_1,t_3) <1\) or \(d(s_2,t_2) <1\), and we can finish the proof. Without loss of generality, let \(t_3\) and \(p_3\) be on different sides of straight line \(s_1s_2\) (as shown in Fig. 4), then we show that \(d(s_1,t_3) <1\). In this case, we have \(\angle t_3s_1t_2 \ge 90^\circ \) or else \(p_3\) and \(t_3\) will be on the same side of straight line \(s_1s_2\). Since \(\angle s_2s_1t_2 + \angle t_3s_2s_1 < 180^\circ \), we have that \(\angle t_3s_2s_1 + \angle s_2s_1t_3 < 180^\circ - 90^\circ = 90^ \circ \) and \(\angle s_1t_3s_2 >90^\circ \). Applying law of sines to triangle \(\triangle s_2s_1t_3\) with \(\angle s_1t_3s_2 > \angle t_3s_2s_1\), we have \(d(s_1,t_3) < d(s_1,s_2) = 1\). From here on, we only consider the case that both \(p_2, p_3\) are on the same side of straight line \(s_1s_2\) as \(t_2\) and \(t_3\).

Fig. 4
figure 4

The case that \(p_3\) and \(t_3\) are on the same side of \(p_3\) on straight line \(s_1s_2\)

If \(s_1\), \(t_2\) are on the same side of \(p_3\) on straight line \(s_1t_2\), and \(s_2\), \(t_3\) are on the same side of \(p_2\) on straight line \(s_2t_3\) (as shown in Fig. 5), then we show that \(d(t_2,t_3) \le 1\), and we can finish the proof. Through each of point \(s_1\) and point \(s_2\) draw straight lines parallel to straight line \(t_2t_3\). At least one of these two straight lines intersects both line segments \(\overline{s_1,t_2}\) and \(\overline{s_2,t_3}\). Without loss of generality, we assume that straight line \(ss_2\) intersects \(\overline{s_1,t_2}\) at s and intersects \(\overline{s_2,t_3}\) at \(s_2\). Since \(\angle s_2s_1t_2 + \angle t_3s_2s_1<180^\circ \) and line segments \(\overline{s_1,t_2}\), \(\overline{s_2,t_3}\) do not intersect, we have \(d(s,s_2) \ge d(t_2,t_3)\). Let p be the projection of \(s_2\) on straight line \(s_1t_2\). Since line segments \(\overline{s_2,p}\), \(\overline{t_3,p_3}\) are parallel, and line segments \(\overline{s_2,s}\), \(\overline{t_3,t_2}\) are parallel, it is easy to see that \(s_1\) and s are on the same side of p on straight line \(s_1t_2\), and \(d(p,s) \le d(p,s_1)\). Therefore \(d(s,s_2) \le d(s_1,s_2)\). Thus, we have \(1 = d(s_1,s_2) \ge d(s,s_2) \ge d(t_2,t_3)\). From here on, we only consider the case that either \(s_1\) and \(t_2\) are on different sides of \(p_3\) on straight line \(s_1t_2\) or \(s_2\) and \(t_3\) are on different sides of \(p_2\) on straight line \(s_2t_3\).

Fig. 5
figure 5

The case that \(s_1\), \(t_2\) are on the same side of \(p_3\) on straight line \(s_1t_2\), and \(s_2\), \(t_3\) are on the same side of \(p_2\) on straight line \(s_2t_3\). Line segments \(\overline{s_2,p}\) and \(\overline{t_3,p_3}\) are parallel. Line segments \(\overline{s_2,s}\) and \(\overline{t_3,t_2}\) are parallel

Without loss of generality, we assume that \(s_2\) and \(t_3\) are on different sides of \(p_2\) on straight line \(s_2t_3\) (as shown in Fig. 6). We extend edge \((s_2,t_3)\) so that \(d(s_2,t_3) =1\). Since we move \(t_3\) farther from \(p_2\) along line \(s_2t_3\), the distance between \(t_2\) and \(t_3\) does not get smaller. Remind that, \(\angle t_4s_2t_3 > 60^\circ \) and \(\angle t_3s_2s_1 > 60^\circ \). Applying law of cosines to triangle \(\triangle t_4s_2t_3\) with \(d(s_2,t_3) = d(s_2,t_4) = 1\) and \(\angle t_4s_2t_3 > 60^\circ \), and applying law of cosines to triangle \(\triangle t_3s_2s_1\) with \(d(s_2,t_3) = d(s_1,t_2) = 1\) and \(\angle t_3s_2s_1 > 60^\circ \), we still have that \(d(t_3,t_4) >1\) and \(d(s_1,t_3) > 1\).

In the rest of this proof, we will show that at least one of the three following distances is within 1: \(d(t_2, s_2), d(t_1,t_2)\), and \(d(t_2,t_3)\). Here we list some information of the graph that we already proved in the current case. We can use this information in the rest of the proof.

  • \(d(s_1,s_2) = d(s_1,t_1) = d(s_2,t_3) = d(s_2,t_4) = 1\).

  • \(d(s_1,t_2) \le 1\).

  • \(\angle t_2s_1t_1 > 60^\circ \) and \(\angle t_4s_2t_3 > 60^\circ \).

  • \(\angle s_2s_1t_2 > 60^\circ \) and \(\angle t_3s_2s_1 > 60^\circ \).

  • \(\angle t_1s_1a + \angle bs_2t_4 > 60^\circ \).

  • \(\angle t_1s_1a < 60^\circ \) and \(\angle bs_2t_4 < 60^\circ \).

  • \(\angle s_2s_1t_2 + \angle t_3s_2s_1<180^\circ \).

Fig. 6
figure 6

The case that \(s_2\) and \(t_3\) are on different sides of \(p_2\) on straight line \(s_2t_3\). In this case, if we extend edge \((s_2,t_3)\) so that \(d(s_2,t_3) =1\), we still have that \(d(t_3,t_4) >1\), and we will not shorten the distance between \(t_2\) and \(t_3\)

Denote the circle centered at point d with radius 1 as C(d). Let \(C(s_2)\) and \(C(t_3)\) intersect on the left of line segment \(\overline{t_3,s_2}\) at point z, then triangle \(\triangle zt_3s_2\) is an equilateral triangle. Let point x be on the right side of line segment \(\overline{s_1,s_2}\) with \(\overline{s_1,x}\) parallel with \(\overline{s_2,t_3}\) and \(d(s_1,x)\) = 1. The locations of points z and x are illustrated in Fig. 7. Since \(d(s_1,x) = d(s_1,s_2) = d(s_2,t_3)\) and line segments \(\overline{s_1,x}\) and \(\overline{s_2,t_3}\) are parallel, the quadrilateral \(s_1xt_3s_2\) is a rhombus. Remind that \(\angle s_2s_1t_2 + \angle t_3s_2s_1<180^\circ \). Since \(\angle s_2s_1x + \angle t_3s_2s_1 = 180^\circ \), we have that \(t_2\) is in the angle \(\angle s_2s_1x\). Since \(t_2\) is outside of circles \(C(t_3)\) and \(C(s_2)\), we have that \(t_2\) is inside of triangle \(\triangle xzs_1\).

Fig. 7
figure 7

Locations of points z and x. Each solid line segment in the figure has length exactly 1

In the rest of this proof, we will show that \(d(t_1,x) \le 1\) and \(d(t_1,z) \le 1\). Since \(t_2\) is a convex combination of \(s_1, x\) and z, after this proof, together with the fact that \(d(t_1,s_1) = 1\), we have that \(d(t_1,t_2) \le 1\), and then we can finish the proof of Lemma 11.

Firstly, in this paragraph we show that \(d(t_1,x) \le 1\). Remind that, \(\angle t_4s_2t_3 > 60^\circ \), \(\angle t_1s_1a + \angle bs_2t_4 > 60^\circ \) and \(\angle s_2s_1x + \angle t_3s_2s_1 = 180^\circ \). We have that, \(\angle xs_1t_1 = 180^\circ -\angle t_1s_1a - \angle s_2s_1x = 360^\circ - (\angle t_1s_1a + \angle bs_2t_4) - (\angle s_2s_1x + \angle t_3s_2s_1) - \angle t_4s_2t_3 < 360^\circ -60^\circ - 180^\circ - 60^\circ = 60^\circ \). Applying law of cosines to triangle \(\triangle s_1t_1x\) with \(d(s_1,t_1) = d(s_1,x) = 1\) and \(\angle xs_1t_1 < 60^\circ \), we have that \(d(t_1,x) \le 1\).

Last, in this paragraph we show that \(d(t_1,z) \le 1\). Let y be a point such that \(d(s_1,y) = 1\) and \(\angle xs_1y = 60^\circ \). The location of point y is illustrated in Fig. 8. Since \(d(s_1,x) = d(s_1,y) = 1\) and \(\angle xs_1y = 60^\circ \), the triangle \(\triangle s_1yx\) is an equilateral triangle. Remind that line segments \(\overline{s_1,x}\) and \(\overline{s_2,t_3}\) are parallel, and triangle \(\triangle zt_3s_2\) is an equilateral triangle, so line segments \(\overline{s_1,y}\) and \(\overline{s_2,z}\) are parallel. Since \(d(s_1,y) = d(s_1,s_2) = d(s_2,z) = 1\) and line segments \(\overline{s_1,y}\), \(\overline{s_2,z}\) are parallel, the quadrilateral \(s_1yzs_2\) is a rhombus and \(d(y,z) = 1\). Remind that \(\angle xs_1t_1 < 60^\circ \), we have \(\angle zs_1t_1 < \angle zs_1y\). Since \(f(x) = \cos {x}, x\in [0,\pi ]\) is monotone decreasing, by law of cosines applied to triangles \(\triangle s_1yz\) and \(\triangle s_1t_1z\), we have that \(d(t_1,z) = \sqrt{d(s_1,z)^2 + 1 - 2d(s_1,z)\cos {\angle zs_1t_1}} < \sqrt{d(s_1,z)^2 + 1 - 2d(s_1,z)\cos {\angle zs_1y}} = d(y,z) = 1\). Till here, we finish the proof that \(d(t_1,t_2) \le 1\). \(\square \)

Fig. 8
figure 8

Location of point y. Each solid line segment in the figure has length exactly 1

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Călinescu, G., Wang, X. Combination Algorithms for Steiner Tree Variants. Algorithmica (2022). https://doi.org/10.1007/s00453-022-01009-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00453-022-01009-8

Keywords

  • Approximation ratio
  • Steiner tree
  • Euclidean space
  • Quasi-bipartite graph