### Approximation algorithms for some optimum communication spanning tree problems

### Bang Ye Wu

^{a}

### , Kun-Mao Chao

^{b;∗}### , Chuan Yi Tang

^{c}

aChung-Shan Institute of Science and Technology, P.O. Box No. 90008-6-8, Lung-Tan, Taiwan

bDepartment of Life Science, National Yang-Ming University, Taipei, Taiwan

cDepartment of Computer Science, National Tsing Hua University, Hsinchu, Taiwan Received 23 January 1998; revised 22 January 1999; accepted 6 July 1999

Abstract

Let G = (V; E; w) be an undirected graph with nonnegative edge length function w and non- negative vertex weight function r. The optimal product-requirement communication spanning tree (PROCT) problem is to nd a spanning tree T minimizingP

*u;v ∈ V*r(u)r(v)dT(u; v), where
dT(u; v) is the length of the path between u and v on T. The optimal sum-requirement commu-
nication spanning tree (SROCT) problem is to nd a spanning tree T such that P

*u;v ∈ V*(r(u)
+ r(v))dT(u; v) is minimized. Both problems are special cases of the optimum communication
spanning tree problem, and are reduced to the minimum routing cost spanning tree (MRCT) prob-
lem when all the vertex weights are equal to each other. In this paper, we present an O(n^{5})-time
1.577-approximation algorithm for the PROCT problem, and an O(n^{3}) time 2-approximation
algorithm for the SROCT problem, where n is the number of vertices. We also show that a
1.577-approximation solution for the MRCT problem can be obtained in O(n^{3})-time, which im-
proves the time complexity of the previous result. ? 2000 Elsevier Science B.V. All rights
reserved.

Keywords: Approximation algorithms; Spanning trees; Network design

1. Introduction

Consider the following network design problem proposed by Hu in [3]. Let G = (V; E; w) be an undirected graph with nonnegative edge length function w. The vertices may represent cities and the edge lengths represent the distances. We are also given the

*∗*Corresponding author.

E-mail addresses: bangye@ms16.hinet.net (B.Y. Wu), kmchao@ym.edu.tw (K. Chao), cytang@

cs.nthu.edu.tw (C.Y. Tang)

0166-218X/00/$ - see front matter ? 2000 Elsevier Science B.V. All rights reserved.

PII: S0166-218X(99)00212-7

requirements (u; v) for each pair of vertices, which may represent the number of telephone calls between the two cities. For any spanning tree T of G, the communi- cation cost between two cities is dened to be the requirement multiplied by the path length of the two cities on T, and the communication cost of T is the total commu- nication cost summed over all pairs of vertices. Our goal is to construct a spanning tree with minimum communication cost. That is, we want to nd a spanning tree T such that P

*u;v ∈ V*(u; v)d_{T}(u; v) is minimized, where d_{T}(u; v) is the distance between
u and v on T.

The above problem is called the optimum communication spanning tree (OCT) prob- lem. Let r be a given nonnegative vertex weight function. We consider the following two special cases of the OCT problem in this paper.

*• The requirement between a pair of vertices is assumed to be the product of their*
*vertex weights, i.e., (u; v) = r(u) × r(v). The product-requirement communication*
(p.r.c.) cost of a tree T is dened by C_{p}(T)=P

u;vr(u)r(v)d_{T}(u; v). Given a graph G,
the optimal product-requirement communication spanning tree (PROCT) problem
is to nd a spanning tree T of G such that C_{p}(T) is minimum among all possible
spanning trees. If a vertex v represents a city, then r(v) may be thought of as
the population of that city. The communication requirement of a pair of vertices is
assumed proportional to the product of the populations of the two cities.

*• The requirement between a pair of vertices is dened to be the sum of their vertex*
weights, i.e., (u; v) = r(u) + r(v). The sum-requirement communication (s.r.c.) cost
of a tree T is dened by Cs(T) =P

u;v(r(u) + r(v))dT(u; v). Given a graph G, the optimal sum-requirement communication spanning tree (SROCT) problem is to nd a spanning tree T of G such that Cs(T) is minimum among all possible spanning trees. The SROCT problem may arise in the following situation: For each node in the network, there is an individual message to be sent to every other node and the amount of the message is proportional to the weight of the receiver. With this assumption, the communication cost of a spanning tree T isP

u;vr(v)d_{T}(u; v), which
is exactly one half of Cs(T).

The two communication costs between a pair of vertices are illustrated in Fig. 1.

When the vertex weights are all equal, e.g., r(v) = 1 for each vertex v, both the PROCT and the SROCT problems are reduced to the minimum routing cost span- ning tree (MRCT) problem (also called the shortest total path length spanning tree problem). The MRCT problem was shown to be NP-hard in [4] (also listed in [2]).

Thus the two problems are also NP-hard. In [6], a 2-approximation algorithm for the

Fig. 1. The p.r.c. and s.r.c. costs.

Fig. 2. The relationship of the OCT, PROCT, SROCT, and MRCT problems.

MRCT was presented. Recently, a polynomial time approximation scheme (PTAS) for the MRCT problem was proposed and an application to computational biology was discussed in [7]. In this paper, we present a 1.577-approximation algorithm for the PROCT problem, and a 2-approximation algorithm for the SROCT problem. The relationship of the four problems is shown in Fig. 2.

The PTAS for the MRCT problem in [7] was obtained by showing the following properties:

1. The MRCT problem with general inputs is equivalent to the problem with metric inputs (complete graphs in which edge lengths obey the triangle inequality).

2. A k-star is a spanning tree with at most k internal nodes. The minimum routing cost k-star is a ((k + 3)=(k + 1))-approximation solution for the metric MRCT problem.

3. For a xed k, the minimum routing cost k-star on a metric can be found in poly- nomial time.

In fact, the rst and the second properties remain true for the PROCT problem.

They can be obtained by straightforward generalizations of the previous results. Con- sequently, a polynomial time algorithm for the minimum p.r.c. cost k-star is a PTAS for the PROCT problem. However, there is no obvious way to generalize the algor- ithm for the minimum routing cost k-star to that for the minimum p.r.c. cost k-star.

In this paper, we show that the minimum p.r.c. cost 2-star can be found in O(n^{5})
time by solving a series of min-cut problems. By the result in [7], such a 2-star is a

53-approximation solution of the PROCT problem. With a more precise analysis, we
shall show that such a 2-star is in fact a 1.577-approximation solution. This result also
improves the approximation ratio of the minimum routing cost 2-star for the MRCT
problem from ^{5}_{3} to 1.577.

The previous result in [7] give us an O(n^{4}) time algorithm for the minimum routing
cost 2-star. We shall show that the minimum routing cost 2-star can be solved in
O(n^{3}log n) time. Combined with the improvement on the approximation ratio, this leads
to an ecient 1.577-approximation algorithm for the MRCT problem. Furthermore, we
show that it is possible to nd a 1.577-approximation solution for the MRCT problem in
O(n^{3}) time by constructing a special 2-star instead of the minimum routing cost 2-star.

For the SROCT problem, an O(n^{3}) time 2-approximation algorithm is given in this
paper. For any graph, we show that there exists a vertex v such that the shortest-path
tree rooted at v is a 2-approximation solution of the SROCT problem.

The remaining sections are organized as follows: In Section 2, some denitions and notations are given. The PROCT problem is discussed in Section 3, and the fast approximation algorithm for the MRCT problem is presented in Section 4. The ap- proximation algorithm for the SROCT problem is proposed in Section 5. Finally, we give concluding remarks in Section 6.

2. Preliminaries

In this paper, a graph is a simple, connected and undirected graph. By G =(V; E; w), we denote a graph G with vertex set V , edge set E, and edge length function w. Both the edge length function and the vertex weight function are assumed to be nonnegative.

For any graph G, V (G) denotes its vertex set and E(G) denotes its edge set. Let w be an edge length function on a graph G. For a subgraph H of G, we dene w(H) = w(E(H)) =P

*e ∈ E(H)*w(e). Similarly, let r be a vertex weight function and
*U ⊂ V (G). We dene r(U) =*P

*v ∈ U*r(v) and r(H) = r(V (H)) for any subgraph H of
*G. We shall also use n and R to denote |V (G)| and r(G).*

*Deÿnition 1. Let G = (V; E; w) be a graph. For u; v ∈ V , SP*G(u; v) denotes a short-
est path between u and v on G. The shortest path length is denoted by d_{G}(u; v) =
w(SPG(u; v)).

*Deÿnition 2. Let H be a subgraph of G. For a vertex v ∈ V (G), we use d*_{G}(v; H) to
denote the shortest distance from v to H, i.e., dG(v; H) = min*u ∈ V (H)*dG(v; u).

The p.r.c. cost and the s.r.c cost of a tree are dened in the previous section. We now dene the routing cost of a tree.

Deÿnition 3. For a tree T, the routing cost of T is dened by C(T) = P

*u;v ∈ V (T)*

d_{T}(u; v).

*Deÿnition 4. Let T be a tree and e ∈ E(T). Assume X and Y be the two subtrees*
resulted by deleting e from T. We dene the routing load on edge e to be l(T; e) =
*2|V (X )| × |V (Y )|.*

Lemma 1. For a tree T with edge length function w; C(T) =P

*e ∈ E(T)*l(T; e)w(e). In
addition; C(T) can be computed in O(n) time; where n is the number of vertices in T.

Proof.

C(T) = X

*u;v ∈ V (T)*

dT(u; v)

= X

*u;v ∈ V (T)*

X

*e ∈ SP*T(u;v)

w(e)

= X

*e ∈ E(T)*

X

*u ∈ V (T)*

*|{v|e ∈ SP*_{T}*(u; v)}|*

w(e)

= X

*e ∈ E(T)*

l(T; e)w(e):

To compute C(T), we only need to nd the routing load on each edge. This can be done in O(n) time by rooting T at any node and traversing T in a postorder sequence.

Similarly, we dene the product-requirement communication load (p.r.c. load) and the sum-requirement communication load (s.r.c. load) as follows:

*Deÿnition 5. Let T be a tree with vertex weight function r and e ∈ E(T). Assume*
X and Y be the two subtrees resulted by deleting e from T. The p.r.c. load on
edge e is dened by l_{p}(T; r; e) = 2r(X )r(Y ). The s.r.c. load on edge e is dened
by l_{s}*(T; r; e) = 2(|V (X )|r(Y ) + |V (Y )|r(X )).*

The following corollaries are similar to Lemma 1.

Corollary 2. For a tree T with edge length function w and vertex weight function r;

C_{p}(T) =P

*e ∈ E(T)*l_{p}(T; r; e)w(e). In addition; C_{p}(T) can be computed in O(n) time;

where n is the number of vertices in T.

Corollary 3. For a tree T with edge length function w and vertex weight function
r; C_{s}(T) =P

*e ∈ E(T)*l_{s}(T; r; e)w(e). In addition; C_{s}(T) can be computed in O(n) time;

where n is the number of vertices in T.

For example, let T be the tree in Fig. 1. The p.r.c. load of edge (b; c) is 2(3 + 0)(1 + 2 + 1) = 24 and the p.r.c. cost of T can be computed as follows:

C_{p}*(T) = 2 × 3 × 4 × w(a; b) + 2 × 3 × 4 × w(b; c)*

*+ 2 × 5 × 2 × w(c; d) + 2 × 6 × 1 × w(c; e) = 172:*

The s.r.c. load of edge (b; c) is 2(2)(1 + 2 + 1) + 2(3 + 0)(3) = 34 and the s.r.c. cost of T can be computed by

C_{s}*(T) = 32 × w(a; b) + 34 × w(b; c) + 26 × w(c; d) + 20 × w(c; e) = 238:*

Deÿnition 6. A metric graph is a complete graph whose edge lengths satisfy the triangle inequality.

Deÿnition 7. The metric closure of a graph G is the complete graph with vertex set
V (G) and edge length function , where (u; v) = d_{G}(u; v) for any pair of vertices u
and v.

Note that the metric closure of a graph is a metric graph.

*Deÿnition 8. Let T be a rooted tree. For any v ∈ V (T); T*v denotes the subtree with
root v.

*Deÿnition 9. The centroid of a tree T is a vertex m ∈ V (T) such that if we root T at*
*m, then |V (T*v*)|6|V (T)|=2 for any vertex v 6= m.*

The existence of the centroid of a tree can be easily proved. If we root a tree T
*at any vertex, then there must exist a vertex m such that |V (T*m*)| ¿ |V (T)|=2 and*

*|V (T*_{v}*)|6|V (T)|=2 for any v ∈ V (T*_{m}*) \ {m}. Since |V (T)| − |V (T*_{m}*)| is also no more*
*than |V (T)|=2, we conclude that m is the centroid. Similarly, we dene the r-centroid*
of a tree with vertex weight function r.

Deÿnition 10. Let T be a tree with vertex weight function r. The r-centroid of a tree T
*is a vertex m ∈ V (T) such that if we root T at m, then r(T*_{v})6r(T)=2 for any vertex
*v 6= m.*

For example, both the centroid and the r-centroid of the tree in Fig. 1 are vertex c.

If r(b) = 2 instead of zero, the r-centroid will be vertex b.

3. The PROCT problem

In this section, we discuss the PROCT problem. Let G=(V; E; w) and vertex weight r be the input of the PROCT problem. Our algorithm works as follows:

*• Construct the metric closure G of G.*

*• Find the minimum p.r.c. cost 2-star T of G.*

*• Transform T into a spanning tree Y of G with C*_{p}(Y )6C_{p}(T).

The result for the PROCT problem is stated in the following theorem:

Theorem 4. There is a 1:577-approximation algorithm with time complexity O(n^{5})
for the PROCT problem.

To prove the correctness of the theorem, we show the following in the next subsec- tions:

*• Given any spanning tree T of G, we can compute from T a spanning tree Y of G*
such that Cp(Y )6Cp(T).

*• For any ¿ 0, if T is a (1 + )-approximation solution of the PROCT problem*
with input G, then Y is a (1 + )-approximation solution of the PROCT problem
with input G, where the PROCT problem has the same denition as the PROCT
problem except that the input is always a metric graph.

*• The minimum p.r.c. cost 2-star T is a 1.577-approximation solution of the PROCT*
problem with input G.

*• The overall time complexity is O(n*^{5}).

3.1. A reduction from the general to the metric case

In this subsection, we discuss the transformation algorithm and the related results.

The algorithm comes from Wu et al. [7]. It was developed for the MRCT problem,
and we show that it also works for the PROCT problem. Let G = (V; E; w) and G =
*(V; V × V; ) be the metric closure of G. Any edge (a; b) in G is called a bad edge*
*if (a; b) 6∈ E or w(a; b) ¿ (a; b). Given any spanning tree T of G, the algorithm rst*
computes the shortest paths for all pairs of vertices. Then a tree Y is constructed by
iteratively replacing the bad edges until there exists no bad edge. Since Y has no bad
*edge, (e) = w(e) for any edge e ∈ E(Y ), and Y can be thought of as a spanning tree*
of G with the same cost. The algorithm is listed below.

Algorithm Remove-bad

Input: a spanning tree T of G

Output: a spanning tree Y of G such that Cp(Y )6Cp(T).

Compute all-pairs shortest paths of G.

(I) while there exists a bad edge in T

Pick a bad edge (a; b). Root T at a.

=* ^{∗}* assume SPG(a; b) = (a; x; : : : ; b) and y is the parent of x

*= if b is not an ancestor of x then*

^{∗}Y^{∗}*= T ∪ (x; b) − (a; b); Y** ^{∗∗}*= Y

^{∗}*∪ (a; x) − (x; y);*

else

Y^{∗}*= T ∪ (a; x) − (a; b); Y** ^{∗∗}*= Y

^{∗}*∪ (b; x) − (x; y);*

endif

if C_{p}(Y* ^{∗}*) ¡ C

_{p}(Y

*) then Y = Y*

^{∗∗}*else Y = Y*

^{∗}*endif*

^{∗∗}(II) T = Y

endwhile

The following claim is the same as in [7]. We omit the proof.

Claim 5. The loop (I) is executed at most O(n^{2}) times.

Claim 6. Before instruction (II) is executed; Cp(Y )6Cp(T).

Fig. 3. Remove bad edge (a; b). Case 1 (left) and Case 2 (right).

Proof. For any node v, let S_{v}= V (T_{v}). As shown in Fig. 3, there are two cases.

Case 2 is identical to Case 1 if we re-root the tree at b and exchange the roles of a
*and b. Therefore, we only need to show the inequality for Case 1, i.e. x ∈ S*_{a}*\S*_{b}.

If C_{p}(Y* ^{∗}*)6C

_{p}(T), the result follows. Otherwise, let U

_{1}=S

_{a}

*\S*

_{b}and U

_{2}=S

_{a}

*\S*

_{b}

*\S*

_{x}. Since in Y

*the distance does not change for any two vertices both in U1 (or both in S*

^{∗}_{b}), we have

C_{p}(T) ¡ C_{p}(Y^{∗}*) ⇒* X

*u ∈ U*1

X

*v ∈ S*b

r(u)r(v)d_{T}(u; v) ¡ X

*u ∈ U*1

X

*v ∈ S*b

r(u)r(v)d_{Y}* ^{∗}*(u; v):

*Since for all u ∈ U*_{1} *and v ∈ S*_{b}; d_{T}(u; v)=d_{T}(u; a)+(a; b)+d_{T}(b; v) and d_{Y}* ^{∗}*(u; v)=

dT(u; x) + (x; b) + dT(b; v), we have X

*u ∈ U*1

X

*v ∈ S*b

r(u)r(v)(dT(u; a) + (a; b) + dT(b; v))

¡ X

*u ∈ U*1

X

*v ∈ S*b

r(u)r(v)(dT(u; x) + (x; b) + dT(b; v))

*⇒ r(S*_{b}) X

*u ∈ U*1

r(u)d_{T}(u; a) + r(U_{1})r(S_{b})(a; b)

¡ r(S_{b}) X

*u ∈ U*1

r(u)d_{T}(u; x) + r(U_{1})r(S_{b})(x; b)

*⇒* X

*u ∈ U*1

r(u)dT(u; a) + r(U1)(a; b) ¡ X

*u ∈ U*1

r(u)dT(u; x) + r(U1)(x; b):

Note that r(S_{b}) ¿ 0 since the strict inequality holds. By the denition of the metric
closure, we have (a; b) = (a; x) + (x; b), and then

X

*u ∈ U*1

r(u)(dT*(u; a) − d*T*(u; x)) ¡ − r(U*1)(a; x): (1)

Now let us consider the cost of Y* ^{∗∗}*.
(Cp(Y

^{∗∗}*) − C*p(T))=2 = X

*u ∈ U*2

X

*v ∈ S*x

r(u)r(v)(dY^{∗∗}*(u; v) − d*T(u; v))

+ X

*u ∈ U*1

X

*v ∈ S*b

r(u)r(v)(dY^{∗∗}*(u; v) − d*T(u; v)):

Since dY* ^{∗∗}*(u; v)6dT

*(u; v) for u ∈ U*1

*and v ∈ S*b, the second term is not positive. By observing that d

_{T}(u; v)=d

_{T}(u; x)+d

_{T}(x; v) and d

_{Y}

*(u; v)=d*

^{∗∗}_{T}(u; a)+(a; x)+d

_{T}(x; v)

*for any u ∈ U*

_{2}

*and v ∈ S*

_{x}, we have

(Cp(Y^{∗∗}*) − C*p(T))=2

6 X

*u ∈ U*2

X

*v ∈ S*x

r(u)r(v)(dT*(u; a) + (a; x) − d*T(u; x))

=r(Sx) X

*u ∈ U*2

r(u)(dT*(u; a) + (a; x) − d*T(u; x))

=r(Sx) X

*u ∈ U*2

r(u)(dT*(u; a) − d*T(u; x)) + r(U2)r(Sx)(a; x)

6r(Sx) X

*u ∈ U*1

r(u)(dT*(u; a) − d*T(u; x)) + r(U2)r(Sx)(a; x) (2)

*¡ − r(U*_{1})r(S_{x})(a; x) + r(U_{2})r(S_{x})(a; x) (3)
60:

Eq. (2) is obtained by observing that U_{1}*\U*_{2}= S_{x} and d_{T}(u; a) ¿ d_{T}(u; x) for any
*u ∈ S*x. Eq. (3) is derived by Eq. (1). Therefore, Cp(Y* ^{∗∗}*) ¡ Cp(T) and the result fol-
lows.

The following lemma comes from the above two claims and the fact that the all-pairs
shortest paths can be found in O(n^{3}) time.

Lemma 7. Given a spanning tree T of G; the algorithm Remove bad constructs a
spanning tree Y of G with Cp(Y )6Cp(T) in O(n^{3}) time.

Let PROCT(G) denote the optimum solution of the PROCT problem with input
graph G. The above lemma implies that C_{p}(PROCT(G))6C_{p}(PROCT( G)). It is easy
to see that Cp(PROCT(G))¿Cp(PROCT( G)). Therefore, we have the following corol-
lary.

Corollary 8. Cp(PROCT(G)) = Cp(PROCT( G)).

Corollary 9. If there is a (1 + )-approximation algorithm for PROCT problem
with time complexity O(f(n)); then there is a (1 + )-approximation algorithm for
PROCT with time complexity O(f(n) + n^{3}).

Proof. Let G be the input graph for a PROCT problem. We can construct G in time
O(n^{3}) (see e.g. [1]). If there is a (1 + )-approximation algorithm for the PROCT

problem, we can compute in time O(f(n)) a spanning tree T of G such that Cp(T)6(1
+ )C_{p}(PROCT( G)). Using Algorithm Remove bad, we can then construct a spanning
tree Y of G such that C_{p}(Y )6C_{p}(T)6(1+)C_{p}(PROCT( G))=(1+)C_{p}(PROCT(G)).

The overall time complexity is then O(f(n) + n^{3}).

3.2. Finding the minimum p.r.c. cost 2-star

In this subsection, we present an algorithm for nding a 2-star T of a metric graph such that Cp(T) is minimum among all possible 2-stars. In the next subsection, we shall show that T is a 1.577 approximation solution for the PROCT problem. Combining the result of Corollary 9, we obtain a 1.577-approximation algorithm for the PROCT problem. We dene a notation for 2-stars as follows:

Deÿnition 11. Let G =(V; E; w) be a metric graph. A 2-star of G is a spanning tree of
*G with at most two internal nodes. Assume x ∈ X and y ∈ Y , and X ,Y be a partition*
*of V . We use 2star(x; y; X; Y ) to denote a 2-star with edge set {(x; v) | v ∈ X; v 6= x} ∪*
*{(y; v) | v ∈ Y; v 6= y} ∪ {(x; y)}.*

The next lemma follows immediately from Lemma 2, and we omit the proof.

Lemma 10. Let T = 2star(x; y; X; Y ) and R = r(T).

Cp(T) = 2r(X )r(Y )w(x; y) + 2X

*v ∈ X*

*r(v)(R − r(v))w(x; v)*

+ 2X

*v ∈ Y*

*r(v)(R − r(v))w(y; v):*

Before presenting our algorithm, we brie
y explain why the minimum p.r.c. cost
2-star (or even k-star) cannot be found by the algorithm in [7]. Any k-star can be
*described by a triple (S; ; L), where S = {v*_{1}; : : : ; v_{k}*} ⊆ V is the set of k distinguished*
vertices which may have degree more than one, is a spanning tree topology on
S, and L = (L_{1}; : : : ; L_{k}), where L_{i}*⊆ V \S is the set of vertices connected to vertex*
vi*∈ S. Let A = (n*1; : : : ; nk) be a nonnegative k-vector (a vector whose components
are k nonnegative integers) such that P_{k}

i=1n_{i}*= n − k. We say that a k-star (S; ; L)*
has the conguration (S; ; A) if ni *= |L*i*| for all 16i6k. For a xed k, the total*
number of congurations is O(n* ^{2k−1}*) since there are

^{n}

_{k}

choices for S; k* ^{k−2}* possible
tree topologies on k vertices, and

*n−1**k−1*

possible such k-vectors. Note that any two k-stars with the same conguration have the same routing load on their corresponding edges.

*Any vertex v in V \ S that is connected to a node s ∈ S contributes to the (standard)*
*routing cost a term of w(v; s) multiplied by its routing load of 2(n − 1). Since all these*
*routing loads are the same, the best way of connecting the vertices in V \S to nodes*

*in S, is obtained by nding a minimum-cost way of matching up the nodes of V \S*
to those in S which obeys the degree constraints on the nodes of S imposed by the
conguration, and the costs are the edge weights w. This problem can be solved in
polynomial time for a given conguration (by a straightforward reduction to an instance
of minimum-cost perfect matching).

The reason why we cannot nd the minimum p.r.c. cost k-star by the above method
is that we do not know how to nd (in polynomial time) the best way to connect
*the vertices in V \ S to nodes in S even for a xed conguration. Two k-stars with the*
same conguration may have dierent p.r.c. loads on their corresponding edges. If
we modify the denition of the conguration so that n_{i} = r(L_{i}), then it may be
possible to nd the best leaf connection for a xed conguration in polynomial time,
but the number of congurations will be exponential.

Another question is whether the minimum p.r.c. cost k-star can be found by an
incremental method similar to the one in [7]. Let us focus on the case k = 2. For xed
x and y, let Xi and Yi be the vertex sets such that 2star(x; y; Xi; Yi) is the minimum
*routing cost 2-star with exact i leaves connected to x for i = 0; 1; : : : ; n − 2. The key*
point of the incremental method in [7] is the following property: There always exists a
*vertex v ∈ Y*i such that Xi+1= Xi*∪ {v}. Therefore, instead of solving many assignment*
problems, all X_{i} can be found one by one. However, the property does not hold for the
p.r.c. cost 2-star. For example, assume X1*= {v*1*} and Y*1*= {v*2; v3*}. All vertex weights*
on x; y; v_{1} are small, and r(v_{2}) = r(v_{3}) = a is a large number. The vertex weights are
*set in such a way that the p.r.c. load on edge (x; y) will be very large if {v*1; v2*} or*
*{v*_{1}; v_{3}*} is the set of leaves connected to x. The large load will force X*_{2}*= {v*_{2}; v_{3}*}, and*
this is a counterexample of the above property.

Now let us turn to our algorithm for the minimum p.r.c. cost 2-star. If for any
specied x and y we can nd the best partition X and Y in O(f(n)) time, then
we can solve the minimum p.r.c. cost 2-star problem in O(n^{2}f(n)) time by trying
all possible vertex pairs for x and y. To nd the best partition for a specied pair of
vertices x and y, we construct an auxiliary graph Hx;y, which is an undirected complete
graph with vertex set V and edge length function h. The edge length h is dened as
follows:

1. h(x; y) = 2r(x)r(y)w(x; y).

*2. h(x; v) = 2r(v)(R − r(v))w(y; v) + 2r(v)r(x)w(x; y), and*

*h(y; v) = 2r(v)(R − r(v))w(x; v) + 2r(v)r(y)w(x; y) for any vertex v 6∈ {x; y}.*

*3. h(u; v) = 2r(u)r(v)w(x; y) for all u; v 6∈ {x; y}.*

Let V1 and V2 be two subsets of V . We say that (V1; V2) is an x–y cut of Hx;y if
(V1; V2*) forms a partition of V and x ∈ V*1 *and y ∈ V*2: The cost of an x–y cut (V1; V2)
is dened to be h(V_{1}; V_{2}) =P

*u ∈ V*1*;v ∈ V*2h(u; v). The following lemma comes directly
from the above construction. Note that the 2-star is dened on the metric graph G and
the cost of the cut is dened on the auxiliary graph H_{x;y}.

Lemma 11. If (V1; V2) is an x–y cut of graph Hx;y; then h(V1; V2) = Cp(2star
(x; y; V_{1}; V_{2})).

Proof.

h(V_{1}; V_{2}) = X

*u ∈ V*1*;v ∈ V*2

h(u; v)

= X

*v ∈ V*2*−{y}*

h(x; v) + X

*u ∈ V*1*−{x}*

h(u; y) + X

*u ∈ V*1*−{x}*

X

*v ∈ V*2*−{y}*

h(u; v) + h(x; y)

= X

*v ∈ V*2*−{y}*

*(2r(v)(R − r(v))w(y; v) + 2r(v)r(x)w(x; y))*

+ X

*u ∈ V*1*−{x}*

*(2r(u)(R − r(u))w(x; u) + 2r(u)r(y)w(x; y))*

+ X

*u ∈ V*1*−{x}*

X

*v ∈ V*2*−{y}*

2r(u)r(v)w(x; y) + 2r(x)r(y)w(x; y)

= X

*v ∈ V*2*−{y}*

*2r(v)(R − r(v))w(y; v) +* X

*v ∈ V*1*−{x}*

*2r(v)(R − r(v))w(x; v)*

+ 2r(V1)r(V2)w(x; y)

= Cp(2star(x; y; V1; V2)):

The above lemma implies that the minimum p.r.c. cost 2-star can be found by solving
the minimum cut problems on O(n^{2}) dierent auxiliary graphs. Since the minimum cut
of a graph can be found in O(n^{3}) (e.g. [1]), we have the following lemma:

Lemma 12. The minimum p.r.c. cost 2-star can be found in O(n^{5}) time.

3.3. The approximation ratio

In this subsection, we shall investigate the approximation ratio of the minimum p.r.c.

cost 2-star for the PROCT problem. Let G=(V; E; w) and r be the input metric graph
and the vertex weight of a PROCT problem, respectively. Also let T be the optimal
spanning tree of the PROCT problem and m be the r-centroid of T. Root T at its
r-centroid m and let ^{1}_{3}¡ q ¡ 0:5 be a real number to be determined later. Consider
all possible vertices x such that r(T_{x})¿qR and r(T_{u}*) ¡ qR for any u ∈ V (T*_{x}*)\{x}. By*
the denition of the r-centroid, there are three cases:

*• there are two such vertices a and b;*

*• there is only one such vertex a 6= m;*

*• m is the only one such vertex.*

For each case, we select two vertices. For the rst case, a and b are selected. For the second case, a and m are selected, and the third case can be thought of as a special case in which the two vertices are both m. Without loss of generality, assume the two vertices be a and b, and M = SPT(a; b) = (a = m1; m2; : : : ; mk= b) be the path on T.

Fig. 4. Notations for showing the approximation ratio.

Also let U_{i} be the set of vertices which are connected to M at m_{i} for i = 1; 2; : : : ; k.

The notations are illustrated in Fig. 4. We have the following lemma:

Lemma 13. C_{p}*(T)¿2(1 − q)R*P

xr(x)d_{T}*(x; M) + 2q(1 − q)R*^{2}w(M).

*Proof. For any vertex x, let SB(x) = {u|SP*T*(x; u) ∩ M = ∅}. Note that r(SB(x)) ¡ qR*
*by the construction of M. If x ∈ U*i *and y ∈ U*j, dene g(x; y) = dT(mi; mj). Then,

C_{p}(T) =X

x

X

y

r(x)r(y)d_{T}(x; y)

¿X

x

X

*y 6∈ SB(x)*

r(x)r(y)d_{T}(x; y)

=X

x

X

*y 6∈ SB(x)*

*r(x)r(y){d*T(x; M) + dT*(y; M) + g(x; y)}*

= 2X

x

X

*y 6∈ SB(x)*

r(x)r(y)dT(x; M) +X

x

X

*y 6∈ SB(x)*

r(x)r(y)g(x; y)

*¿ 2(1 − q)R*X

x

r(x)d_{T}(x; M) +X

x

X

*y 6∈ SB(x)*

r(x)r(y)g(x; y):

Without loss of generality, we assume r(U1)¿r(Uk). For the second term, X

x

X

*y 6∈ SB(x)*

r(x)r(y)g(x; y)

=2X

i¡j

r(Ui)r(Uj)dT(mi; mj)

¿2r(U_{1})r(U_{k})d_{T}(m_{1}; m_{k}) + 2X^{k−1}

i=2

r(U_{i})(r(U_{1})d_{T}(m_{1}; m_{i}) + r(U_{k})d_{T}(m_{k}; m_{i}))

¿2r(U_{1})r(U_{k})w(M) + 2* ^{k−1}*X

i=2

r(U_{i})r(U_{k})w(M)

= 2w(M)r(Uk*)(R − r(U*k)):

By the construction of M and q ¡ 0:5, we have r(U1)¿r(Uk)¿qR, and then qR6
r(U_{k}*)6(1 − q)R. Thus r(U*_{k}*)(R − r(U*_{k}*))¿q(1 − q)R*^{2} and this completes the proof.

Construct two 2-stars T^{∗}*= 2star(a; b; V − U*k; Uk) and T* ^{∗∗}*= 2star(a; b; U1

*; V − U*1).

We claim that one of the two 2-stars is an approximation solution with approximation
*ratio max{1=(1 − q); (1 − 2q*^{2}*)=(2q(1 − q))}. First, we show the following lemma:*

Lemma 14. C_{p}(T* ^{∗}*) + C

_{p}(T

*)64RP*

^{∗∗}*v ∈ V*r(v)d_{T}*(v; M) + 2(1 − 2q*^{2})R^{2}w(M).

Proof. By Lemma 10,
C_{p}(T* ^{∗}*) = 2 X

*v 6∈ U*k

*r(v)(R − r(v))w(v; a) + 2* X

*v ∈ U*k

*r(v)(R − r(v))w(v; b)*
+ 2r(Uk*)(R − r(U*k))w(a; b)

6 2R X

*v 6∈ U*k

r(v)w(v; a) + 2RX

*v ∈ U*k

r(v)w(v; b)
+ 2r(Uk*)(R − r(U*k))w(a; b):

Similarly,

Cp(T* ^{∗∗}*)62R X

*v ∈ U*1

r(v)w(v; a) + 2RX

*v 6∈ U*1

r(v)w(v; b) + 2r(U1*)(R − r(U*1))w(a; b):

By the triangle inequality, w(x; y)6dT(x; y) for any vertices x and y. Therefore,
*for any vertex v ∈ U*_{1}; w(v; a)6d_{T}(v; M). Similarly, w(v; b)6d_{T}(v; M) for any vertex
*v ∈ U*k*. For any vertex v 6∈ U*1 *∪ U*k, by the triangle inequality, w(v; a) + w(v; b)6
2d_{T}(v; M) + w(M). We have

C_{p}(T* ^{∗}*) + C

_{p}(T

*) 6 4RX*

^{∗∗}*v ∈ V*

r(v)d_{T}(v; M) + 2R X

*v 6∈ U*1*∪U*k

r(v)w(M)

+ 2r(U_{k}*)(R − r(U*_{k}))w(a; b) + 2r(U_{1}*)(R − r(U*_{1}))w(a; b)

= 4RX

*v ∈ V*

r(v)dT(v; M) + 2(R^{2}*− r(U*1)^{2}*− r(U*k)^{2})w(M)

6 4RX

*v ∈ V*

r(v)d_{T}*(v; M) + 2(1 − 2q*^{2})R^{2}w(M):

Lemma 15. There is a 2-star which is a 1:577-approximation solution of the

PROCT problem.

Proof. Trivially, T* ^{∗}* and T

*are both 2-stars. By Lemma 14, we have*

^{∗∗}*min{C*

_{p}(T

*); C*

^{∗}_{p}(T

^{∗∗}*)}62R*X

*v ∈ V*

r(v)d_{T}*(v; M) + (1 − 2q*^{2})R^{2}w(M):

*By Lemma 13, the approximation ratio is max{1=(1 − q); (1 − 2q*^{2}*)=(2q(1 − q))} in*
which ^{1}_{3}¡ q ¡^{1}_{2}. By setting q = (*√*

*3 − 1)=2 ' 0:366, we get the ratio 1.577.*

Corollary 16. The minimum p.r.c. cost 2-star of the input graph is a 1:577- approximation solution of the PROCT problem.

4. An ecient approximation algorithm for the MRCT problem

In this section, an ecient 1.577-approximation algorithm for the MRCT problem shall be presented. Since the MRCT problem is identical to the PROCT problem with all vertex weights equal, by Lemma 15 and Corollary 9, we have the following corollary:

Corollary 17. If there is an O(f(n)) time algorithm for ÿnding the minimum routing
cost 2-star of a metric graph; then the MRCT problem can be approximated with
ratio 1:577 in O(f(n) + n^{3}) time.

In [7], there is an O(n^{2k}) time algorithm for nding the minimum routing cost
k-star of a metric graph. Consequently it leads to an O(n^{4}) time 1.577-approximation
algorithm for the MRCT problem. We shall show that the time complexity can be
reduced to O(n^{3}log n) by observing the following property:

Lemma 18. Let T = 2star(x; y; X; Y ) be the minimum routing cost 2-star of a metric
*graph G = (V; E; w). For any u ∈ X and v ∈ Y; w(x; u) − w(y; u)6w(x; v) − w(y; v).*

Proof. Similar to Lemma 10, the routing cost of the 2-star T can be computed by the following formula:

*C(T) = 2|V (X )||V (Y )|w(x; y) + 2(n − 1)* X

*v ∈ X*

w(x; v) +X

*v ∈ Y*

w(y; v)

! :

*When |V (X )| and |V (Y )| are xed, C(T) depends only on* P

*v ∈ X*w(x; v) and
P

*v ∈ Y*w(y; v). If the inequality does not hold, we can move u to Y and v to X
and obtain another 2-star with smaller routing cost.

The next lemma shows the time complexity for nding the minimum routing cost 2-star.

Lemma 19. The minimum routing cost 2-star of a metric graph can be found in
O(n^{3}log n) time.

Proof. Assume that 2star(x; y; X; Y ) is the minimum routing cost 2-star with xed
internal nodes x and y. Dene a function fx;y*(v) = w(x; v) − w(y; v) for all v ∈ V . By*
sorting the values of f_{x;y}*(v), we relabel the vertices such that V = {x; y; 1; 2; : : : ; n − 2}*

and fx;y(i)6fx;y*(i +1) for i =1; 2; : : : ; n−3. By Lemma 18, we have f*x;y(u)6fx;y(v)
*for any u ∈ X and v ∈ Y . Therefore, there must exist an integer k ∈ {0 : : : n − 2} such*
*that X = {x; 1 : : : k} and Y = {y; k + 1 : : : n − 2}.*

*To determine the integer k, we compute the routing costs of the (n − 1) 2-stars. Let*
*g(i) denote the routing cost of 2star(x; y; {x; 1 : : : i}; {y; i + 1 : : : n − 2}). We have*

*g(0) = 2(n − 1)* X

*16v6n−2*

*w(y; v) + 2(n − 1)w(x; y)*

and

*g(i + 1) = g(i) + 2(n − 1)f*_{x;y}*(i + 1) + 2(n − 2i − 3)w(x; y)*

*for i = 1; 2; : : : ; n − 3. Thus for specied x and y, the best partition (X; Y ) can be*
determined in O(n) time, plus the (dominating) cost O(n log n) of the sorting procedure.

Consequently, the total time complexity is O(n^{3}log n) since there are O(n^{2}) such pairs
of vertices x and y.

The next corollary directly comes from Corollary 17 and Lemma 19.

Corollary 20. The MRCT problem can be approximated with ratio 1:577 in
O(n^{3}log n) time.

In the rest of this section, we shall show that it is possible to approximate the MRCT
problem with ratio 1.577 in O(n^{3}) time. Instead of the minimum routing cost 2-star,
we nd a 2-star with minimum routing cost among a subclass of 2-stars.

Let T be the minimum routing cost spanning tree on a metric graph G = (V; E; w)
and q; a; b; M; U_{i} are dened as in Section 3.3 except that each vertex has weight one.

*Since |U*1*|¿qn and |U*k*|¿qn, we can choose two vertex sets A ⊂ U*1 *and B ⊂ U*k such
*that a ∈ A and b ∈ B and |A| = |B| = qn. For the sake of convenience, we assume*
qn is an integer. Then we construct two 2-stars T^{∗}*= 2star(a; b; V \B; B) and T** ^{∗∗}* =

*2star(a; b; A; V \A). Note that when a = b, both the 2-stars degenerates to the same*1-star. Similar to Lemma 14 and Lemma 15, we claim a bound on the routing costs of T

*and T*

^{∗}*.*

^{∗∗}*Claim 21. min{C(T** ^{∗}*); C(T

^{∗∗}*)}61:577C(T).*

*Proof. By Lemma 1 and |B| = qn,*
C(T^{∗}*) = 2(n − 1)*X

*v 6∈ B*

*w(v; a) + 2(n − 1)*X

*v ∈ B*

*w(v; b) + 2|B|(n − |B|)w(a; b)*

6 2nX

*v 6∈ B*

w(v; a) + 2nX

*v ∈ B*

*w(v; b) + 2q(1 − q)n*^{2}w(a; b):

Similarly,

C(T* ^{∗∗}*)62nX

*v ∈ A*

w(v; a) + 2nX

*v 6∈ A*

*w(v; b) + 2q(1 − q)n*^{2}w(a; b):

By the triangle inequality, w(u; v)6d_{T}(u; v) for any vertices u and v. Therefore, for
*any vertex v ∈ A; w(v; a)6d*T(v; M). Similarly, w(v; b)6dT*(v; M) for any vertex v ∈ B.*

*For any vertex v 6∈ A∪B, by the triangle inequality, w(v; a)+w(v; b)62d*T(v; M)+w(M).

We have

C(T* ^{∗}*) + C(T

*) 6 4nX*

^{∗∗}*v ∈ V*

dT(v; M) + 2n X

*v 6∈ A∪B*

*w(M) + 4q(1 − q)n*^{2}w(a; b)

= 4nX

*v ∈ V*

d_{T}*(v; M) + 2(1 − 2q*^{2})n^{2}w(M):

Therefore,

*min{C(T** ^{∗}*); C(T

^{∗∗}*)}62n*X

*v ∈ V*

d_{T}*(v; M) + (1 − 2q*^{2})n^{2}w(M): (4)

By Lemma 13,

*C(T)¿2(1 − q)n*X

*v ∈ V*

d_{T}*(v; M) + 2q(1 − q)n*^{2}w(M): (5)

By Eqs. (4) and (5) and setting q = 0:366, the ratio is 1.577.

The next Claim immediately follows Claim 21 and we omit the proof.

Claim 22. For a metric graph G; there exists a 1:577-approximation solution Y of the MRCT problem on G such that Y is either a 1-star or a 2-star with 0:366n leaves connected to one of its internal nodes.

Theorem 23. The MRCT problem can be approximated with ratio 1:577 in O(n^{3})
time.

Proof. As shown in Corollary 9, we only need to consider the MRCT problem on a
metric graph G = (V; E; w). Let Z1 denote the set of all 1-stars and Z2 denote the set
*{2star(x; y; V*_{1}; V_{2}*)|x; y ∈ V; |V*_{1}*|=0:366n}. We shall show that the minimum routing cost*
spanning tree in Z1 and Z2 can be found in O(n^{3}) time. Then the proof is completed
by Claim 22.

First, the routing costs of all 1-stars can be computed in O(n^{2}) time since there are
n 1-stars whose cost can be computed in O(n) time. The MRCT in Z2 can be found
by an algorithm similar to the one in Lemma 19.

For specied x and y, we rst compute fx;y*(v)=w(x; v)−w(y; v) for all v ∈ V . Instead*
of sorting the values of f_{x;y}(v), we nd a vertex i such that f_{x;y}(i) is the (0:366n)th
*smallest element in the set {f*x;y*(v)|v 6= x; v 6= y}. We then divide V into V*x and Vy

*such that |V*_{x}*| = 0:366n and f*_{x;y}(v)6f_{x;y}*(i) for all v ∈ V*_{x}. By Lemma 18, the routing
cost of 2star(x; y; V_{x}; V_{y}*) is minimum among the set {2star(x; y; V*_{1}; V_{2}*)||V*_{1}*| = 0:366n}.*

Since the kth smallest element among n elements can be found in O(n) time [1]

and there are O(n^{2}) such pairs of x and y, the total time complexity is O(n^{3}).

Fig. 5. A tree with bad edges may have less s.r.c. cost.

5. The SROCT problem

For the PROCT problem, it has been shown that the optimal solution for a graph has the same value as the one for its metric closure. In other words, using bad edges cannot lead to a better solution. However, the SROCT problem has no such a property.

For example, consider the graph G in Fig. 5. The edge (a; b) is not in E(G), and T is a spanning tree of the metric closure of G. All three possible spanning trees of G are Y1; Y2 and Y3. It can be shown that the s.r.c cost of T is less than that of Yi for i = 1; 2; 3.

To compare the s.r.c costs, we can only focus on the coecient of k in the cost.

Note that only vertices a and x have nonzero weights. By Lemma 3, the s.r.c. cost of T can be computed as follows:

C_{s}(T) = l_{s}(T; r; (a; b))w(a; b) + l_{s}(T; r; (a; y))w(a; y) + l_{s}(T; r; (y; x))w(x; y)

*= 2(k(4 + 1) + 0(4k))2 + 2(k × 1 + 4 × 4k)(1) + 2(5k × 1 + 4 × 1)(1)*

*= 64k + · · · :*

Similarly, we have Cs(Y1)=66k; Cs(Y2)=66k, and Cs(Y3)=90k. The example illustrates that it is impossible to transform any spanning tree of G to a spanning tree of G without increasing the s.r.c cost for some graph G, where G is the metric closure of G. But it should be noted that the example does not disprove the possibility of reducing the SROCT problem on general graphs to its metric version.

In this section, we shall present a 2-approximation algorithm for the SROCT problem
*on general graphs. Let G be a graph and m ∈ V (G). A shortest-path tree rooted at*
m is a spanning tree T of G such that d_{T}(v; m) = d_{G}(v; m) for each vertex v. That
is, on a shortest-path tree, the path from the root to any vertex is a shortest path on
the original graph. The shortest-path tree has been well studied and several ecient
algorithms can be found in the literature, e.g. [1,5]. For each vertex v of the input graph,
our algorithm nds the shortest-path tree rooted at v. Then it outputs the shortest-path
tree with minimum s.r.c. cost. For the approximation ratio, we show that there always
exists a vertex m such that the shortest-path tree rooted at m is a 2-approximation
solution.

In the following, graph G =(V; E; w) and vertex weight r is the input of the SROCT
*problem, |V | = n, and R = r(V ).*

*Lemma 24. Let T be a spanning tree of G. For any vertex m ∈ V; C*s(T)6
2P

*v ∈ V*(nr(v) + R)d_{T}(v; m).

Proof.

Cs(T) = X

*u;v ∈ V*

(r(u) + r(v))dT(u; v)

6 X

*u;v ∈ V*

(r(u) + r(v))(d_{T}(u; m) + d_{T}(m; v))

= 2 X

*u;v ∈ V*

(r(u) + r(v))d_{T}(u; m)

6 2X

*v ∈ V*

(nr(v) + R)d_{T}(v; m):

In the following, we use T to denote the optimal spanning tree of the SROCT
problem, and use m_{1} and m_{2} to denote the centroid and r-centroid of T, respectively.

Also let P = SPT(m1; m2).

*Lemma 25. For any edge e ∈ E(P); the s.r.c load l*s(T; r; e)¿nR.

Proof. Let T_{1} and T_{2} be the two subtrees resulted by deleting e from T. Assume that
m1*∈ V (T*1) and m2*∈ V (T*2*). By the denitions of centroid and r-centroid, |V (T*1*)|¿n=2*
and r(T_{2})¿R=2. Then,

l_{s}*(T; r; e)=2 = |V (T*_{1}*)|r(T*_{2}*) + |V (T*_{2}*)|r(T*_{1})

*= |V (T*1*)|r(T*2*) + (n − |V (T*1*)|)(R − r(T*2))

*= 2(|V (T*1*)| − n=2)(r(T*2*) − R=2) + nR=2¿nR=2:*

The next lemma shows a lower bound on the minimum s.r.c. cost. Remind that dT(v; P) denotes the shortest path length from a vertex v to path P.

Lemma 26. Cs(T)¿P

*v ∈ V*(nr(v) + R)dT(v; P) + nRw(P).

*Proof. For any vertex u, we dene SB(u)={v|SP*T*(u; v)∩P=∅}. Note that |SB(u)|6n=2*
and r(SB(u))6R=2 for any vertex u by the denitions of centroid and r-centroid:

C_{s}(T) = X

*u;v ∈ V*

(r(u) + r(v))d_{T}(u; v)

= 2 X

*u;v ∈ V*

r(u)d_{T}(u; v)

¿ 2X

*u ∈ V*

X

*v 6∈ SB(u)*

r(u)(d_{T}(u; P) + d_{T}(v; P))

+2 X

*u;v ∈ V*

r(u)w(SPT*(u; v) ∩ P):* (6)

For the rst term in Eq. (6),

2X

*u ∈ V*

X

*v 6∈ SB(u)*

r(u)(d_{T}(u; P) + d_{T}(v; P))

=2X

*u ∈ V*

X

*v 6∈ SB(u)*

r(u)d_{T}(u; P) + 2X

*u ∈ V*

X

*v 6∈ SB(u)*

r(u)d_{T}(v; P)

¿X

*u ∈ V*

nr(u)dT(u; P) + 2X

*v ∈ V*

X

*u 6∈ SB(v)*

r(u)dT(v; P)

¿X

*u ∈ V*

nr(u)d_{T}(u; P) +X

*v ∈ V*

Rd_{T}(v; P)

=X

*v ∈ V*

(nr(v) + R)d_{T}(v; P): (7)

For the second term in Eq. (6),

2 X

*u;v ∈ V*

r(u)w(SPT*(u; v) ∩ P)*

=2 X

*u;v ∈ V*

r(u)

X

*e ∈ SP*T*(u;v)∩P*

w(e)

= X

*e ∈ E(P)*

2X

v

*r({u|e ∈ E(SP*_{T}*(u; v))})*

! w(e)

= X

*e ∈ E(P)*

ls(T; r; e)w(e)

¿nRw(P) (by Lemma 25): (8)

By Eqs. (6)–(8), the proof is completed.

The main result of this section is stated in the next theorem.

Theorem 27. There exists a 2-approximation algorithm with time complexity O(n^{3})
for the SROCT problem.

Proof. Let Y* ^{∗}* and Y

*be the shortest-path trees rooted at m*

^{∗∗}_{1}and m

_{2}, respectively.

*Also, for any v ∈ V , let h*1(v) = w(SPT(v; m1*) ∩ P) and h*2(v) = w(SPT(v; m2*) ∩ P). By*
Lemma 24,

Cs(Y* ^{∗}*)=2 6X

*v ∈ V*

(nr(v) + R)dY* ^{∗}*(v; m1)

6X

*v ∈ V*

(nr(v) + R)(d_{T}(v; P) + h_{1}(v)): (9)

Similarly,

C_{s}(Y* ^{∗∗}*)=26X

*v ∈ V*

(nr(v) + R)(d_{T}(v; P) + h_{2}(v)): (10)

Since h1(v) + h2(v) = w(P) for any vertex v, by Eqs. (9) and (10), we have
*min{C*_{s}(Y* ^{∗}*); C

_{s}(Y

^{∗∗}*)}*

6(C_{s}(Y* ^{∗}*) + C

_{s}(Y

*))=2*

^{∗∗}6X

*v ∈ V*

(nr(v) + R)(2dT(v; P) + h1(v) + h2(v))

=X

*v ∈ V*

(nr(v) + R)(2d_{T}(v; P) + w(P))

=2X

*v ∈ V*

(nr(v) + R)d_{T}(v; P) + 2nRw(P)
62Cs(T) (by Lemma 26):

We have proved that there exists a vertex m such that any shortest-path tree rooted at
m is a 2-approximation solution. Since it takes O(n^{2}) time to construct a shortest-path
tree rooted at a given vertex and the s.r.c cost of a tree can be computed in O(n) time,
by computing the shortest-path tree rooted at each vertex and choosing the one with
minimum s.r.c cost, a 2-approximation solution of the SROCT problem can be found
in O(n^{3}) time.

6. Concluding remarks

As mentioned in Section 1, it can be shown that the PROCT problem can be approx- imated arbitrarily close to 1 by the minimum p.r.c. cost k-star when k is suciently large. Therefore, any polynomial time algorithm for the minimum p.r.c. cost k-star will result in a PTAS for the PROCT problem. However, it is still unknown how to con- struct the minimum k-star in polynomial time when k¿3. Another interesting related problem is the Steiner MRCT problem, in which we want to minimize the total path length summed over all pairs of vertices in a given vertex subset. The Steiner MRCT

problem is a special case of the PROCT problem, in which the vertex weights are either 0 or 1. It is not hard to generalize the PTAS for the MRCT problem to a PTAS for the Steiner MRCT problem.

For the MRCT problem, an interesting question is how to eciently nd the min- imum routing cost k-star for any xed k. This will improve the time complexity of the PTAS in [7]. In this paper, for k = 2, we have shown an algorithm which is more time ecient than the one in [7]. But we did not nd a way to generalize the idea to obtain a more time ecient algorithm for the case k ¿ 2.

For the SROCT problem, the result in this paper is only the rst attempt to its ap- proximability. Future work includes improving the approximation ratio for both general and metric inputs.

Acknowledgements

We thank the anonymous referees for their careful reading and many useful com- ments.

References

[1] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, MIT Press, Cambridge, MA, 1994.

[2] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company, San Francisco, 1979.

[3] T.C. Hu, Optimum communication spanning trees, SIAM J. Comput. 3(3) (1974) 188–195.

[4] D.S. Johnson, J.K. Lenstra, A.H.G. Rinnooy Kan, The complexity of the network design problem, Networks 8 (1978) 279–285.

[5] R.E. Tarjan, Data Structures and Network Algorithms, SIAM Press, Philadelphia, PA, 1983.

[6] R. Wong, Worst-case analysis of network design problem heuristics., SIAM J. Algebraic Discrete Math.

1 (1980) 51–63.

[7] B.Y. Wu, G. Lancia, V. Bafna, K.M. Chao, R. Ravi, C.Y. Tang, A polynomial time approximation scheme for minimum routing cost spanning trees, SIAM J. Comput. in press. (A preliminary version of this paper appears in the Proceedings of the Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’98), 1998, pp. 21–32.)