on approximation algorithms for the terminal steiner tree problem

4
Information Processing Letters 89 (2004) 15–18 www.elsevier.com/locate/ipl On approximation algorithms for the terminal Steiner tree problem Doratha E. Drake, Stefan Hougardy Humboldt-Universität zu Berlin, Institut für Informatik, 10099 Berlin, Germany Received 11 June 2003; received in revised form 15 September 2003 Communicated by S. Albers Abstract The terminal Steiner tree problem is a special version of the Steiner tree problem, where a Steiner minimum tree has to be found in which all terminals are leaves. We prove that no polynomial time approximation algorithm for the terminal Steiner tree problem can achieve an approximation ratio less than (1 o(1)) ln n unless NP has slightly superpolynomial time algorithms. Moreover, we present a polynomial time approximation algorithm for the metric version of this problem with a performance ratio of 2ρ, where ρ denotes the best known approximation ratio for the Steiner tree problem. This improves the previously best known approximation ratio for the metric terminal Steiner tree problem of ρ + 2. 2003 Elsevier B.V. All rights reserved. Keywords: Approximation algorithms; Steiner tree 1. Introduction Given a graph G = (V,E) with a length function w : E R + and a subset R V of terminals the Steiner tree problem is to find a minimum length tree in G that contains all vertices of R. Such a tree is called a Steiner minimum tree (SMT). The computation of SMTs is an important problem in many applications and therefore much effort has been spent over the last three decades to design algorithms for solving this problem. As the Steiner tree problem is known to be APX-hard [1,2], unless P = NP, only approximate solutions to the Steiner tree problem can * Corresponding author. E-mail addresses: [email protected] (D.E. Drake), [email protected] (S. Hougardy). be found in polynomial time. The best polynomial time approximation algorithm for the Steiner tree problem that is currently known is due to Robins and Zelikovsky [10]. They proved that their algorithm has an approximation ratio of at most 1.55, i.e., it always finds a solution to the Steiner tree problem that is larger than the optimum solution by at most a factor of 1.55. See the book of Hwang, Richards and Winter [8] for more background on the Steiner tree problem and the survey paper [7] for more on the development of approximation algorithms for this problem. Clearly, all leaves in an SMT are vertices of R, but not all vertices of R need to be leaves in an SMT. However, in some applications, as, for example, the global routing in VLSI-Design, all vertices of R must be leaves in the Steiner tree. This motivates the study of the terminal Steiner tree problem [9]. This is a 0020-0190/$ – see front matter 2003 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2003.09.014

Upload: doratha-e-drake

Post on 26-Jun-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: On approximation algorithms for the terminal Steiner tree problem

l

has to bener tree

s.mancesly best

ial

Information Processing Letters 89 (2004) 15–18

www.elsevier.com/locate/ip

On approximation algorithms for the terminalSteiner tree problem

Doratha E. Drake, Stefan Hougardy∗

Humboldt-Universität zu Berlin, Institut für Informatik, 10099 Berlin, Germany

Received 11 June 2003; received in revised form 15 September 2003

Communicated by S. Albers

Abstract

The terminal Steiner tree problem is a special version of the Steiner tree problem, where a Steiner minimum treefound in which all terminals are leaves. We prove that no polynomial time approximation algorithm for the terminal Steiproblem can achieve an approximation ratio less than(1− o(1)) ln n unless NP has slightly superpolynomial time algorithmMoreover, we present a polynomial time approximation algorithm for the metric version of this problem with a perforratio of 2ρ, whereρ denotes the best known approximation ratio for the Steiner tree problem. This improves the previouknown approximation ratio for the metric terminal Steiner tree problem ofρ + 2. 2003 Elsevier B.V. All rights reserved.

Keywords: Approximation algorithms; Steiner tree

1. Introduction be found in polynomial time. The best polynom

ineenhmsm

can

.

time approximation algorithm for the Steiner treendasys

t isr of[8]

andt of

T.the

udy

erved

Given a graphG = (V ,E) with a length functionw :E → R

+ and a subsetR ⊆ V of terminals theSteiner tree problem is to find a minimum lengthtree in G that contains all vertices ofR. Such atree is called aSteiner minimum tree (SMT). Thecomputation of SMTs is an important problemmany applications and therefore much effort has bspent over the last three decades to design algoritfor solving this problem. As the Steiner tree probleis known to be APX-hard [1,2], unless P= NP, onlyapproximate solutions to the Steiner tree problem

* Corresponding author.E-mail addresses: [email protected]

(D.E. Drake), [email protected] (S. Hougardy)

0020-0190/$ – see front matter 2003 Elsevier B.V. All rights resdoi:10.1016/j.ipl.2003.09.014

problem that is currently known is due to Robins aZelikovsky [10]. They proved that their algorithm han approximation ratio of at most 1.55, i.e., it alwafinds a solution to the Steiner tree problem thalarger than the optimum solution by at most a facto1.55. See the book of Hwang, Richards and Winterfor more background on the Steiner tree problemthe survey paper [7] for more on the developmenapproximation algorithms for this problem.

Clearly, all leaves in an SMT are vertices ofR, butnot all vertices ofR need to be leaves in an SMHowever, in some applications, as, for example,global routing in VLSI-Design, all vertices ofR mustbe leaves in the Steiner tree. This motivates the stof the terminal Steiner tree problem [9]. This is a

.

Page 2: On approximation algorithms for the terminal Steiner tree problem

16 D.E. Drake, S. Hougardy / Information Processing Letters 89 (2004) 15–18

em.

e aich

thatph

Thebepathndm

e forverpleone

theionneererectlysion

r-d tot an-a

setbe

eey

rn

vede

1.55. Chlebík and Chlebíková [4] proved thatρ > 1.01must hold if P�= NP.

m.

emverwn

nce

tooupof

nts

ree

hll

inshtingalese

onets

Fig. 1. A non-metric instance for the terminal Steiner tree problTerminals are indicated by squares, non-terminals by circles.

special version of the Steiner tree problem, whershortest length Steiner tree has to be found in whall terminals are leaves.

For the Steiner tree problem one may assumethe given graph is metric, i.e., it is a complete graand the edge lengths satisfy the triangle inequality.reason for this is that in an SMT no two vertices canconnected by an edge that is longer than a shortestin the graph connecting these two vertices. Lin aXue [9] remark that similar to the Steiner tree probleone may also always assume that a given instancthe terminal Steiner tree problem is metric. Howethis assumption is not true. A simple counterexamis shown in Fig. 1. For this graph the optimum solutihas lengthx + 3 while the optimum solution in thmetric case has length at most 5 becausex must havea value of at most 2 to satisfy the metric. Asx canbe chosen arbitrarily large in the non-metric casedifference between the metric and non-metric solutcan be arbitrarily large. To avoid these problems omay consider the restriction of the terminal Steintree problem to instances where for each terminal this a non-terminal vertex in the instance that has exathe same neighbors. In this case the non-metric vercan be transformed into an equivalent metric one.

We show in Section 2 that unless NP=DTIME(nO(log logn)) the non-metric version of the teminal Steiner tree problem cannot be approximateany constant. This will be proved by showing thaconstant factor approximation algorithm for the nometric terminal Steiner tree problem would giveconstant factor approximation algorithm for thecover problem. The latter problem is known tonot approximable better than lnn [5], unless NP=DTIME(nO(log logn)).

Lin and Xue [9] prove that the metric version of thterminal Steiner tree problem is APX-hard and thpresent a factor(2 + ρ)-approximation algorithm fothis problem. Hereρ denotes the best approximatioratio for the Steiner tree problem that can be achieby a polynomial time algorithm. According to thresult of Robins and Zelikovsky [10] it followsρ <

In Section 3 we improve the factor 2+ ρ of Linand Xue [9] by presenting a factor 2ρ approximationalgorithm for the metric terminal Steiner tree probleNote that 2ρ < 2+ ρ for ρ < 2.

2. The hardness result

Given a setS with elements 1, . . . , n and a familyF = {S1, S2, . . . , Sm} of subsets ofS, the set coverproblem is to find a minimum size subfamily ofFthat covers all elements ofS. In this section we provethat approximating the terminal Steiner tree problis at least as hard as approximating the set coproblem. For the latter problem Feige [5] has shothat unless NP= DTIME(nO(log logn)) no polynomialtime approximation algorithm can have a performaguarantee better than(1− o(1)) lnn.

Theorem 1. For any constant α a polynomial time α-approximation algorithm for the terminal Steiner treeproblem yields a polynomial time α-approximationalgorithm for the set cover problem.

Proof. We use a reduction from set cover similarthe one used for showing the hardness of the grSteiner tree problem [6]. Consider an instancethe (unweighted) set cover problem with eleme1, . . . , n and setsS1, . . . , Sm. We construct from thisinstance an instance of the terminal Steiner tproblem as follows. Take a star with the vertexx as itscenter andm rays ending in the verticesS1, . . . , Sm.All these rays get a weight of 1. Now addn terminalsT1, . . . , Tn and an extra terminalT0. The terminalT0 isconnected to vertexx by an edge of length 0. For eacj connect terminalTj by edges of length 0 with averticesSi for whichj is an element of the setSi . Nowa solution to the terminal Steiner tree problem contathe vertexx (as terminalT0 must be connected witthe other terminals) and some of the rays emanafrom x. The weight of the solution of the terminSteiner tree problem is exactly the number of thrays. All the setsSi that are connected tox by theserays form a set cover because for eachj terminalTj is connected to other terminals in the solutiof the terminal Steiner tree problem only via s

Page 3: On approximation algorithms for the terminal Steiner tree problem

D.E. Drake, S. Hougardy / Information Processing Letters 89 (2004) 15–18 17

which contain elementj . Therefore the weight of thesolution to the terminal Steiner tree problem is exactly

at isaterr

reee-

-nerl-

ee

sultere

p-r-

ncer-

mean

nde-

In the following we will always assume that afeasible solution to the terminal Steiner tree problem

nalastost

woy ae inal

als.

sedingved-sse

se

op-3.

ed

ustdoes

as large as the solution to the set cover problem thinduced by this solution. In particular this implies thanα-approximation algorithm for the terminal Steintree problem yields anα-approximation algorithm fothe set cover problem.✷

Note that the instance of the terminal Steiner tproblem produced by this reduction is not metric. Thorem 1 easily extends to the case whereα is a functiondepending on the input size. LetN denote the number of vertices in an instance of the terminal Steitree problem and letn andm denote the number of eements and sets in a set cover instance. Then anα(N)-approximation algorithm for the terminal Steiner trproblem yields anα(n + m + 2)-approximation algo-rithm for the set cover problem. As the hardness reof Feige [5] for set cover also applies to the case whm = O(n) we get the following corollary.

Corollary 1. Unless NP = DTIME(nO(log logn)) nopolynomial time approximation algorithm for the ter-minal Steiner tree problem has a performance ratiobetter than (1− o(1)) lnn.

3. The approximation algorithm

In this section we present a polynomial time aproximation algorithm for the metric version of the teminal Steiner tree problem which has a performaratio of 2ρ, whereρ denotes the best possible perfomance ratio that can be obtained in polynomial tifor the Steiner tree problem. (As we learned fromanonymous referee this result has been proved ipendently in [3].)

exists. Note that in the metric version of the termiSteiner tree problem this is precisely the case if at leone non-terminal vertex exists or the graph has at mtwo vertices. If the given instance contains only tvertices the terminal Steiner tree problem is simplshortest path problem. Therefore we may assumthe following that the given instance of the terminSteiner tree problem contains at least three termin

Our algorithm for computing a factor 2ρ approxi-mation for the terminal Steiner tree problem is baon two crucial operations. The first is a preprocessstep in which all edges in the given graph are remoif they connect two vertices fromR. The second operation is thestar-replacement. This operation reducethe degree of a vertex inR to one. It goes as follow(see Fig. 2). Assumer is a vertex in a Steiner treT for R that has degreek > 1. Denote bya1, . . . , ak

the neighbors ofr. By the preprocessing step all theneighbors must be vertices inV \ R. Without lossof generality assume thatw({r, a1}) � w({r, ai}) for1 � i � k. Then a new Steiner treeT ′ for R is obtainedby replacing the edges{r, a2}, . . . , {r, ak} by the edges{a1, a2}, . . . , {a1, ak} (see Fig. 2). InT ′ vertexr is aleaf while the degree of all other vertices inR has notchanged.

The algorithm TerminalSteiner uses these twoerations as a main ingredient and is shown in Fig.

Theorem 2. The TerminalSteiner algorithm has per-formance ratio 2ρ.

Proof. In line 1 of the algorithm all edges are removfrom G that connect two terminals inR. As an opti-mal solution to the terminal Steiner tree problem mnot contain such edges, this preprocessing step

Fig. 2. The star-replacement.

Page 4: On approximation algorithms for the terminal Steiner tree problem

18 D.E. Drake, S. Hougardy / Information Processing Letters 89 (2004) 15–18

Algorithm TerminalSteiner (G = (V ,E), w :E → R+,R ⊆ V )

1 remove all edges fromG that connect two terminals inR

2 compute aρ-approximate Steiner treeT in G for R

3 for r ∈ R do4 if r is not a leaf inT5 then make a star-replacement forr

Fig. 3. A 2ρ-approximation algorithm for the terminal Steiner tree problem.

not change the value of an optimal solution. In line 2 References

of the algorithm aρ-approximation of a Steiner min-

p-

one

nt

r-

ges,hm

oftaleee

for

ofroc.

gths

ll9thA,lin,

he.M.hopein,

,

i-o-

i-in:er

ree

m,

a-n9.

imal tree for the preprocessed graphG is computed.Its length is a lower bound for the length of an otimal terminal Steiner tree inG. In lines 3–5 of thealgorithm TerminalSteiner the treeT may be mod-ified by star-replacement operations. Considersuch star-replacement at a terminalr with neighborsa1, . . . , ak in T (see Fig. 2). The star-replacemereplaces the edges{r, a2}, . . . , {r, ak} with the edges{a1, a2}, . . . , {a1, ak}. Because the instance of the teminal Steiner tree problem is metric and edge{a1, r}is shortest from among the edges{r, ai} we have

k∑

i=2

w({a1, ai}

)�

k∑

i=2

w({a1, r}

) + w({r, ai}

)

� 2k∑

i=2

w({r, ai}

).

As no two star-replacements involve the same edthis proves that the solution returned by the algoritTerminalSteiner has length at most 2ρ times the lengthof an optimum solution. ✷

Note that the running time of lines 1, 3, 4, and 5algorithm TerminalSteiner is linear. Therefore the torunning time of this algorithm is dominated by thρ-approximation algorithm used for the Steiner trproblem.

Acknowledgements

We are grateful to the anonymous refereesuseful comments.

[1] S. Arora, C. Lund, R. Motwani, M. Sudan, M. Szegedy, Proverification and hardness of approximation problems, in: Pof 33rd FOCS, Pittsburgh, PA, 1992, pp. 14–23.

[2] M. Bern, P. Plassmann, The Steiner problem with edge len1 and 2, Inform. Process. Lett. 32 (1989) 171–176.

[3] Y.H. Chen, C.L. Lu, C.Y. Tang, On the full and bottleneck fuSteiner tree problems, in: T. Warnow, B. Zhu (Eds.), Proc.Annual Internat. Conf. (COCOON 2003), Big Sky, MT, USin: Lecture Notes in Comput. Sci., Vol. 2697, Springer, BerJuly 25–28, 2003, pp. 122–129.

[4] M. Chlebík, J. Chlebíková, Approximation hardness of tSteiner tree problem on graphs, in: M. Penttonen, ESchmidt (Eds.), Proceedings of 8th Scandinavian Workson Algorithm Theory (SWAT’02), Turku, Finland, in: LecturNotes in Comput. Sci., Vol. 2368, Springer Verlag, Berl2002, pp. 170–179.

[5] U. Feige, A threshold of lnn for approximating set coverJ. ACM 45 (1998) 634–652.

[6] N. Garg, G. Konjevod, R. Ravi, A polylogarithmic approxmation algorithm for the group steiner tree problem, J. Algrithms 37 (2000) 66–84.

[7] C. Gröpl, S. Hougardy, T. Nierhoff, H.J. Prömel, Approxmation algorithms for the Steiner tree problem in graphs,X. Cheng, D.-Z. Du (Eds.), Steiner Trees in Industry, KluwAcademic Publishers, Dordrecht, 2001, pp. 235–279.

[8] F.K. Hwang, D.S. Richards, P. Winter, The Steiner TProblem, North-Holland, New York, 1992.

[9] G.-H. Lin, G. Xue, On the terminal Steiner tree probleInform. Process. Lett. 84 (2002) 103–107.

[10] G. Robins, A. Zelikovsky, Improved Steiner tree approximtion in graphs, in: Proc. 11th Annual ACM-SIAM Symp. oDiscrete Algorithms, San Francisco, CA, 2000, pp. 770–77