4
Hardness and Approximation of the Selected-Leaf-Terminal Steiner Tree Problem (Extended Abstract) Sun-Yuan Hsieh Huang-Ming Gao Department of Computer Science and Information Engineering, National Cheng Kung University, No. 1, University Road, Tainan 70101, TAIWAN Abstract For a complete graph G =(V,E) with length func- tion l : E R + and two vertex subsets R V and R R,a selected-leaf-terminal Steiner tree is a Steiner tree which contains all vertices in R such that all ver- tices in R \ R belong to the leaves of this Steiner tree. The selected-leaf-terminal Steiner tree problem is to find a selected-leaf-terminal Steiner tree T whose total lengths (u,v)T l(u, v) is minimum. In this paper, we show that the problem is both NP-complete and MAX SNP-hard when the lengths of edges are restricted to either 1 or 2. We also provide an approximation algorithm for the problem. 1 Introduction Given a graph G =(V,E) with a length (or distance) function l : E R + on the edges, and a vertex subset R V ,a Steiner tree is a connected and acyclic subgraph of G which contains all the vertices of R. The vertices in R are terminals, and the vertices in V \ R are Steiner (or optional) vertices. Note that a Steiner tree may contain op- tional vertices. The length of a Steiner tree equals the sum of the lengths of all edges in this tree. The Steiner tree problem is to find a Steiner tree with the minimum length in G [2, 4, 7]. This problem has been shown to be NP- complete [8], even in the Euclidean metric [5] or rectilinear metric [6]. In some practical applications, some terminal vertices are required to be leaves in the Steiner tree and the oth- ers may not. For a complete graph G =(V,E) with length function l : E R + and two vertex subsets R V and R R,a selected-leaf-terminal Steiner tree is a Steiner To whom correspondence should be addressed. E-mail: [email protected] tree which contains all vertices in R such that all vertices in R\ R belong to the leaves of this Steiner tree. The selected- leaf-terminal Steiner tree problem (SLTSTP for short) is to find a selected-leaf-terminal Steiner tree with the minimum length for the given complete graph. Since a trivial solu- tion can be obtained when |R| =1, we assume |R|≥ 2 throughout this paper. In the special case of R = (i.e., all the vertices of R belong to the leaves), SLTSTP is equal to the terminal Steiner tree problem [9], or the full Steiner tree problem [10] that was independently proposed by Lu et al. The currently best-known approximation algorithm for the Steiner tree problem has the approximation ratio ρ = 1+ ln 3 2 1.55 [11]. In this paper, we first show that SLT- STP is both NP-complete and MAX SNP-hard. We then construct an algorithm with approximation ratio within 2ρ for SLTSTP. 2 Preliminaries This paper considers finite, simple, and loopless graph G =(V,E), where V and E are the vertex and edge sets of G, respectively. We also use the notations V (G) and E(G) to denote the vertex and edge sets of G, respectively. Let G[X] denote the subgraph of G induced by X V (G).A path of length k from a vertex u to a vertex u in a graph G =(V,E) is a sequence v 0 ,v 1 ,v 2 ,...,v k of vertices such that u = v 0 , u = v k , and (v i1 ,v i ) E for i = 1, 2,...,k. We also call the above path (u, u )-path. The length of the path is the sum of edge-lengths in the path. A path is simple if all vertices in the path are distinct. For graph-theoretic terminologies and notations not mentioned here, please refer to [3]. In this paper, we assume that the length function is metric. Definition 1 The decision version of the selected-leaf- terminal Steiner tree problem is defined below: I NSTANCE: A complete graph G =(V,E) with l : E Proceedings of the Seventh International Conference on Parallel and Distributed Computing,Applications and Technologies (PDCAT'06) 0-7695-2736-1/06 $20.00 © 2006

[IEEE 2006 Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'06) - Taipei, Taiwan (2006.12.4-2006.12.7)] 2006 Seventh International

Embed Size (px)

Citation preview

Page 1: [IEEE 2006 Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'06) - Taipei, Taiwan (2006.12.4-2006.12.7)] 2006 Seventh International

Hardness and Approximation of the Selected-Leaf-Terminal Steiner TreeProblem

(Extended Abstract)

Sun-Yuan Hsieh∗ Huang-Ming Gao

Department of Computer Science and Information Engineering,National Cheng Kung University,

No. 1, University Road, Tainan 70101, TAIWAN

Abstract

For a complete graph G = (V,E) with length func-tion l : E → R+ and two vertex subsets R ⊂ V andR′ ⊆ R, a selected-leaf-terminal Steiner tree is a Steinertree which contains all vertices in R such that all ver-tices in R \ R′ belong to the leaves of this Steiner tree.The selected-leaf-terminal Steiner tree problem is to finda selected-leaf-terminal Steiner tree T whose total lengths∑

(u,v)∈T l(u, v) is minimum. In this paper, we show thatthe problem is both NP-complete and MAX SNP-hard whenthe lengths of edges are restricted to either 1 or 2. We alsoprovide an approximation algorithm for the problem.

1 Introduction

Given a graph G = (V,E) with a length (or distance)function l : E → R+ on the edges, and a vertex subsetR ⊆ V , a Steiner tree is a connected and acyclic subgraphof G which contains all the vertices of R. The vertices inR are terminals, and the vertices in V \ R are Steiner (oroptional) vertices. Note that a Steiner tree may contain op-tional vertices. The length of a Steiner tree equals the sumof the lengths of all edges in this tree. The Steiner treeproblem is to find a Steiner tree with the minimum lengthin G [2, 4, 7]. This problem has been shown to be NP-complete [8], even in the Euclidean metric [5] or rectilinearmetric [6].

In some practical applications, some terminal verticesare required to be leaves in the Steiner tree and the oth-ers may not. For a complete graph G = (V,E) with lengthfunction l : E → R+ and two vertex subsets R ⊂ V andR′ ⊆ R, a selected-leaf-terminal Steiner tree is a Steiner

∗To whom correspondence should be addressed. E-mail:[email protected]

tree which contains all vertices in R such that all vertices inR\R′ belong to the leaves of this Steiner tree. The selected-leaf-terminal Steiner tree problem (SLTSTP for short) is tofind a selected-leaf-terminal Steiner tree with the minimumlength for the given complete graph. Since a trivial solu-tion can be obtained when |R| = 1, we assume |R| ≥ 2throughout this paper. In the special case of R′ = ∅ (i.e., allthe vertices of R belong to the leaves), SLTSTP is equal tothe terminal Steiner tree problem [9], or the full Steiner treeproblem [10] that was independently proposed by Lu et al.

The currently best-known approximation algorithm forthe Steiner tree problem has the approximation ratio ρ =1 + ln 3

2 ≈ 1.55 [11]. In this paper, we first show that SLT-STP is both NP-complete and MAX SNP-hard. We thenconstruct an algorithm with approximation ratio within 2ρfor SLTSTP.

2 Preliminaries

This paper considers finite, simple, and loopless graphG = (V,E), where V and E are the vertex and edge sets ofG, respectively. We also use the notations V (G) and E(G)to denote the vertex and edge sets of G, respectively. LetG[X] denote the subgraph of G induced by X ⊆ V (G). Apath of length k from a vertex u to a vertex u′ in a graphG = (V,E) is a sequence 〈v0, v1, v2, . . . , vk〉 of verticessuch that u = v0, u′ = vk, and (vi−1, vi) ∈ E for i =1, 2, . . . , k. We also call the above path (u, u′)-path. Thelength of the path is the sum of edge-lengths in the path.A path is simple if all vertices in the path are distinct. Forgraph-theoretic terminologies and notations not mentionedhere, please refer to [3]. In this paper, we assume that thelength function is metric.

Definition 1 The decision version of the selected-leaf-terminal Steiner tree problem is defined below:INSTANCE: A complete graph G = (V,E) with l : E →

Proceedings of the Seventh International Conference onParallel and Distributed Computing,Applications and Technologies (PDCAT'06)0-7695-2736-1/06 $20.00 © 2006

Page 2: [IEEE 2006 Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'06) - Taipei, Taiwan (2006.12.4-2006.12.7)] 2006 Seventh International

R+ being metric, a proper subset R ⊂ V of terminals, asubset R′ ⊆ R, and a positive integer U .QUESTION: Is there a selected-leaf-terminal Steiner tree Tin G such that the length of T is less than or equal to U . ♦

If we restrict the lengths of edges to be either 1 or 2, thenSLTSTP is called (1, 2)-selected-leaf-terminal Steiner treeproblem, denoted by SLTSTP(1,2).

Theorem 1 The decision version of SLTSTP(1,2) is an NP-complete problem.

Proof: Clearly, the problem can be easily verified to be inNP. When R′ = ∅, the problem is equivalent to the fullSteiner tree problem with lengths of all the edges being re-stricted to 1 or 2, which is shown to be NP-complete [10].Therefore, the result holds. Q.E.D.

Definition 2 Let Π1 and Π2 be two optimization problems,we say that Π1 L-reduces to Π2 if there are polynomial timealgorithms A1 and A2 and positive constants α and β suchthat for any instance I1 of Π1, the following conditions aresatisfied:

(a) Algorithm A1 produces an instance A1(I1) for Π2 suchthat OPT(A1(I1)) ≤ α · OPT(I1), where OPT(I1)and OPT(A1(I1)) represent optimal solutions of I1

and A1(I1), respectively.

(b) Given any solution of A1(I1) with cost c2, algorithmA2 produces a solution of I1 with cost c1 in polynomialtime such that |c1−OPT(I1)| ≤ β·|c2−OPT(A1(I1)|.

♦A problem is MAX SNP-hard if every MAX SNP prob-

lem can L-reduces to this problem, but the problem itselfmay not be MAX SNP. On the other hand, we can show aproblem to be MAX SNP-hard by providing a L-reductionfrom some MAX SNP-hard problem to it.

3 MAX SNP-hardness

In this section, we show that SLTSTP(1,2) is MAX SNP-hard.

Definition 3 We define a restricted version of the Steinertree problem (RSTP) below:PROBLEM RSTPINSTANCE: A complete graph G = (V,E) with a metriclength function l : E → {1, 2}, a proper subset R ⊂ V ofterminals.QUESTION: Find a Steiner tree with minimum length. ♦Lemma 1 [1] RSTP is a MAX SNP-hard problem.

Theorem 2 SLTSTP(1,2) is a MAX SNP-hard problem.

Proof: We present an L-reduction from RSTP to SLT-STP(1,2). Let I1 = (G, l,R) be an input instance of RSTP,where G = (V,E) is a complete graph, l : E → {1, 2},and R ⊂ V is the set of terminals. We provide a polyno-mial time algorithm A1, which transforms I1 into an inputinstance A1(I1) of SLTSTP(1,2) as follows:

1. Given R′ ⊆ R, create a dummy vertex pv and a newedge (v, pv) for each vertex v ∈ R \ R′.

2. Let S = {pv| v ∈ R \ R′} and let G′ = (V ′, E′),where V ′ = V ∪S and E′ = E∪{(v, pv)| v ∈ R\R′}.Also let R∗ = R′ ∪ S. Define the length functionl′ : E′ → {1, 2} as follows:

l′ ={

l(x, y) if neither x nor y is a dummy vertex,1 otherwise.

Then, I2 = A1(I1) = (G′, l′, R∗, R′) is an input in-stance of SLTSTP(1,2).

Let OPT(I1) and OPT(A1(I1)) be optimal solutions ofRSTP and SLTSTP(1,2), respectively. We first show thatCondition (a) of Definition 2 holds:Since |R \ R′| < |V (G)| and OPT(I1) ≥ |R| − 1 ≥ |R \R′| − 1, we have that

OPT(A1(I1)) = OPT(I1) + |R \ R′| (1)

≤ 2 · OPT(I1) + 1 (2)

≤ 3 · OPT(I1), (3)

when |R| ≥ 2. Therefore, OPT(A1(I1)) ≤ α ·OPT(I1) byα = 3.

We next show Condition (b) of Definition 2 holds.Let SOL(A1(I1)) be any solution of SLTSTP(1,2) withcost c2. By the construction of A1, all the added edges{(v, pv)| v ∈ R \ R′} are in SOL(A1(I1)). We then con-struct a polynomial-time algorithm A2 that just works bydeleting all the above added edges in SOL(A1(I1)). Notethat the resulting subgraph is a solution of RSTP, denotedby OPT(I1), with cost c1. Then, c2 = c1 + |R \R′|. More-over, c2 − OPT(A1(I1)) = (c1 + |R \R′|)− (OPT(I1) +|R \ R′|) = c1 − OPT(I1) by Equation 1. Consequently,|c1 − OPT(I1)| ≤ β · |c2 − OPT(A1(I1))| by β = 1. Theproof is completed. Q.E.D.

4 An approximation algorithm

Let ASTP be the best-known approximation algorithmfor the Steiner tree problem with ratio ρ = 1 + ln 3

2 ≈1.55 [11]. The concept of our algorithm is first to ap-ply ASTP to obtain a Steiner tree SA = (VA, EA),and then transform it to a selected-leaf-terminal Steiner

Proceedings of the Seventh International Conference onParallel and Distributed Computing,Applications and Technologies (PDCAT'06)0-7695-2736-1/06 $20.00 © 2006

Page 3: [IEEE 2006 Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'06) - Taipei, Taiwan (2006.12.4-2006.12.7)] 2006 Seventh International

tree. For a vertex w ∈ VA, let NSA(w) be the set,

called SA-neighborhood of w, consisting of all the ver-tices in SA which are adjacent to w. We also call thevertices in NSA

(w) SA-neighbors of w. Further, letdSA

(v) = |NSA(w)|. Assume that w1, w2, . . . , wk are the

SA-neighbors of w such that l(w,w1) ≤ l(w,w2) ≤ · · · ≤l(w,wk). In particular, w1 and w2 are said to be the firstand second SA-neighbors of w, denoted by N1

SA(w) and

N2SA

(w), respectively.For a vertex r ∈ V (SA), we use star(r) to denote

a subtree of SA formed by {(r, v) : v ∈ NSA(r)}. For

a graph G with a length function l : E(G) → R+, letlen(G) =

∑e∈E(G) l(e). Recall that G[NSA

(r)] is the sub-graph of G induced by NSA

(r). We use MST (G[NSA(r)])

to denote a minimum-weight spanning tree of G[NSA(r)].

We now present our approximation algorithm.

ALGORITHM ASLTSTP (approximation algorithm for SLT-STP)Input: A complete graph G = (V,E) with a metric lengthfunction l : E → R+, a proper subset R ⊂ V of terminals,and a subset R′ ⊆ R.Output: A selected-leaf-terminal Steiner tree TG.

Step 1 Delete all the edges in the set ER\R′ ={(u, v)| u, v ∈ R\R′} (note that the edges of ER can-not appear in any selected-leaf-terminal Steiner tree).

Step 2 (Find a Steiner tree in G).

Use ASTP to find a Steiner tree SA in G.

Step 3. (Transform SA into a selected-leaf-terminalSteiner tree.)

if SA is not a selected-leaf-terminal Steiner tree then

for each r ∈ R \ R′ with |NSA(r)| ≥ 2 in SA do

3-1. Remove all the edges in star(r) \{(r,N1

SA(r))} from SA.

3-2. Find MST (G[NSA(r)]) and add all the

edges of MST (G[NSA(r)]) into current SA.

end for

Return TG = SA.

We can show the following lemma.

Lemma 2 Let r be a vertex in R \ R′ and s =max{(

∑v∈R′

dSA(v)) − |R| + 1, 0}. Also let w0 = 0, and

w1, w2, . . . , ws be the first s smallest-length edges of SA =(VA, EA). Then,

∑r∈R\R′

len(star(r)) ≤ len(SA) − δ,

where

δ =

0 if R′ = ∅s∑

i=0

wi if R′ ⊂ R and R′ = ∅

len(SA) if R′ = R.

Theorem 3 Algorithm ASLTSTP is a (2 − δ

len(SA))ρ-

approximation algorithm for the selected-leaf-terminalSteiner tree problem, where δ is defined in the statementof Lemma 2, and ρ is an approximation ration of the best-known algorithm for the Steiner tree problem. Moreover,0 ≤ δ

len(SA) ≤ 1.

Proof: Obviously, our algorithm can correctly construct aselected-leaf-terminal Steiner tree. We next show its ap-proximation ratio. Let TO and SO be the optimal selected-leaf-terminal Steiner tree and Steiner tree in G, respectively.Since we use an ρ-approximation algorithm to find a Steinertree SA and then transform it to a selected-leaf-terminalSteiner tree, we have

len(SA) ≤ ρ · len(SO). (4)

Since TO is also a Steiner tree for R,

len(SO) ≤ len(TO). (5)

By Equations 4 and 5,

len(SA) ≤ ρ · len(TO). (6)

For r in R \ R′, let P = 〈v1 = N1SA

(r), v2, v3, . . . , vk =N2

SA(r)〉 be a (N1

SA(r), N2

SA(r))-path in G, which is com-

posed of all the neighbors of r. Note that such a pathmust exist because G is a complete graph. Recall thatl(vi, vj) is the length of the edge (vi, vj). Since the lengthfunction is metric, we have that l(v1, v2) ≤ l(r, v1) +l(r, v2), l(v2, v3) ≤ l(r, v2) + l(r, v3), . . . , l(vk−1, vk) ≤l(r, vk−1) + l(r, vk). Then,

len(P ) = l(v1, v2) + l(v2, v3) + · · · + l(vk−1, vk)

≤ l(r, v1) + 2 · l(r, v2) + 2 · l(r, v3)

+ · · · + 2 · l(r, vk−1) + l(r, vk)

= 2 · len(star(r)) − l(r,N1SA

(r))

−l(r,N2SA

(r)). (7)

Since path P is also a spanning tree of G[NG(r)],

len(MST (G[NG(r)])) ≤ len(P )

Proceedings of the Seventh International Conference onParallel and Distributed Computing,Applications and Technologies (PDCAT'06)0-7695-2736-1/06 $20.00 © 2006

Page 4: [IEEE 2006 Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'06) - Taipei, Taiwan (2006.12.4-2006.12.7)] 2006 Seventh International

≤ 2 · len(star(r))

−l(r,N1SA

(r))

−l(r,N2SA

(r)). (8)

Let TA be a selected-leaf-terminal Steiner tree returnedby the algorithm. By construction of TA, we have that

len(TA) ≤ len(SA)

+∑

r∈R\R′(len(MST (G[NG(r)]))

−len(star(r)) + l(r,N1SA

(r)))

≤ len(SA)

+∑

r∈R\R′(len(star(r)) − l(r,N2

SA(r)))

/∗ by Equation 8 ∗ /

≤ len(SA) +∑

r∈R\R′len(star(r))

≤ len(SA) + (len(SA) − δ)

/∗ by Lemma 2 ∗ /

≤ ρ · len(TO) + (len(SA) − δ) (9)

/∗ by Equation 6 ∗ / .

Consequently, we have that

len(TA)len(TO)

≤ ρ · len(TO) + (len(SA) − δ)len(TO)

= ρ +len(SA) − δ

len(TO)

= ρ +ρ · (len(SA) − δ)

ρ · len(TO)

≤ ρ +ρ · len(SA) − ρ · δ

len(SA)/∗ by Equation 6 ∗ /

= (2 − δ

len(SA)) · ρ

Therefore, ASLTSTP is a (2− δlen(SA) )ρ-approximation

algorithm. On the other hand, by the definition of δ in thestatement of Lemma 2, 0 ≤ δ

len(SA) ≤ 1. Q.E.D.

References

[1] M. Bern and P. Plassmann, “The Steiner problem withedge lengths 1 and 2,” Information Processing Letters,vol. 32(4), pp. 171–176, 1989.

[2] X. Cheng and D. Z. Du, Steiner Trees in Indus-try, Kluwer Academic Publishers, Dordrecht, Nether-lands, 2001.

[3] D. B. West, Introduction to Graph Theory (SecondEdition), Prentice Hall, Upper Saddle River, 2001.

[4] D. Z. Du, J. M. Smith, and J. H. Rubinstein, Advancein Steiner Tree, Kluwer Academic Publishers, Dor-drecht, Netherlands, 2000.

[5] M. Garey, R. Graham, and D. Johnson, “The complex-ity of computing Steiner minimal trees,” SIAM Journalon Applied Mathematics, vol. 32, pp. 835–859, 1977.

[6] M. Garey and D. Johnson, “The rectilinear Steinerproblem is NP-complete,” SIAM Journal on AppliedMathematics, vol. 32, pp. 826–834, 1977.

[7] F. K. Hwang, D. S. Richards, and P. Winter, “TheSteiner Tree Problem,” Annuals of Discrete Mathe-matices 53, Elsevier Science Publishers, Amsterdam,1992.

[8] R. Karp, “Reducibility among combinatorial prob-lems,” in R. E. Miller, J. W. Thatcher eds.: Complexityof Computer Computations, Plenum Press, New York,pp. 85–103, 1972.

[9] G. H. Lin and G. L. Xue, “On the terminal Steiner treeproblem,” Information Processing Letters, vol. 84(2),pp. 103–107, 2002.

[10] C. L. Lu, C. Y. Tang, R. C. T. Lee, “The full Steinertree problem in phylogeny,” Theoretical ComputerScience, vol. 306(1–3), pp. 55–67, 2004.

[11] G. Robins and A. Zelikovsky, “Improved Steiner treeapproximation in graphs,” in Proceedings of the 11thAnnual ACM-SIAM Symposium on Discrete Algo-rithms (SODA), pp. 770–779, 2000.

Proceedings of the Seventh International Conference onParallel and Distributed Computing,Applications and Technologies (PDCAT'06)0-7695-2736-1/06 $20.00 © 2006