Improved Steiner Tree Approximation in Graphs
y z
Gabriel Robins and Alexander Zelikovsky
y
Department of Computer Science, University of Virginia, Charlottesville, VA 22903-2442
[email protected], www.cs.virginia.edu/robins
z
Department of Computer Science, Georgia State University,Atlanta, GA 30303
[email protected], www.cs.gsu.edu/ matazz
~
Abstract
The Steiner tree problem in weighted graphs seeks a minimum weight connected subgraph
containing a given subset of the vertices terminals. We present a new p olynomial-time
ln 3
1:55, which improves up on heuristic with an approximation ratio approaching 1+
2
the previously b est-known approximation algorithm of [10] with p erformance ratio 1:59.
In quasi-bipartite graphs i.e., in graphs where all non-terminals are pairwise disjoint, our
algorithm achieves an approximation ratio of 1:28, whereas the previously b est metho d
achieves an approximation ratio approaching 1:5 [19]. For complete graphs with edge weights
1 and 2, we show that our heuristic has an approximation ratio approaching 1:28, which
4
improves up on the previously b est-known ratio of [4]. Our metho d is considerably simpler
3
and easier to implement than previous approaches. Our techniques can also be used to
prove that the Iterated 1-Steiner heuristic [14] achieves an approximation ratio of 1:5 in
quasi-bipartite graphs, thus providing the rst known non-trivial p erformance ratio of this
well-known metho d.
1 Intro duction
Given an arbitrary weighted graph with a distinguished vertex subset, the Steiner Tree Problem
asks for a minimum-cost subtree spanning the distinguished vertices. Steiner trees are imp ortant
in various applications such as VLSI routing [14 ], wirelength estimation [6 ], phylogenetic tree
reconstruction in biology [11 ], and network routing [12 ]. The Steiner Tree Problem is NP -hard
even in the Euclidean or rectilinear metrics [8 ].
Arora established that Euclidean and rectilinear minimum-cost Steiner trees can b e eciently
approximated arbitrarily close to optimal [1]. On the other hand, unless P = NP , the Steiner
Tree Problem in general graphs cannot b e approximated within a factor of 1 + for suciently
small >0 [4, 7]. For arbitrary weighted graphs, the b est Steiner approximation ratio achievable
within p olynomial time was gradually decreased from 2 to 1:59 in a series of works [20 , 21 , 2 , 22 ,
18 , 15 , 10 ].
In this pap er we presenta p olynomial-time approximation scheme with a p erformance ratio
ln 3
1:55 which improves up on the previously b est-known ratio of 1.59 due to approaching 1 +
2
This work was supp orted bya Packard Foundation Fellowship, by National Science Foundation Young Inves-
tigator Award MIP-9457412, and by a GSU Research Initiation Grant. 1
Hougardy and Promel [10 ]. We apply our heuristic to the Steiner Tree Problem in quasi-bipartite
graphs i.e., where all non-terminals are pairwise disjoint. In quasi-bipartite graphs our heuristic
2
achieves an approximation ratio of 1:28 within time O mn , where m and n are the numb ers of
terminals and non-terminals in the graph, resp ectively. This is an improvementover the primal-
dual algorithm by Ra jagopalan and Vazirani [19 ] where the b ound is more than 1:5. We also
show that a well-known Iterated 1-Steiner heuristic [13 , 9, 14 ] achieves an approximation ratio
of 1:5 for quasi-bipartite graphs; previously, no non-trivial b ounds were known for the Iterated
1-Steiner heuristic. Finally,we improve the approximation ratio achievable for the Steiner Tree
Problem in complete graphs with edge weights 1 and 2, by decreasing it from the previously
4
known [4] to less than 1:28 for our algorithm.
3
The remainder of the pap er is organized as follows. In the next section we intro duce basic
de nitions, notation and prop erties. In Section 3 we present our main algorithm called k -LCA
and formulate the basic approximation result. In Sections 4 and 5 we prove the approximation
ratio of the algorithm k -LCA in general graphs and estimate the p erformance of the Iterated
1-Steiner heuristic and k -LCA in quasi-bipartite graphs and in complete graphs with weights 1
and 2. We conclude by proving in Section 6 the basic approximation result for k -LCA.
2 De nitions, Notations and Basic Prop erties
Let G =V ; E ; cost be a graph with a non-negative cost function on its edges. Any tree in G
spanning a given set of terminals S V is called a Steiner tree, and the cost of a tree is de ned
to b e the sum of its edge costs. The Steiner Tree Problem STP seeks a minimum-cost Steiner
tree. Note that a Steiner tree may contain non-terminal vertices and these are referred to as
Steiner points. We can assume that the cost function over G = V ; E ; cost is metric i.e., the
triangle inequality holds since we can replace any edge e 2 E with the shortest path connecting
the ends of e. Henceforth we will therefore assume that G is a complete graph. Similarly, for the
subgraph G induced by the terminal set S , G is a complete graph with vertex set S .
S S
Let MST G b e the minimum spanning tree of G . For any graph H , costH is the sum
S S
of the costs of all edges in H . We thus denote the cost of a minimum spanning tree of H by
mstH , e.g., costMST G = mstG . For brevity,we use mst to denote mstG . In order
S S S
to simplify our analyses, we further assume that all edge costs in G are unique this ensures that
the optimal Steiner tree and minimum spanning tree are unique.
0 0
A Steiner tree over a subset of the terminals S S in which all terminals S are leaves is called
a ful l component see Figure 1a. Any Steiner tree can be decomp osed into full comp onents
by splitting all the non-leaf terminals. Our algorithm will pro ceed by adding full comp onents
to a growing solution, based on their \relative cost savings" this notion will be made precise
b elow. We assume that any full comp onent has its own copy of each Steiner p ointso that full
comp onents chosen by our algorithm do not share Steiner p oints.
A Steiner tree which do es not contain any Steiner p oints i.e., where each full comp onent
consists of a single edge, will be henceforth called a terminal-spanning tree. Our algorithm
will compute relative cost savings with resp ect to the \shrinking" terminal-spanning tree which
initially coincides with MST G .
S
The relative cost savings of full comp onents are represented by a ratio of how much a full
comp onent decreases the cost of the current terminal-spanning tree over the cost of connecting
its Steiner p oints to terminals. The cost savings of an arbitrary graph H with resp ect to a
terminal-spanning tree T is the di erence b etween the cost of T and the cost of the Steiner tree 2 a a c b c b d d
(a) (b) (c)
Figure 1: a A full comp onent K : lled circles denote terminals and empty circles denote Steiner
p oints. b Connected comp onents of LossK to b e collapsed, dashed edges b elong to LossK .
c The corresp onding terminal-spanning tree C [K ] with the contracted LossK .
obtained by augmenting H with the edges of T . Formally, let T [H ] b e the minimum cost graph
in H [ T which contains H and spans all the terminals of S see Figure 2. The g ain of H
with resp ect to T is de ned as g ain H = costT costT [H ]. If H is a Steiner tree, then
T
g ain H = costT costH . Note that g ain H costT mstT [ H b ecause T [H ]
T T
cannot cost less than MST T [ H . We will use the following prop ertyof g ain proved in [21 , 2 ].
H
T T[H]
(a) (b)
Figure 2: a A graph H dashed edges and a terminal-spanning tree T solid edges. b The
corresp onding graph T [H ] contains H and spans all the terminals.
0
Lemma 1 For any terminal-spanning tree T and graphs H and H ,
0 0
g ain H [ H g ain H +g ain H
T T T
The minimum-cost connection of Steiner p oints of a full comp onent K to its terminals is
denoted LossK . Formally, LossK isa minimum-cost forest spanning the Steiner no des of a
full comp onent K such that each connected comp onent contains at least one terminal see Figure
1b. Intuitively, Loss will serve as an upp er b ound on the optimal solution cost increase during
our algorithm's execution as will b e elab orated b elow. We will denote the cost of LossK by
l ossK . The loss of a union of full comp onents is the sum of their individual losses.
As so on as our algorithm accepts a full comp onent K it contracts its LossK , i.e. \collapses"
each connected comp onentofLoss into a single no de see Figure 1c. Formally,aloss-contracted 3
full comp onent C [K ] is a terminal-spanning tree over terminals of K in which two terminals
are connected if there is an edge between the corresp onding two connected comp onents in the
forest LossK . The cost of any edge in C [K ] coincides with the cost of the corresp onding
edge in K . The 1-to-1 corresp ondence between edges of K n LossK and C [K ] implies that
costH l ossH =costC [H ]. Similarly, for any Steiner tree H , C [H ] is the terminal-spanning
tree in which the losses of all full comp onents of H are contracted.
Our algorithm constructs a k -restricted Steiner tree, i.e., a Steiner tree in which each full
comp onent has at most k terminals. Let Opt be an optimal k -restricted Steiner tree, and let
k
opt and l oss be the cost and loss of Opt , resp ectively. Let opt and l oss b e the cost and loss
k k k
of the optimal Steiner tree, resp ectively.
Wenow prove the following lower b ound on the cost of the optimal k -restricted Steiner tree.
Lemma 2 Let H be a Steiner tree; if g ain K 0 for any k -restricted ful l component K ,
C [H ]
then
costH l ossH =costC [H ] opt
k
Pro of. Let K ;::: ;K b e full comp onents of Opt .
1 p
k
costC [H ] opt = g ain Opt
k k
C [H ]
= g ain K [ ::: [ K
1 p
C [H ]
g ain K +::: + g ain K
1 p
C [H ] C [H ]
0
ut
An approximation ratio of an algorithm is an upp er b ound on the ratio of the cost of the
found solution over the cost of the optimal solution. In the next section we will prop ose a new
algorithm for the Steiner Tree Problem, and then prove a b est-to-date approximation ratio for
it.
3 The Algorithm
All previous heuristics except Berman and Ramayer's [2 ] approach with provably go o d approx-
imation ratios cho ose appropriate full comp onents and then contract them in order to keep them
for the overall solution. This do es not allow us to give up an already-accepted full comp onent
even if later wewould nd out that a b etter full comp onent disagrees with a previously accepted
two comp onents disagree if they share at least two terminals.
The main idea b ehind the Loss-Contracting Algorithm see Figure 3 is to contract as little as
p ossible so that i a chosen full comp onentmay still participate into the overall solution but ii
not many other full comp onents would be rejected. In particular, if we contract LossK , i.e.,
replace a full comp onent K with C [K ], then i it will not cost anything to add a full comp onent
K in the overall solution and ii we decrease the gain of full comp onents which disagree with K
by a small value e.g., less than in the Berman-Ramayer algorithm for large k , and much smaller
than in [15 ] for any k .
Our algorithm iteratively mo di es a terminal-spanning tree T , which is originally MST G ,
S
by incorp orating into T loss-contracted full comp onents greedily chosen from G. The intuition
b ehind the gain-over-loss ob jective ratio is as follows. The cost of the approximate solution lies 4
between mst = mstG and opt . If we accept a comp onent K , then it increases by a gain
S
k
of K the gap b etween mst and the cost of the approximation. Thus the gain of K is our clear
pro t. On the other hand, if K do es not b elong to OP T , then after accepting K we would
k
no longer b e able to reach Opt b ecause wewould need to pay for the connection of incorrectly
k
chosen Steiner p oints. Therefore, the value of l ossK , which is the connection cost of Steiner
p oints of K to terminals, is an upp er b ound on the increase in the cost gap between opt and
k
the b est achievable solution after accepting K . Thus l ossK is an estimate of our connection
exp ense. Finally, maximizing the ratio of gain over loss is equivalent to maximizing the pro t
p er unit exp ense.
Loss-Contracting Algorithm k -LCA for Steiner Trees in Graphs
Input: A complete graph G =V ; E ; cost with edge costs satisfying the triangle inequality,
a set of terminals S V , and an integer k jS j
Output: A k -restricted Steiner tree in G connecting all the terminals in S
T = MST G
S
H = G
S
Rep eat forever
Find a k -restricted full comp onent K with the maximum r = g ain K =l ossK
T
If r 0 then exit rep eat
H = H [ K
T = MST T [ C [K ]
Output the tree MST H
Figure 3: The k -restricted Loss-Contracting Al-
gorithm k -LCA.
In Section 6 we will show that costT mstT [ K =g ain K . Therefore, each time the
T
algorithm cho oses a full comp onent K , the cost of T decreases by g ain K +l ossK . This will
T
imply the basic approximation result proved in Section 6.
Theorem 1 For any instance of the Steiner Tree Problem, the cost Appr ox of the Steiner tree
produced by algorithm k -LCA is at most:
mst opt
k
+ opt 1 Appr ox l oss ln 1+
k k
l oss
k
4 Performance of k -LCA in General Graphs
Our estimate of the p erformance ratio of algorithm k -LCA in arbitrary graphs is based on the
opt
k
estimates of optimal k -restricted Steiner trees. Let be the worst-case ratio of . It was
k
opt