The Steiner Tree Problem A Project Report submitted in partial fulfillment of the requirements for the award of the degree of Bachelor of Technology in Computer Science and Engineering by R Kamesh under the guidance of Dr. Narayanaswamy and Prof. C. Pandu Rangan DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING INDIAN INSTITUTE OF TECHNOLOGY MADRAS May 2005 Certificate This is to certify that this thesis titled The Steiner Tree Problem is a bona-fide record of the work done by R Kamesh in the Department of Computer Science and Engineering, Indian Institute of Technology Madras under my guidance and supervision in the partial fulfillment for the award of B.Tech. in Computer Science and Engineering. Place : Madras Dr. Narayanaswamy Date : i Acknowledgements First of all, I would like to thank my project guides Prof. C Pandurangan and Dr. Narayanaswamy for the constant guidance and encouragement that they have provided me over the past one year. They created a very stimulating, yet friendly, atmosphere which made the project work fun and learning very effective. I am very grateful to Prof. Pandurangan for the Data Structures and Algorithms, Analysis of Algorithms and Recent Trends in Theoretical Computer Science courses which widened my interests in Theoretical Computer Science. I would like to thank Dr. Narayanaswamy for having taught us Automaton Theory and Principles of Programming courses, which strenghtened my fundamentals in Computer Science. I would also like to thank Prof. Kamala Krithivasan, who taught us Discrete Mathematical Structures, for having exposed me to Theoretical Computer Science for the first time. I am also grateful to Prof. S. A. Choudum, who taught us Basic Graph Theory, for having given me a sound background in Graph Theory which proved very useful in my project. I would like to thank our Head of Department, Prof. S. Raman, for all the facilities in the department. I am deeply indebted to my faculty advisor Dr. Kamakoti, who has always been extremely supportive and helpful, for having been with me throughout the four years of my undergraduation. ii Acknowledgements iii I am thankful to my parents and grandparents, whose eternal blessings, support and encouragement will protect and nourish me throughout my life. I am grateful to my labmates CAT, Tirthankar, Ravi, Void and Bharti for having made the atmosphere lively and spiritful for all of us. I am also thankful to my classmates AT, Gandharv, Blinky and Vikram for the hours of enlightening discussions about topics varying from project work to the philosophy of life. I would like to put a special word of thanks for Bhaand, Vinay, Sai, Panda and all other wingmates for these good years of merry time we have had together, making my IIT days the best part of my life so far. Lastly, I would like to thank all the people I have interacted with, during these four years, for having carved out so many good memories for me to cherish throughout my life. Abstract The Steiner Tree problem is to find the tree with minimal Euclidean length spanning a set of fixed points in the plane, given the ability to add points (Steiner nodes). The problem is NP-hard, so polynomial-time heuristics are desired. We present a O(n3 ) triangulation heuristic algorithm using concepts from Euclidean Geometry and Analytic Geometry. The heuristic builds over a Minimum Spanning Tree (MST) constructed over the given nodes and optimises the triangles formed by adjacent edges of the MST. We discuss and prove in detail the assumptions made in the heuristic. We also explore the relationship between the MST and the Steiner Tree over a given set of nodes. Finally, we discuss the online version of the Steiner Tree problem and the online algorithms that are used to solve it. iv Contents 1 Introduction 1 2 Steiner Tree in a Triangle 5 2.1 The Fermat Problem . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Torricelli’s Solution . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Construction Methods . . . . . . . . . . . . . . . . . . . . . . 7 2.3.1 Torricelli’s Circumcircle Method . . . . . . . . . . . . . 7 2.3.2 Simpson’s Method . . . . . . . . . . . . . . . . . . . . 8 2.4 Computation of Torricelli Point . . . . . . . . . . . . . . . . . 10 3 Properties of Steiner Trees 13 3.1 Property of Position . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Property of Angle . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3 Property of Degree . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4 Limit on Steiner Nodes . . . . . . . . . . . . . . . . . . . . . . 16 3.5 Relation with Minimum Spanning Tree . . . . . . . . . . . . . 17 4 The Triangulation Heuristic 20 4.1 Need for Heuristics . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 Concept of Local Optimization . . . . . . . . . . . . . . . . . 21 4.3 The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 22 v CONTENTS vi 4.4 Time Complexity . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.5 Salient Features of the Heuristic . . . . . . . . . . . . . . . . . 24 4.6 Implementation Issues . . . . . . . . . . . . . . . . . . . . . . 25 5 Online Steiner Tree Problem 26 5.1 Online Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 26 5.2 Competitive Analysis of Online Algorithms . . . . . . . . . . . 27 5.3 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . 28 5.4 Online Steiner Tree Algorithms . . . . . . . . . . . . . . . . . 29 6 Conclusions 30 6.1 The Performance-Speed Trade-off . . . . . . . . . . . . . . . . 30 6.2 Handling Topologies . . . . . . . . . . . . . . . . . . . . . . . 31 6.3 The Online Problem . . . . . . . . . . . . . . . . . . . . . . . 31 Bibliography 33 Chapter 1 Introduction The Steiner Tree problem in the Euclidean plane involves finding a minimum length spanning tree that spans a set of vertices in the plane while allowing for the addition of auxiliary vertices. These additional vertices are called Steiner Nodes. The Euclidean Steiner tree problem has long roots that date back to the 17th century when the famous scientist Pierre Fermat proposed the following problem: Find in the plane a point, the sum of whose distances from three given points is minimal. This simple problem prompted over one hundred years of study before Heinen proposed a complete solution in 1834. It would take another hundred years for the Fermat Problem to gain popularity among mathematicians and receive a name change. After the publishing of the book What is Mathematics?[5] in 1941, by Courant and Robbins, the Fermat problem and its generalizations were renamed the Steiner tree problem. The problem was 1 CHAPTER 1. INTRODUCTION 2 named in honor of Jacob Steiner, a professor at the University of Berlin who made great contributions to mathematics. While Jacob Steiner’s connection to the problem is not well known or fully understood, the real world applications of Steiner trees and their generalizations are numerous. Routing of heating and plumbing pipes inside a building, trace layout between logic gates in circuits to minimize propagation time, determining the pathway for oil or natural gas pipelines that are as short as possible while considering the terrain they cross or avoid, and other minimal networks are a few of the many examples. The Euclidean Steiner tree problem is a special case of the Steiner tree problem in graphs. The Steiner tree graph problem is defined formally: Given an undirected graph G = (V, E) with nonnegative edge costs and whose vertices are partitioned into two sets, required and Steiner, find a minimum cost tree in G that contains all the required vertices and any subset of Steiner vertices. The problem does not take the Steiner Nodes as input. The goal is to connect the given terminal vertices 1 in the plane, possibly by introducing Steiner Nodes, to minimize the total length of all the line segments combined. It should be noted here that the Minimum Spanning Tree algorithms would be sufficient if additional Steiner Nodes were to be disallowed. But, the mere liberty to add additional nodes makes the problem NP-hard (as shown by Garey, Graham[1] and Johnson in 1977). 1 The vertices given as input as opposed to Steiner Nodes that are later added 3 CHAPTER 1. INTRODUCTION The figure below shows both, the Minimum Spanning Tree (MST) and the Steiner Minimal Tree (SMT) for the given topology of four vertices forming the nodes of a rectangle. The geometric positions of the two Steiner Nodes in the SMT are indicated in the figure. It can be shown that the total length of the all the edges combined in the SMT is √ 3 2 times that of the MST. Figure 1.1: Comparison between the MST and SMT Problems Steiner Trees find numerous applications in various fields. One of the most important applications is in the physical design of VLSI circuits. Steiner Trees also find applications in mining operations for the design of the most efficient layout of shafts, drivers and ore-passes. They are also used in multicast routing where a number of destinations in a computer network need to be interconnected for group communication (like teleconferences). Thus, there is thrust from different areas for better solutions and faster algorithms which can solve the Steiner Tree problem. In this report, we will try to combine the Graph Theory and Euclidean Geometry aspects of the problem, and exploit the fusion to our advantage in order to develop a heuristic to approximately solve the Steiner Tree Problem. The focus, throughout, is on adding clever Steiner Nodes to a given topology of terminal vertices. The fusion brings out many interesting properties of the Steiner Nodes which will be used in our heuristic. CHAPTER 1. INTRODUCTION 4 The rest of the report is organised in the following manner. In Chapter 2 we explore Fermat’s triangle problem and its different solutions known so far. We will also derive expressions which would be used later in the report. Chapter 3 exploits the geometric aspects of the problem and enunciates some very useful properties of Steiner Nodes. It also brings out a connection between the Minimum Spanning Tree problem (from Graph Theory) and our Steiner Tree problem, thus venturing into the realms of Graph Theory with our background in Euclidean Geometry. The heuristic is explained and analysed in Chapter 4. We discuss the online version of the Steiner Tree problem in Chapter 5. Finally, in Chapter 6 we conclude our study with some directions for future work. Chapter 2 Steiner Tree in a Triangle The connection between the Steiner Minimal Tree (SMT) problem and Euclidean Geometry lies in the earliest flavour of the Steiner Tree problem as proposed by Pierre de Fermat1 . We will try to delve into the geometric aspects by studying this problem in a relevant perspective. 2.1 The Fermat Problem As stated before, the Fermat Problem statement goes as follows: Find in the plane a point, the sum of whose distances from three given points is minimal. The Fermat Problem is a special case of the SMT problem for the number of terminal nodes n = 3. Also, the problem involves finding one Steiner Node for a triangular topology. This problem was proposed during early 17th century and engaged mathematicians for many decades. The first exact solution was proposed by Evangelista Torricelli2 . 1 2 A French mathematician who lived during 1601-1665 An Italian scientist who lived during 1608-1647 5 CHAPTER 2. STEINER TREE IN A TRIANGLE 2.2 6 Torricelli’s Solution In 1640, Torricelli discovered a solution to the n = 3 case of the SMT problem with the points labeled A, B and C. The proposed Steiner Node inside 4ABC is called Torricelli Point and this point satisfies the Torricelli Angle Condition, which states that each of the sides of 4ABC must subtend an angle of 120o at the Torricelli Point. Figure 2.1: Torricelli Point Angle Condition In the figure shown above, each of the sides of 4ABC subtends an angle of 120o at the Torricelli Point. A careful observation the Torricelli Angle Condition dawns to light the implicit assumption silently made in the formulation. The Torricelli Point lies inside the triangle iff the greatest angle of the triangle is less than 120 o . Else the Torricelli Point will lie outside the triangle and will no longer be CHAPTER 2. STEINER TREE IN A TRIANGLE 7 the Steiner Node for n = 3 (three terminal nodes) topologies. Therefore the Steiner Node solution for n = 3 has two cases, viz: 1. If one of the interior angles of 4ABC is greater than 120o , then the point defined by the Fermat Problem coincides with that vertex with the associated interior angle greater than 120o . 2. If all the interior angles of 4ABC are less than 120o , then the point defined by the Fermat Problem is the Torricelli Point of the triangle. 2.3 Construction Methods In this section, we examine two interesting methods of construction of the Torricelli Point in a triangle. 2.3.1 Torricelli’s Circumcircle Method The Circumcircle method of construction[4] of the Torricelli Point was proposed by Torricelli himself in 1640. The construction method is elegant and intuitive from the Torricelli Angle Condition. Given 4ABC we need to construct its Torricelli Point. 1. Construct an equilateral triangles 4A0 BC, 4B 0 CA and 4C 0 AB on sides BC, CA and AB of 4ABC respectively. 2. Circumscribe equilateral triangles 4A0 BC, 4B 0 CA and 4C 0 AB previously constructed. 3. Determine the point of intersection of the three circumcircles. This point is the Torricelli Point of the triangle. CHAPTER 2. STEINER TREE IN A TRIANGLE 8 Figure 2.2: Torricelli Circumcircle Method The Torricelli Point and each of the three equilateral triangles form a cyclic quadrilateral in the corresponding circumcircle. As the interior angle of an equilateral triangle is 60o , the opposite angle in the cyclic quadrilateral (which is also the angle subtended by the triangle’s edge at the Torricelli Point) is 120o3 . 2.3.2 Simpson’s Method Thomas Simpson4 devised an alternative method[4] of constructing the Torricelli Point in 1750. This method is much simpler as he reduced it to 3 4 Sum of opposite angles in a cyclic quadrilateral is 180o An English mathematician who lived during 1710-1761 CHAPTER 2. STEINER TREE IN A TRIANGLE 9 finding the intersection of three lines (as opposed to finding the intersection of three circles in the Circumcircle Method). Figure 2.3: Torricelli Circumcircle Method Given 4ABC we need to construct its Torricelli Point. 1. Construct an equilateral triangles 4A0 BC, 4B 0 CA and 4C 0 AB on sides BC, CA and AB of 4ABC respectively like in the Torricelli Method. 2. Draw Simpson Lines AA0 , BB 0 and CC 0 . These lines join each vertex of 4ABC with the newly constructed vertex of the equilateral triangle on the opposite side. CHAPTER 2. STEINER TREE IN A TRIANGLE 10 3. Determine the intersection point of the three Simpson Lines. This gives the Torricelli Point of 4ABC. The proof of construction is slightly involved and makes use of the Ceva’s Theorem. 2.4 Computation of Torricelli Point In this section, we describe and analyse the scheme of computation of the Torricelli Point of a triangle using the Simpson’s Method of construction. We also make use of analytic geometry for our analysis. Consider 4ABC with vertices A(xA , yA ), B(xB , yB ) and C(xC , yC ). We need to compute the coordinates of the Torricelli Point of 4ABC. The first step in the Simpson’s Method is the computation of the coordinates of the vertices of the equilateral triangles that are outside the triangle, viz. A0 (xA0 , yA0 ), B 0 (xB 0 , yB 0 ) and C 0 (xC 0 , yC 0 ). Consider the computation of the point A0 given the coordinates of B and C. C yB +yC Let M ( xB +x , 2 ) be the mid-point of BC. The slope of BC is given by: 2 mBC = yC − y B xC − x B (2.1) As 4A0 BC is equilateral, A0 M and BC are perpendicular to each other. Therefore, the slope of A0 M is given by: m A0 M = xB − x C yC − y B (2.2) Let θ be the angle made by the line A0 M with the positive X axis, i.e. tan θ = mA0 M (2.3) CHAPTER 2. STEINER TREE IN A TRIANGLE 11 Figure 2.4: Computation of Torricelli Point Given that 4A0 BC is equilateral, we have: √ 3 A0 M = BC 2 (2.4) Now, the equation of a straight line in coordinate geometry gives, x A0 − x M y A0 − y M = = A0 M cos θ sin θ ⇒ xA0 = xM + A0 M · cos θ (2.5) (2.6) yA0 = yM + A0 M · sin θ (2.7) Substituting expressions for M and θ, we have: √ 3 1 xB + x C + ·BC· q x A0 = 2 2 1 + m2 0 AM (2.8) CHAPTER 2. STEINER TREE IN A TRIANGLE y A0 √ 3 yB + y C m A0 M = + ·BC· q 2 2 1 + m2 0 12 (2.9) AM Thus we have the coordinates of A0 , B 0 and C 0 from the coordinates of 4ABC. Once all the points are computed, the coordinates of the Torricelli Point can be computed using the Cramer’s Rule to solve for the point of intersection of AA0 , BB 0 and CC 0 . Note that given the coordinates of the vertices of n triangles, the Torricelli Points of those triangles can be computed in O(n) time complexity. We shall make use of this construction as the basic quantum in the heuristic we develop in Chapter 4. Chapter 3 Properties of Steiner Trees We observe and prove, in this chapter, some significant properties of all Steiner Minimal Trees (SMTs). These properties will be used in our heuristic, which is explained in subsequent chapters. 3.1 Property of Position Steiner Nodes are always internal nodes and can never be leaves of the SMT. Figure 3.1: Steiner Node can never be a leaf 13 CHAPTER 3. PROPERTIES OF STEINER TREES 14 Proof: Consider a Steiner Node which is a leaf as shown in the figure above. Remove the node from the SMT. The resultant tree is also an SMT as it still passes through all the terminal nodes. But the total length of all the edges in this tree is less than that of the SMT. But, this contradicts the definition of the SMT. Thus, reductio ad absurdum Steiner Nodes can never be leaves. 3.2 Property of Angle Any two edges intersecting at a Steiner Node make an angle greater than or equal to 120o at the Steiner Node. Figure 3.2: Angle at a Steiner Node can never be less than 120o Proof: Consider a Steiner Node S connected to two terminal nodes A and b < 120o as shown in B in an SMT F as shown in Figure 3.2 above. Let ASB the figure. Thus terminal nodes A and B subtend an angle less than 120o at b be the greatest angle in 4ASB. a Steiner Node. Also let ASB Now construct S 0 , the Torricelli Point of 4ASB and join AS 0 , SS 0 and BS 0 instead of AS and BS. Let the new tree be called F0 . CHAPTER 3. PROPERTIES OF STEINER TREES 15 From Torricelli’s solution to the Fermat’s problem, the total length of all the edges in F0 (the new tree constructed) is less than that of F. But F was assumed to be an SMT. Thus, reductio ad absurdum, the angle at a Steiner Node must be greater than 120o . 3.3 Property of Degree Every Steiner Node has degree exactly 3. Proof: According to the Property of Position, a Steiner Node cannot have a degree of 1 (as it would be a leaf in that case). Consider a Steiner Node H with degree 2 connected to two terminal nodes X and Y in an SMT G as shown in Figure 3.3. Figure 3.3: Degree of a Steiner Node cannot be equal to 2 Now connect XY and leave out Steiner Node H to create a new graph G0 as shown in the figure. As the straight line is the shortest distance between two points on the Euclidean plane, the total length of all the edges in G0 is less than that in G. But this contradicts the fact that G is an SMT. Thus, reductio ad absurdum, a Steiner Node cannot have degree 2. CHAPTER 3. PROPERTIES OF STEINER TREES 16 Consider a Steiner Node S with degree 4 (> 3) connected to A1 , A2 , A3 and A4 as shown in the Figure 3.4. Figure 3.4: Degree of a Steiner Node cannot be greater than 3 o b b b b A1 SA 2 + A2 SA3 + A3 SA4 + A4 SA1 = 360 b } and φ < 120o b , A SA b , A SA b , A SA ⇒ ∃ φ such that φ ∈ {A1 SA 1 4 4 3 3 2 2 But this violates the Angle Rule proved earlier. Therefore, reductio ad absurdum, a Steiner Node cannot have degree 4. Similarly, we can prove that a Steiner Node cannot have a degree greater than 3. Thus, all Steiner Nodes must have degree 3. 3.4 Limit on Steiner Nodes Consider an SMT with n terminal nodes P1 ,P2 ,. . .,Pn and s Steiner Nodes. Let the tree have edges and ν = n + s nodes. From Graph Theory, we have: Σdeg(vertices) = 2 · Therefore, 3s + n X i=1 deg(Pi ) = 2 · CHAPTER 3. PROPERTIES OF STEINER TREES 17 But in a tree, = ν − 1 ⇒ 3s + Or, 3s + n X i=1 n X i=1 deg(Pi ) = 2 · (ν − 1) deg(Pi ) = 2 · (n + s − 1) ⇒ s = 2n − 2 − But, Pn i=1 n X deg(Pi ) (3.1) i=1 deg(Pi ) ≥ n ⇒s≤n−2 (3.2) Thus, a Steiner Tree can atmost have n − 2 Steiner Nodes. 3.5 Relation with Minimum Spanning Tree One of the first and the easiest approximations of the Steiner Minimal Tree (SMT) was the Minimum Spanning Tree (MST). This method does not produce any Steiner Nodes but spans all required vertices in the graph through the use of well-known MST algorithms such as Kruskal’s or Prim’s algorithm. In order to gage performance of Steiner heuristics and approximation algorithms the Steiner Ratio (ρ) was introduced. The Steiner Ratio is defined as the infimum of the total length of an SMT over all vertices divided by total length of the MST. 18 CHAPTER 3. PROPERTIES OF STEINER TREES If Ls (P ) is the length of an SMT over a topology of vertices P and Lm (P ) is the length of the corresponding MST, then Steiner Ratio ρ is given by: ρ = inf ( Ls (P ) |P Lm (P ) ) E. N. Gilbert and H. O. Pollak conjectured in 1968[2] that for any P , ρ≥ √ 3 , 2 i.e., Ls (P ) ≥ √ 3 ·Lm (P ) 2 ⇒ Lm (P ) ≥ Ls (P ) ≥ √ 3 ·Lm (P ) 2 (3.3) Gilbert and Pollak’s conjecture provides a strong lower bound to the length of an SMT. Gilbert and Pollak could prove their conjecture only for n = 3. It took more than twenty years till D. Z. Du and F. K. Hwang could prove[3] the conjecture for SMTs on the Euclidean plane in 1990. We present here the original proof given by Gilbert and Pollak[2] for the case n = 3. Let S be the Torricelli Point of 4ABC. Suppose that |AS| = min{|AS|, |BS|, |CS|}. Construct points B 0 and C 0 on BS abd CS respectively such that 4AB 0 C 0 is equilateral. Ls (A, B, C) = AS + BS + CS Ls (A, B, C) = AS + BB 0 + B 0 S + CC 0 + C 0 S Ls (A, B, C) = Ls (A, B 0 , C 0 ) + BB 0 + CC 0 √ 3 · (AB 0 + AC 0 ) + BB 0 + CC 0 Ls (A, B, C) = √2 3 · (AB 0 + BB 0 + AC 0 + CC 0 ) Ls (A, B, C) ≥ 2 CHAPTER 3. PROPERTIES OF STEINER TREES 19 Figure 3.5: Proof for Gilbert-Pollak Conjecture for n = 3 √ 3 · (AB + AC) √2 3 · Lm (A, B, C) ⇒ Ls (A, B, C) ≥ 2 Ls (A, B, C) ≥ The proof for Gilbert-Pollak’s conjecture for a general n involves topological representation of a Steiner Tree as a vector and complex mathematical analysis of the vector space that these Steiner Trees describe. This conjecture is very significant due to the following two reasons: 1. It quantises the extent to which an MST can serve as an approximation for an SMT. 2. It proves a strong lower bound on how small a Steiner Tree can get from a Minimum Spanning Tree. We shall use the properties of the Steiner Trees and the MST relation in the heuristic we develop in the next chapter. Chapter 4 The Triangulation Heuristic Our study of Steiner Tree in a triangle (in Chapter 2) explored the Geometry involved in SMTs. We also studied the Graph Theory aspects while observing the properties of SMTs. In this chapter, we attempt to develop a heuristic to solve the Steiner Tree problem by fusing together the aspects we have studied so far. 4.1 Need for Heuristics The Steiner Tree Problem is known to be NP-hard[1], making computation of Steiner Trees for large terminal node sets exponential in time complexity. Various branch-and-bound algorithms have been suggested to compute exact Steiner Trees. In 1997, Guoliang Xue1 proposed a primal-dual potential reduction[7] of the Steiner Tree problem. He continued to work on pipe-networking applications of Steiner Trees and finally devised an exact algorithm for the generic Steiner Tree problem in 2000[6]. Essentially, the algorithm[6] begins by finding the Steiner Tree for three of the terminal nodes. 1 Associate Professor, Arizona State University 20 CHAPTER 4. THE TRIANGULATION HEURISTIC 21 Then, at each iteration, it adds another terminal node to the graph at each possible edge and optimizing. Unfortunately, due to the exponential nature of the algorithm, it is not suitable for graphs of size 14 or greater. Many heuristics have been suggested to approximately solve the Steiner Tree Problem. The most popular ones use Linear Programming techniques to find the Steiner Minimal Tree. In 1994, Andrew R. Conn2 and Michael L. Overton3 suggested a primal-dual interior point method[8] for minimizing the sum of Euclidean vector norms4 . Later, the Newton Barrier Method5 [9] proposed by Knud Andersen6 was found to be more efficient than the primaldual interior point method. These heuristics give satisfactory performance for graphs of sizes upto 100 nodes. But, most of these heuristics are quite complex in nature and considerably difficult to implement. 4.2 Concept of Local Optimization The primal-dual interior point method[8] and the Newton-barrier method[9] discussed in the previous section follow a global optimization approach in generating Steiner Nodes. This means that the methods take into account all the terminal nodes before generating each of the Steiner Nodes. Given that they are mere heuristics, this rigorous approach causes unnecessary overheads and makes the methods complex to implement. 2 Now at IBM’s T. J. Watson Research Center, New York Professor of Computer Science and Mathematics, New York University 4 Translates to the Euclidean distance in 2-dimensional space 5 Heuristic method for linear/quadratic programming 6 Professor of Computer Science and Mathematics, Odense University 3 CHAPTER 4. THE TRIANGULATION HEURISTIC 22 The local optimization approach might help us cut the extra overheads involved in global optimization approaches. Here, we are more concerned about finding locally optimal positions for the Steiner Nodes given a terminal node topology. This approach isolates the complexity of the problem from the size of the input as the quantum considered for local optimization remains the same irrespective of the overall global size of the problem. Thus, local optimization is the key for developing globally scalable and efficient heuristics. In the heuristic (described in the next section) Steiner Nodes are generated only based on local topology. We attempt to recognize certain known patterns in the local topography, which can be handled using the Euclidean Geometry and the Graph Theory we have developed so far. The algorithm uses both, geometric and graph theoretic, aspects to create appropriate Steiner Nodes based on local topology. 4.3 The Algorithm Given a set of terminal nodes {P1 , P2 , . . . , Pn }, the triangulation algorithm runs as follows: 1. Find the Minimum Spanning Tree of the given terminal nodes. 2. FOR each edge connecting terminal nodes (Px , Py ) DO (a) Find the edge (Py , Pz ) that meets (Px , Py ) at the smallest angle, where Pz can be either a terminal node or a Steiner Node. (b) IF the angle is less than 120o THEN i. Find the Torricelli Point T of 4Px Py Pz . CHAPTER 4. THE TRIANGULATION HEURISTIC ii. Remove edges (Px , Py ) and (Py , Pz ). 23 These edges will no longer figure in loop of Step 2. iii. Add edges (Px , T ), (Py , T ) and (PZ , T ). 3. Run the algorithm on the tree with its new topology Figure 4.1: Triangulation Algorithm on a Simple Test Case Figure 4.1 illustrates an iteration of the Triangulation Heuristic over a rather simple 10 node topology. Note the positions of the nodes Px , Py and Pz as described in the algorithm. Also note the triangulation taking place; the triangles that are considered are shown in dotted lines. The angle considered for Torricelli Angle Condition in 4Px Py Px is 6 Px Py Pz . CHAPTER 4. THE TRIANGULATION HEURISTIC 4.4 24 Time Complexity The time complexity of finding the MST can be made O( · log ν) using the improved version of Prim’s algorithm[10]. Every iteration in Loop 2 can, in the worst case, triangulate all possible pairs of adjacent edges. The worst case time complexity of one iteration of the loop is therefore O(n2 ). Note that the Degree Property (Chapter 3) of all the Steiner Nodes created is satisfies. Also, only edges between terminal nodes are considered in the loop. The loop stops once no triangulation is possible. Therefore the loop can iterate atmost n times. Thus the overall time complexity of the heuristic is O(n3 ). 4.5 Salient Features of the Heuristic Some of the important features of triangulation heuristic are as follows: 1. Minimum Spanning Tree: The heuristic starts with the Minimum Spanning Tree as its starting topology. As discussed in Chapter 3, the total length of the MST is atmost √2 3 times the total length of the SMT. Therefore, the initial topography itself is a good approximation of the optimal Steiner Tree. 2. Local Optimization: The heuristic looks for triangles that satisfy Torricelli Angle Condition and optimally creates Steiner Nodes (Torricelli Point) for such local topologies. As observed in Chapter 2, determining the Torricelli Points for n triangles has a time complexity of O(n). 3. Order of Triangulation: Step 2(a) decides the order of triangulation. The order followed is ascending in the angle between the edges. Hence CHAPTER 4. THE TRIANGULATION HEURISTIC 25 the triangle with the smaller angle is triangulated first. 4. Iterations: The heuristic iterates over the new topology created by the previous iteration. This way newer Steiner Nodes are created in every iterations till no further triangulation is possible that satisfies the Torricelli Condition. 4.6 Implementation Issues Some of the implementation issues one has to bear in mind while developing this heuristic are as follows: 1. The topology switching and insertion of the Steiner Node in Step 2(b) causes the removal of certain edges from the graph. Such discarded edges must be ignored in the Step 2(a) of the next iteration. 2. One should make sure to consider each edge in both the directions provided that, after processing in one direction, it hasn’t been removed. 3. It must be noted that the Minimum Spanning Tree is not unique. So, for each possible MST, the heuristic produces a different Steiner Heuristic Tree. The final tree produced depends on the initial MST topology. Chapter 5 Online Steiner Tree Problem We have discussed the offline version of the Steiner Tree problem in all the preceding chapters of the report. We will study the online version of the Steiner Tree problem in this chapter. 5.1 Online Algorithms Conventional algorithms are designed under the assumption that full knowledge of the input is known beforehand. For example, some of the sorting algorithms such as heap sort work only because the entire input is available before the algorithm starts acting. Life would have been so much easier if all problems were of the above nature. But unfortunately it is the opposite. In life, situations have to be dealt with immediately. The decision has to be taken online. An online problem is one where the input appears in stages and the input of a particular stage has to be processed before the next stage arrives. In most problems, decisions once taken cannot be reversed. An algorithm which 26 CHAPTER 5. ONLINE STEINER TREE PROBLEM 27 solves an online problem is known as an online algorithm. An example could be the page replacement algorithms which work without any idea of what lies in store in the future inputs. 5.2 Competitive Analysis of Online Algorithms In 1985, Daniel Dominic K. Sleator1 and Robert E. Tarjan2 proposed the concept of competitive analysis[12] to quantify the efficiency of an online algorithm. According to this, an algorithm is compared to an online optimal algorithm for the given input, which, for an online algorithm, is unrealizable as it has full knowledge of future inputs. In this scenario, competitive analysis falls under the category of worst case analysis. In traditional online algorithms, the chief measure of efficiency is computational complexity, especially laying stress on finding polynomial time algorithms. But then, in the online case, all algorithms are expected to perform correctly, which is not the case in online algorithms. Hence, focus shifts from computational complexity to the degree upto which the algorithm solves the problem. However, we do seek efficient competitive online algorithms and try to find algorithms that work in polynomial time. Most online problems involve optimization of the cost associated with serving a given input sequence. Competitive analysis compares the costs of the online and offline optimal algorithms. The formal definition of competitive analysis goes as follows: Given a request sequence σ, let CA (σ) denote the cost paid by 1 2 Professor of Computer Science, Carnegie Mellon University Professor of Computer Science, Princeton University CHAPTER 5. ONLINE STEINER TREE PROBLEM 28 the algorithm A in serving σ. Let C ∗ (σ) be the cost incurred by the optimal online algorithm to serve σ. Then, the algorithm A is said to be c-competitive if there exists a constant α such that CA (σ) ≤ c · C ∗ (σ) + α 5.3 Problem Definition We have seen in the definition of the offline Steiner Tree problem that we are given the entire set of terminal nodes upfront. But the online version of the Steiner Tree problem is defined differently. The formal definition goes as follows. Suppose we are given a sequence of n points v1 , v2 , . . . , vn in the Euclidean plane, and our objective is to construct, online, a connected graph that connects all of them, trying to minimise the total sum of the lengths of its edges. We assume that the points appear one at a time, vi arriving at step i. At the end of step i, the online algorithm must construct a connected graph Ti that contains the points v1 , v2 , . . . , vi by connecting the new point vi to the previously constructed graph Ti−1 . This can be done by joining vi (not necessarily by a straight line) to any point of Ti−1 , which need not necessarily be one of the previously given points v1 , v2 , . . . , vi−1 . Let A(v1 , v2 , . . . , vn ) denote the total length of the last graph Tn constructed by the algorithm on the input v1 , v2 , . . . , vn , and let OP T (v1 , v2 , . . . , vn ) denote the minimum possible length of the optimal Steiner Tree constructed offline over the n given points. The performance of algorithm A is measured by its competitive ratio: the supremum over all sequences of n points as CHAPTER 5. ONLINE STEINER TREE PROBLEM 29 above of the ratio c= 5.4 A(v1 , v2 , . . . , vn ) OP T (v1 , v2 , . . . , vn ) Online Steiner Tree Algorithms The online Steiner Tree problem is quite hard to solve as even its offline version is NP-hard. However, a natural simple online online algorithm for constructing online a Steiner Tree is the greedy algorithm. At each step i join vi to its closest point in Ti−1 . The vertex greedy algorithm is to join vi to the closest neighbour in the set {v1 , v2 , . . . , vi−1 }. M. Imase and B. M. Waxman have shown that the vertex greedy algorithm achieves an O(log n)[13] competitive ratio in every metric space. Noga Alon and Yossi Azar3 have proved a lower bound of Ω( logloglogn n ) competitive ratio[11] for online algorithms for the Steiner Tree problem, making the vertex greedy algorithm near optimal. However there is a small gap between them leaving a research space for pushing up the lower bound or designing a better algorithm. 3 Both professors in Dept. of Computer Science, Tel Aviv University Chapter 6 Conclusions We have discussed the triangulation heuristic in detail and also examined the online Steiner Tree problem in the report so far. In this section, we will try to introspect the direction we heading towards and try to suggest improvements to the solutions developed so far. 6.1 The Performance-Speed Trade-off The spectrum of algorithms used to solve the Steiner Tree problem extends from the simple Minimum Spanning Tree algorithms (like the Prim’s or Kruskal’s algorithm) to the exact algorithm[6] (which is suitable for graphs with less than 15 nodes) suggested by Guoliang Xue. In all these various heuristics and optimal algorithms we find a constant trade-off between performance and time complexity. There is obviously the need to construct Steiner Nodes on the Euclidean plane as close to the ones in the Steiner Minimal Tree (SMT) (spanning the given set of terminal nodes) as possible. But, there is also this necessity to make the algorithm run as fast as possible and in polynomial-time. Our heuristic (with a time complexity of O(n3 ) is 30 CHAPTER 6. CONCLUSIONS 31 quite close to the faster end of the spectrum; but it does give a very good improvement over the MST it builds upon especially in topologies that connect nodes spaced distantly. 6.2 Handling Topologies The crux of the Steiner Tree problem is finding the most appropriate Steiner Nodes for the given topology. These nodes are intricately connected to the entire graph comprising of all the terminal nodes. Therefore, to pinpoint the optimal Steiner Nodes we need to evaluate each of them over the entire topology. But, this would make it computationally very expensive. In our heuristic, we adopt the principle of local optimization and consider very simple triangular topologies (that satisfy the Torricelli condition). We could, for instance, consider quadrilateral topologies with improved performance; but at the cost of more computation time. Thus the topological window 1 the heuristic uses to consider a sub-topology for generating the Steiner Nodes determines the computational efficiency of the heuristic. 6.3 The Online Problem The online Steiner Tree problem also suffers from very narrow topological window in the initial stages of the input sequence. As a result, accurate Steiner Nodes and appropriate connecting edges cannot be created till the input sequence explores the entire area of the topology. An adversary can always fool an online Steiner Tree algorithm by using a very narrow topological window and exposing the other areas in the topology very late in the 1 The extent to which the topology is exposed to the heuristic CHAPTER 6. CONCLUSIONS 32 input sequence. As a result performance takes a beating and even the best online algorithm possible[11] is worse than even the offline MST algorithm. Another issue with the online Steiner Tree problem is that decisions have to be made at every node in the sequence and these decisions cannot be revoked. The performance would be much better if decisions could be made, periodically, in batches of nodes instead of every node in the sequence. This way the topological window would widen giving the online algorithm a better picture of the overall topology. For instance, an online version of our heuristic could be deployed if decisions were to be taken after every batch of three nodes arrives. Therefore, slightly loosening the constraints defined by the online problem could improve performance by widening the topological window. Bibliography [1] M. R. Garey, R. L. Graham, and D. S. Johnson. The Complexity of Computing Steiner Minimum Trees. Siam Journal of Applied Mathematics, 32(4), pages 835-859, 1977 [2] E. N. Gilbert, H. O. Pollak. Steiner Minimal Trees. Siam Journal of Applied Mathematics, 16(1), pages 1-29, 1968 [3] D. Z. Du, F. K. Hwang. Gilbert-Pollak Conjecture on Steiner Ratio is True. Proceedings of National Academy of Sciences USA, 87(1990), pages 9161-9166 [4] V. Krishnamurthy, C. R. Praneshachar, K. N. Ranganathan, B. J. Venkatachala. Challenge and Thrill of Pre-College Mathematics. New Age International Publishers, 1996 [5] Richard Courant, Herbert Robbins, Ian Stewart. What is Mathematics?. Oxford University Press, 1996 [6] G. Xue, T. Lillys and D. Dougherty. Computing the Minimum Cost Pipe Network Interconnecting One Sink and many Sources. SIAM Journal on Optimization, Vol. 10(2000), pages 22–42 33 BIBLIOGRAPHY 34 [7] G. Xue and Y.Y. Ye. An Efficient Algorithm for Minimizing a Sum of Euclidean Norms with Applications. SIAM Journal on Optimization, Vol. 7(1997), pages 1017–1036 [8] A. R. Con, M. L. Overton. A Primal-dual Interior Point Method for Minimizing a Sum of Euclidean Vector Norms, July 1994 [9] K. D. Andersen. An Efficient Newton Barrier Method for Minimizing a Sum of Euclidean Norms. SIAM Journal of Optimization, 1993 [10] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. Introduction to Algorithms. MIT Press, 1990 [11] Noga Alon, Yossi Azar. Online Steiner Trees in the Euclidean Plane. Discrete Computational Geometry, Vol 10 (1993), pages 113-121 [12] D. D. Sleator, R. E. Tarjan. Amortised Efficiency of List Update and Paging Rules. Communications of the ACM, Vol 28(1985), pages 202-208 [13] M. Imase, B. M. Waxman. Dynamic Steiner Tree Problem. SIAM Journal of Discrete Mathematics, Vol 4 No 3 (August 1991), pages 369384