Uploaded by hsemak

The Steiner Tree Problem

advertisement
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
Download