Contents lists available atScienceDirect
Theoretical Computer Science
journal homepage:www.elsevier.com/locate/tcsA 3.4713-approximation algorithm for the capacitated multicast tree
routing problem
Zhipeng Cai
a, Zhi-Zhong Chen
b, Guohui Lin
a,∗aDepartment of Computing Science, University of Alberta. Edmonton, Alberta T6G 2E8, Canada bDepartment of Mathematical Sciences, Tokyo Denki University. Hatoyama, Saitama 350-0394, Japan
a r t i c l e i n f o
Keywords:
Capacitated multicast tree routing Approximation algorithm Steiner minimum tree Tree partitioning
a b s t r a c t
Given an underlying communication network represented as an edge-weighted graph G=(V,E), a source nodes∈V, a set of destination nodesD⊆V, and a capacitykwhich is a positive integer, thecapacitated multicast tree routing problemasks for a minimum cost routing scheme for sourcesto send data to all destination nodes, under the constraint that in each routing tree at mostkdestination nodes are allowed to receive the data copies. The cost of the routing scheme is the sum of the costs of all individual routing trees therein. Improving on our previous approximation algorithm for the problem, we present a new algorithm which achieves a worst case performance ratio of
√
2089+77 80 +
5
4ρ, whereρ
denotes the best known approximation ratio for the Steiner minimum tree problem. Since ρis about 1.55 at the writing of the paper, the ratio achieved by our new algorithm is less than 3.4713. In comparison, the previously best ratio was85+5
4ρ≈3.5375.
©2009 Elsevier B.V. All rights reserved.
1. Introduction
Multicast is a point-to-multipoint communication that a source node sends data to multiple destinations [1,16,10,8,15]. In computer and communication networks supporting multimedia applications, such as news feed and video distribution, multicast is an important service. Implementing multicast on local area networks (LANs) is easy because nodes connected to a LAN usually communicate over a broadcast network. In contrast, implementing multicast on wide area networks (WANs) is yet quite challenging [17,6] because nodes connected to a WAN communicate via a switched/routed network. Basically, to perform multicast in WANs, the source node and all the destination nodes must be interconnected. So, finding a multicast routing in a WAN is equivalent to finding a multicast treeTin the network such thatTspans the source and all the destination nodes. The objective is to minimize thecostofT, which is defined to be the total weight of edges inT.
In certain networks such as WDM optical networks with limited light-splitting capabilities, only a limited number of destination nodes can be assigned to receive the data copies sent from the source node during each transmission. A routing model for such networks, called themulti-tree model[11,7], has been introduced in the literature. Under this model, we are interested in the problem of finding a set of routing trees such that each tree spans the source node and a limited number of destination nodes that is assigned to receive data copies, and every destination node must be designated to receive a data copy in one of the routing trees. We call this problem thecapacitated multicast routing problem. In particular, when the number of destination nodes in each routing tree is limited to a pre-specified numberk, we call it themulticast k-tree routing (kMTR) problem.
∗Corresponding address: Department of Computing Science, University of Alberta, Athabasca Hall 2-21, Edmonton, Alberta T6G 2E8, Canada. Tel.: +1 780 492 3737; fax: +1 780 492 1071.
E-mail addresses:[email protected](Z. Cai),[email protected](Z.-Z. Chen),[email protected](G. Lin). 0304-3975/$ – see front matter©2009 Elsevier B.V. All rights reserved.
We next formally define the problems. For a graphG, we denote its node set byV
(
G)
. The underlying communication network is modeled as a triple(
G,
s,
D)
, whereGis a simple, undirected, and edge-weighted complete graph,s∈
V(
G)
is thesourcenode, andD⊆
V(
G)
− {
s}
is the set ofdestinationnodes. The weight of each edgeeinG, denoted byw(
e)
, is nonnegative and represents the routing cost ofe. Theweight(orcost, used interchangeably) of a subgraphTofG, denoted byw(
T)
, is the total weight of edges inT.A subgraphTofGis said to be aD-marked Steiner treeif (1)Tis a tree, and (2) at least one destination node inTis marked (to receive a data copy). For eachD-marked Steiner treeT, we useD
∩
T to denote the set of marked destination nodes in T. Note that some destination nodes inTmay not be marked, and they are not allowed to receive data copies but serve as Steiner nodes. ThesizeofTis defined to be the number of marked destination nodes inT, i.e.,|
D∩
T|
. A setT ofD-marked Steiner trees aredisjointly-D-markedif(
D∩
T1)
∩
(
D∩
T2)
= ∅
for any two treesT1andT2inT.Given a positive integerk, ak-tree routingin network
(
G,
s,
D)
is a setT= {
T1, . . . ,
T`}
of disjointly-D-marked Steinertrees such that eachTi (1
≤
i≤
`
) containssand is of size at mostk, andD=
S
`i=1
(
D∩
Ti)
. Theweight(orcost, used interchangeably) of ak-tree routing is the total weight of theD-marked Steiner trees in the routing. Given a network(
G,
s,
D)
and a numberk, thecapacitated multicast routing problemasks for ak-tree routing in(
G,
s,
D)
whose weight is minimized over allk-tree routings in(
G,
s,
D)
. Whenkis fixed, the problem is called themulticast k-tree routingproblem, denoted as kMTR for short.Whenk
≥ |
D|
,kMTR reduces to the well-knownSteiner minimum tree(SMT) problem: Given a network(
G,
s,
D)
, it asks for a minimum-weight treeTinGthat spans{
s} ∪
D. The SMT problem is NP-hard, and its current best approximation ratio isρ
≈
1.
55 [5,14]. On the other hand, whenk≤
2,kMTR can be solved efficiently [7].The algorithmically most interesting case is when 3
≤
k<
|
D|
,kMTR differs from the SMT problem yet remains NP-hard [2,12]. Two groups of researchers [2,4,9] independently designed(
2+
ρ)
-approximation algorithms, whereρ
is the approximation ratio for the SMT problem. Later, Morsy and Nagamochi presented a new approximation algorithm with a worst-case performance ratio of(
32+
43
ρ)
, which leads to an improvement over the(
2+
ρ)
-approximation algorithmsonly when
ρ <
1.
5 [13]. Recently, we presented an(
85+
54
ρ)
-approximation algorithm which is based on the weightaveraging technique introduced in [2,4] and an advanced tree partitioning technique [3]. This is a true improvement over the
(
2+
ρ)
-approximation algorithms for the currentρ
and its future values.In this paper, we examine more carefully two cases where our previous algorithm does not perform well, and design better routing schemes for them respectively. The result is an improved approximation algorithm forkMTR, which achieves a performance ratio of
(
√
2089+77
80
+
5
4
ρ)
. Given the fact thatρ
≈
1.
55, the achieved improvement in performance ratio is0
.
0662=
3.
5375−
3.
4713, more than 5 times the last improvement of 0.
0125=
3.
55−
3.
5375.2. Preliminaries
Throughout the rest of paper, fix a communication network
(
G,
s,
D)
and a positive integerk. For ease of explanation (to avoid dealing with floors and ceilings), we assume thatkis a multiple of 12. Recall thatGis a simple, undirected, and edge-weighted complete graph,s∈
V(
G)
is the source node, andD⊆
V(
G)
− {
s}
is the set of destination nodes. The non-destination nodes inV(
G)
−
(
D∪ {
s}
)
, as well as destination nodes when unmarked, can be used as intermediate (Steiner) nodes in a routing to save the routing cost.For each edge
(
u, v)
inG, we usew(
u, v)
to denote its weight. If(
u, v)
is an edge inGsuch thatw(
u, v)
is larger than the weight of the shortest path betweenuandv
inG, then(
u, v)
is useless in any routing and hence can be ignored. Therefore, we may assume that for each pair{
u, v
}
of nodes inG,w(
u, v)
equals the weight of the shortest path betweenutov
inG. It follows that the edge weight functionw(
·
,
·
)
ofGsatisfies the triangle inequality.LetT∗be an optimalk-tree routing in network
(
G,
s,
D)
. LetR∗=
P
T∈T∗
w(
T)
denote the weight of thek-tree routing T∗. Clearly, ifdis a marked destination node in a routing treeT∈
T∗, thenw(
s,
d)
≤
w(
T)
. Thus, we haveX
d∈Dw(
s,
d)
≤
X
T∈T∗X
d∈D∩Tw(
s,
d)
≤
X
T∈T∗(
k×
w(
T))
=
k×
X
T∈T∗w(
T)
≤
k×
R∗.
(2.1)In the following design of the approximation algorithm forkMTR, we first apply the best known approximation algorithm for the SMT problem (which has a worst-case performance ratio of
ρ
) to obtain a Steiner treeT0on{
s}∪
Din network(
G,
s,
D)
.Recall thatT0is a subgraph ofGthat is aD-marked Steiner tree withD
∩
T0=
D. Since the weight of an optimal Steiner treeis a lower bound onR∗, the weight of treeT0is upper bounded by
ρ
R∗, that is,w(
T0)
≤
ρ
R∗. We now root treeT0at source s. Note that treeT0does not necessarily correspond to ak-tree routing, because some subtrees rooted at child nodes ofsinT0may contain more thankmarked destination nodes.
In the sequel, for aD-marked Steiner treeT inGand a node
v
inT, we useTvto denote the subtree ofTrooted atv
. For a childuof an internal nodev
inT, the subtreeTvtogether with edge(v,
u)
is called thebranch rooted atv
and containing u. Recall thatD∩
Tdenotes the set of marked destination nodes inT and the size ofT is defined as|
D∩
T|
. If|
D∩
T| ≤
k, thenT can be used in ak-tree routing to route those nodes inD∩
T. If sourcesis not inT, then we can addsand the edge(
s,
u)
toT, whereuis a node inT such thatw(
s,
u)
=
minv∈V(T)w(
s, v)
. Letc(
T)
denote minv∈V(T)w(
s, v)
. Note thatc
(
T)
=
0 ifs∈
V(
T)
. We callc(
T)
theconnection costofT and define therouting costofT to bew(
T)
+
c(
T)
. Moreover, sincec(
T)
≤
mind∈D∩Tw(
s,
d)
, we havec
(
T)
≤
1|
D∩
T|
X
d∈D∩T
w(
s,
d).
(2.2)Although treeT0, computed by the approximation algorithm for the SMT problem, does not necessarily correspond to
ak-tree routing, it serves as a good starting point because
w(
T0)
≤
ρ
R∗. Our idea is to transformT0into ak-tree routingwithout increasing its weight significantly. Basically, the transformation is done by case analysis. Each case corresponds to a lemma in Section3. With these lemmas, we will define several types of operations in Section4.1that can be applied toT0
(to turn it into ak-tree routing). The whole algorithm is presented in Section4.2.
3. Tree partitioning lemmas
We will prove several lemmas that help us transformT0into ak-tree routing. Essentially, the transformation process is
to repeatedly cut a subtreeT out ofT0and route all the destination nodes therein. The number of destination nodes inT
satisfies some conditions, to be specified, and accordingly we determine a way to mark the destination nodes inTfor routing purposes. The followingLemma 3.1is proven in [3];Lemmas 3.4and3.5are used in [3] without proofs.
Lemma 3.1 ([3]). If T is a D-marked Steiner tree such that
•
23k
≤ |
D∩
T| ≤
k,then the routing cost of T is at most
w(
T)
+
32
×
1
k
P
d∈D∩T
w(
s,
d)
.Lemma 3.2 ([2,4]).Given a D-marked Steiner tree T such that
•
k<
|
D∩
T| ≤
32k,
we can compute two disjointly-D-marked Steiner trees X1and X2from T in polynomial time such that both X1and X2are of size
at most k, D
∩
T=
(
D∩
X1)
∪
(
D∩
X2)
, and the total routing cost of X1and X2is at mostw(
T)
+
2×
1kP
d∈D∩T
w(
s,
d)
.Lemma 3.3. Suppose that T is a D-marked Steiner tree satisfying the following conditions:
•
43k
≤ |
D∩
T| ≤
3 2k.
•
The root r of T has exactly three child nodesv
1,v
2, andv
3.• |
D∩
Tv1|
<
23k,
|
D∩
Tv2|
<
2
3k, and
|
D∩
Tv1| + |
D∩
Tv2|
>
k.Given T , we can compute two disjointly-D-marked Steiner trees X1and X2in polynomial time such that both X1and X2are of size
at most k, D
∩
T=
(
D∩
X1)
∪
(
D∩
X2)
, and the total routing cost of X1and X2is at most54w(
T)
+
√ 2089+77 80
×
1 kP
d∈D∩Tw(
s,
d)
.Proof. By the conditions in the lemma,
|
D∩
Tv3|
<
12k. Without loss of generality, we assume that
|
D∩
Tv1| ≤ |
D∩
Tv2|
.Then,
|
D∩
Tv2|
>
12k. For eachi
∈ {
1,
2,
3}
, letBibe the branch rooted atrand containingv
i. We distinguish two cases asfollows.
Case 1:
|
D∩
Tv3| + |
D∩
Tv2| ≤
k. In this case,|
D∩
Tv3| + |
D∩
Tv1| ≤
k. Among the nodes inD∩
T, we find the 23k closest nodes tos, and form them into a setC. Similarly, among the nodes inD∩
T, we find the23kfarthest nodes froms, and form them into a setF. Since|
D∩
T| ≥
43k,F
∩
C= ∅
. Moreover, since|
D∩
Tvi|
<
23kfor eachi
∈ {
1,
2,
3}
, there areat least two indicesi
∈ {
1,
2,
3}
such that(
D∩
Tvi)
∩
C6= ∅
. If(
D∩
Tv3)
∩
C= ∅
, then we setX1=
B1and constructX2by initializing it as the union ofB2andB3and further unmarkingrif it is marked. Otherwise, we find an indexi
∈ {
1,
2}
with
(
D∩
Tvi)
∩
C6= ∅
, setX1=
Biand constructX2by initializing it as the union ofBjandB3and further unmarkingrif it is marked, wherejis the other index in
{
1,
2} − {
i}
. In any case,|
D∩
X1| ≤
k,|
D∩
X2| ≤
k,(
D∩
X1)
∩
C6= ∅
, and(
D∩
X2)
∩
C6= ∅
. Obviously, one ofD∩
X1andD∩
X2containsd0which is the closest destination node tosamong the nodesinD
∩
T. We assume thatD∩
X1containsd0; the other case is symmetric. Then,c(
X1)
≤
w(
s,
d0)
≤
32×
1kP
d∈C
w(
s,
d)
. Moreover, since(
D∩
X2)
∩
C6= ∅
,c(
X2)
≤
w(
s,
d00)
whered00is the farthest destination node fromsamong the nodes inC. Furthermore, sinceC
∩
F= ∅
,w(
s,
d00)
≤
w(
s,
d000)
whered000is the closest destination node tosamong the nodes inF. Thus,c(
X2)
≤
w(
s,
d000)
≤
32×
1kP
d∈F
w(
s,
d)
. Therefore,c(
X1)
+
c(
X2)
≤
32×
1kP
d∈D∩T
w(
s,
d)
. Consequently, the total routing cost ofX1andX2is at mostw(
T)
+
32×
1kP
d∈D∩T
w(
s,
d)
, and the lemma is proved.Case 2:
|
D∩
Tv3| + |
D∩
Tv2|
>
k. We assume thatw(
B1)
≤
w(
B3)
; this does not lose generality because our argumentwill not take advantage of the difference between the two conditions that
|
D∩
Tv1|
<
23kand
|
D∩
Tv3|
<
1
2k. We further
distinguish two subcases as follows.
Subcase2.1:
w(
B2)
≤
w(
B1)
. We give two options for constructingX1andX2. In the first option, we setX1=
Tv2and setX2to be the union ofB1andB3. Obviously,
|
D∩
X1| ≤
k. We also have|
D∩
X2| ≤
kbecause|
D∩
Tv2|
>
1
2kand
|
D∩
T| ≤
3 2k.The total routing cost ofX1andX2is
w
1≤
w(
T)
+
|D∩Tv1|+|1D∩Tv3|P
d∈(D∩Tv1)∪(D∩Tv3)w(
s,
d)
+
1 |D∩Tv2|P
d∈D∩Tv2w(
s,
d)
. Since|
D∩
Tv2| ≤
2k−
2|
D∩
Tv2| ≤ |
D∩
Tv1| + |
D∩
Tv3|
, we havew
1≤
w(
T)
+
|D∩1Tv2|P
d∈(D∩Tv1)∪(D∩Tv2)∪(D∩Tv3)w(
s,
d)
.In the second option, we first partitionD
∩
Tv2into two disjoint setsC1andC3with|
C1| =
l
|D∩Tv2| 2m
and|
C3| =
j
|D∩Tv2| 2k
. Note that|
C1| ≤
13kbecause|
D∩
Tv2|
<
2
3kandkis a multiple of 12. Hence,
|
D∩
Tv1| + |
C1|
<
kand|
D∩
Tv3| + |
C3|
<
k. WeconstructX1by initializing it as the union ofB1andB2, unmarking the nodes inC3, and further unmarkingrif it is marked in
T. We constructX2by initializing it as the union ofB2andB3, and further unmarking the nodes inC1. Since both
|
D∩
X1|
and|
D∩
X2|
are larger thank−
l
|D∩Tv2|
2
m
, the total routing cost ofX1andX2is
w
2≤
43w(
T)
+
k−|D∩1Tv2|/2P
d∈D∩(X1∪X2)w(
s,
d)
=
4 3w(
T)
+
1 k−|D∩Tv2|/2P
d∈(D∩Tv1)∪(D∩Tv2)∪(D∩Tv3)w(
s,
d)
.Note that min
{
w
1, w
2} ≤
14
w
1+
3 4w
2=
5 4w(
T)
+
1 4|D∩Tv2|+
3 4(k−|D∩Tv2|/2)P
d∈D∩Tw(
s,
d)
. From 1 2k<
|
D∩
Tv2|
<
2 3k,we conclude that min
{
w
1, w
2}
<
54
w(
T)
+
3 2×
1 kP
d∈D∩T
w(
s,
d)
. Therefore, in this subcase, choosing the better option between the two proves the lemma.Subcase2.2:
w(
B2) > w(
B1)
. Then,w(
B1)
≤
13w(
T)
. For ease of presentation, let|
D∩
Tv2| =
2
3k
−
p, where 0<
p<
1 6k.We choose an arbitrary subsetF1ofD
∩
Tv1with|
F1| =
k− |
D∩
Tv2|
. Since|
D∩
Tv3|
>
1
3k, we choose an arbitrary subset
F3ofD
∩
Tv3 with|
F3| =
1
3k. Again, we give two options for constructingX1andX2. In the first option, we setX1
=
Tv2and setX2to be the union ofB1andB3. Obviously,
|
D∩
X1| ≤
k. We also have|
D∩
X2| ≤
kbecause|
D∩
Tv2|
>
1
2kand
|
D∩
T| ≤
32k. The total routing cost ofX1andX2is
w
1≤
w(
T)
+
1 |D∩Tv2|P
d∈D∩Tv2w(
s,
d)
+
1 |F1|+|F3|P
d∈F1∪F3w(
s,
d)
=
w(
T)
+
1 2k/3−pP
d∈D∩Tv2w(
s,
d)
+
1 2k/3+pP
d∈F1∪F3w(
s,
d)
.We next describe the second option. We first choose an arbitrary subsetF0
1ofF1with
|
F10| =
x+
p, where 0≤
x≤
13kand
its value will be determined later. SetF0
1exists because
|
F1| =
13k+
p. We now constructX1by initializing it as the union ofB1andB2, then unmarking the nodes of
(
D∩
Tv1)
−
F0
1, and further unmarkingrif it is marked inT. We then constructX2by
initializing it as the union ofB1andB3and further unmarking the nodes ofF10. Since
|
F1| + |
D∩
Tv2| =
kand|
F0
1
| ≤ |
F1|
, wehave
|
D∩
X1| ≤
k. We also have|
D∩
X2| ≤
kbecause|
D∩
Tv2|
>
1
2kand
|
D∩
T| ≤
3
2k. The total routing cost ofX1andX2is
w
2≤
43w(
T)
+
|F0 1 1|+|D∩Tv2|P
d∈F10∪(D∩Tv2)w(
s,
d)
+
1 |F1−F10|+|F3|P
d∈(F1−F10)∪F3w(
s,
d)
=
4 3w(
T)
+
1 2k/3+xP
d∈(D∩Tv2)∪F10w(
s,
d)
+
1 2k/3−xP
d∈(F1−F10)∪F3w(
s,
d)
. Since 2 3k+
x≥
2 3k−
x, we havew
2≤
4 3w(
T)
+
1 2k/3+xP
d∈D∩Tv2w(
s,
d)
+
1 2k/3−xP
d∈F1∪F3w(
s,
d)
.Note that min
{
w
1, w
2} ≤
14
w
1+
3 4w
2≤
5 4w(
T)
+
M1(
x)
×
P
d∈D∩Tv2w(
s,
d)
+
M2(
x)
×
P
d∈F1∪F3w(
s,
d)
≤
5 4w(
T)
+
max{
M1(
x),
M2(
x)
} ×
P
d∈D∩Tw(
s,
d)
, whereM1(
x)
=
14×
2k/13−p+
3 4×
1 2k/3+xandM2(
x)
=
1 4×
1 2k/3+p+
3 4×
1 2k/3−x. Next, we want to determine the value forx(orx(
p)
, as it is a function ofp) such that max{
M1(
x),
M2(
x)
}
is minimized.For a fixedp
∈
(
0,
16k)
,M1(
x)
is monotonously decreasing inxandM2(
x)
is monotonously increasing inx, wherex∈ [
0,
13k]
.Clearly, we haveM1
(
0) >
32k>
M2(
0)
andM1(
13k) <
54k<
52k<
M2(
13k)
. So the minimum value of max{
M1(
x),
M2(
x)
}
isachieved at a unique value ofx, at whichM1
(
x)
=
M2(
x)
holds. The solutions to the equationM1(
x)
=
M2(
x)
arex
=
−
(
12k 2−
27p2)
±
p
(
12k2−
27p2)
2+
144p2k2 18p,
and thusx∗=
−(12k2−27p2)+√
(12k2−27p2)2+144p2k218p is the unique value in
[
0,
1 3k
]
such thatM1(
x ∗)
=
M 2(
x∗)
. Lettingc=
23k, fromdM1(x∗) dp=
dM2(x∗) dp , we have dx∗ dp=
1 3×
1 (c−p)2+
1 (c+p)2 1 (c−x∗)2+
1 (c+x∗)2.
Hence, dM1(
x∗)
dp=
1 4×
1(
c−
p)
2−
3(
c+
x∗)
2 dx∗ dp=
1 4×
(
c+
p)
2(
c+
x∗)
2−
(
c−
p)
2(
c−
x∗)
2(
c+
p)
2(
c−
p)
2(
c+
x∗)
2+
(
c−
x∗)
2>
0.
This says thatM1
(
x∗)
is monotonously increasing inpin the interval(
0,
16k)
. Therefore, the maximum value ofM1(
x∗)
isinfinitely close to 1 4
×
2 k+
3 4×
1 2 3+
−454+ q (45 4)2+4 3!
k=
1 2+
9√
2089−
37×
1 k=
√
2089+
77 80×
1 k,
whenpapproaches to16k.In summary, we have shown that in Subcase 2.2, the better option among the two has a cost less than54
w(
T)
+
√ 2089+77 80×
1 kP
d∈D∩Tw(
s,
d)
. Note that √ 2089+77 80≈
1.
5338>
32. This proves the lemma.
Lemma 3.4 ([3]). Suppose that T is a D-marked Steiner tree satisfying the following conditions:
•
32k
<
|
D∩
T| ≤
2k.•
The root r of T has exactly three childrenv
1,v
2, andv
3.• |
D∩
Tv1|
<
23k,
|
D∩
Tv2|
<
2
3k, and
|
D∩
Tv1| + |
D∩
Tv2|
>
k.Given T , we can compute disjointly-D-marked Steiner trees X1
, . . . ,
Xpwith2≤
p≤
3in polynomial time such that each Xi(1≤
i≤
p) is of size at most k, D∩
T=
S
pi=1
(
D∩
Xi)
, and the total routing cost of X1, . . . ,
Xpis at most54w(
T)
+
32×
1kP
d∈D∩T
w(
s,
d)
.Proof. We have two options to route all the destination nodes inDr.
Note that
|
Dv1| + |
Dv2|
>
k. Without loss of generality, assume|
Dv1| ≤ |
Dv2|
. Then,|
Dv2|
>
12kand consequently
k
≤ |
Dv1| + |
Dv3| ≤
32k. In the first option of routing, the branch rooted at noderand containing child node
v
2is separatedas a routing subtree andLemma 3.2is applied to partition the remainder into two subtrees of size
≤
k. The total routing cost is thusw
1≤
w(
Tr)
+
|D1v2|P
d∈Dv2w(
s,
d)
+
2×
1 kP
d∈Dr−Dv2w(
s,
d) < w(
Tr)
+
2×
1kP
d∈Drw(
s,
d)
.In the second option of routing, we duplicate the least weight branch among those three. Each of the duplicated branch copies is merged with another branch to form a subtree and the destination nodes in the duplicated branch are distributed such that both resultant subtrees have size exactly12
|
Dr|
. This can be done since|
Dv1|
<
2
3k,
|
Dv2|
<
2
3k, and
|
Dv1|+|
Dv2|
>
k.Note that34k
≤
12
|
Dr| ≤
k. Consequently, the total routing cost for these two subtrees isw
2≤
4 3w(
Tr)
+
4 3×
1 kP
d∈Drw(
s,
d)
. Since min{
w
1, w
2} ≤
1 4w
1+
3 4w
2≤
5 4w(
Tr)
+
3 2×
1 kP
d∈Dr
w(
s,
d)
, we choose the smaller cost routing between the two options and the lemma is proved.Lemma 3.5 ([3]). Suppose that T is a D-marked Steiner tree satisfying the following conditions:
•
2k<
|
D∩
T| ≤
52k.
•
The root r of T has exactly two childrenv
1andv
2.•
k<
|
D∩
Tv1|
<
43k and k
<
|
D∩
Tv2|
<
4 3k.
•
For each i∈ {
1,
2}
, there is a node uiin Tvi(possibly ui=
v
i) such that uihas exactly two children xi,1and xi,2,|
D∩
Txi,1|
<
2 3k,
|
D∩
Txi,2|
<
23k, and
|
D∩
Txi,1| + |
D∩
Txi,2|
>
k.Given T , we can compute three disjointly-D-marked Steiner trees X1, X2, and X3in polynomial time such that each Xi(1
≤
i≤
3) is of size at most k, D∩
T=
S3
i=1(
D∩
Xi)
, and the total routing cost of X1, X2, and X3is at most54w(
T)
+
32×
1kP
d∈D∩T
w(
s,
d)
.Proof. Without loss of generality, we assume that
w(
u1,
x11)
+
w(
Tx11)
≤
min{
w(
u1,
x12)
+
w(
Tx12), w(
u2,
x21)
+
w(
Tx21), w(
u2,
x22)
+
w(
Tx22)
}
, that is, the branch rooted atu1and containing nodex11has the least weight among thosefour branches rooted atu1andu2. Afterwards, we also assume without loss of generality that
|
Dx21| ≤ |
Dx22|
. It follows that|
Dx22|
>
1
2k. From the branch rooted atrand containing node
v
1, we remove treeTu1to obtain another tree denoted asT3;Similarly, from the branch rooted atrand containing node
v
2, we remove treeTu2to obtain another tree denoted asT4. LetD3andD4denote the destination node set ofT3andT4, respectively. Clearly,Dr
=
Dx11∪
Dx12∪
D3∪
D4∪
Dx21∪
Dx22.The destination node setDx11is (arbitrarily) partitioned into two subsetsD
1 x11andD 2 x11, such that 2 3k
≤ |
D 1 x11| + |
Dx12| ≤
k and43k≤ |
Dr−
D1x11−
Dx12| ≤
3 2k. It follows from|
Dx22|
>
1 2kthat|
D 2 x11| + |
D3| + |
D4| + |
Dx21| = |
Dr−
D 1 x11−
Dx12−
Dx22|
<
k.LetD0denote the set of the 2
3kfarthest destination nodes fromDr
−
D 1x11
−
Dx12. There are two possible cases: In the firstcase,Dx22
6⊂
D0, that is,D
x22contains some destination node that is not inD
0. We route all the destination nodes inD
rby duplicating the branch rooted atu1and containing nodex11. One of the two copies of the duplicated branch is merged with
the branch also rooted atu1but containing nodex12to form a subtree, which is assigned as a destination node setD1x11
∪
Dx12.Another subtree is formed by the branch rooted atu2and containing nodex22, of which the destination node set isDx22. The
third subtree is formed by the remainder tree, of which the destination node set isD2
x11
∪
D3∪
D4∪
Dx21. The connectioncost of the first subtree is
≤
32
×
1
k
P
d∈D1x11∪Dx12
w(
s,
d)
. Since the last two subtrees both contain some destination nodesthat are not inD0, one of them has connection cost of
w(
s,
d0)
and the other has connection cost of at mostw(
s,
d00)
, where d0andd00are the closest destination nodes fromDr
−
D1x11−
Dx12andD0, respectively. From
|
Dr
−
D1x11−
Dx12| ≥
4 3k, we
conclude that the sum of the connection costs of these last two subtrees is
≤
32
×
1
k
P
d∈Dr−D1x11−Dx12
w(
s,
d)
. Thus, the totalrouting cost of these three subtrees is
≤
54
w(
Tr)
+
3 2×
1 kP
d∈Dr
w(
s,
d)
, and the lemma is proved. In the second case,Dx22⊂
D0, that is, every destination node inD
x22is among the
2
3kfarthest destination nodes from
D2
x11
∪
D3∪
D4∪
Dx21∪
Dx22. We distinguish two subcases of whether or notw(
u2,
x21)
+
w(
Tx21)
≤
w(
u2,
x22)
+
w(
Tx22)
+
w(
T3)
+
w(
T4)
. In the first subcase,w(
u2,
x21)
+
w(
Tx21)
≤
w(
u2,
x22)
+
w(
Tx22)
+
w(
T3)
+
w(
T4)
.We have two options to route all the destination nodes inDr. In the first option, we revise the partition of the destination node setDx11into two subsetsD
1
x11 andD
2
x11, such that
|
D1
oldD2x11toD1x11, if necessary. The destination node subsetD0is updated correspondingly, which could include some more destination nodes not in the oldD0, due to possible moving destination nodes out of the oldD2
x11. Since
|
Dx21∪
Dx22|
>
k,we conclude that the closest destination node inDx21does not belong toD
0. LetD1
x21denote the subset ofDx21to contain
thek
− |
Dx22|
closest destination nodes; LetD2
x21
=
Dx21−
D1
x21. We route all the destination nodes inDrby duplicating the
branch rooted atu1and containing nodex11. One of the two copies of the duplicated branch is merged with the branch also
rooted atu1but containing nodex12to form a subtree, which is assigned destination node setD1x11
∪
Dx12(of sizek). Anothersubtree is formed by the branch rooted atu2and containing nodex22, of which the destination node set isDx22. The third
subtree is formed by the remainder tree, of which the destination node set isD2
x11
∪
D3∪
D4∪
Dx21. The connection cost ofthe first subtree is
≤
1 kP
d∈D1x11∪Dx12
w(
s,
d)
; The connection cost of the second subtree is at mostw(
s,
d0
)
, whered0is the(
12k
+
1)
-st farthest destination node fromDx22; The connection cost of the third subtree is at mostw(
s,
d00
)
, whered00is the closest destination node fromD1
x21, and thus the closest fromD
1
x21
∪
Dx22. From|
D1
x21
∪
Dx22| =
k, we conclude that the sumof the connection costs of these last two subtrees is
≤
2×
1 kP
d∈D1x21∪Dx22
w(
s,
d)
. Thus, the total routing cost of these threesubtrees is
w
1≤
w(
Tr)
+
w(
u1,
x11)
+
w(
Tx11)
+
1 kP
d∈D1x11∪Dx12w(
s,
d)
+
2×
1 kP
d∈D1x21∪Dx22w(
s,
d)
.In the second option of routing, we route all the destination nodes inDr by duplicating the branch rooted atu2and
containing node x21. One of the two copies of the duplicated branch is merged with the branch also rooted atu2but
containing nodex22to form a subtree, which is assigned as a destination node setD1x21
∪
Dx22(of sizek). Since|
Dx11∪
Dx12
∪
D3∪
D4∪
D2
x21
| ∈
(
k,
3
2k
]
, we applyLemma 3.2to route them without increasing the tree weight but using twosubtrees of total connection cost of
≤
2×
1k
P
d∈Dr−D1x21−Dx22
w(
s
,
d)
. Therefore, the total routing cost of these three subtrees isw
2≤
w(
Tr)
+
w(
u2,
x21)
+
w(
Tx21)
+
1 kP
d∈D1 x21∪Dx22w(
s,
d)
+
2×
1 kP
d∈Dx11∪Dx12∪D3∪D4∪D2x21w(
s,
d)
. Since min{
w
1, w
2}
≤
1 2(w
1+
w
2)
≤
w(
Tr)
+
1 2(w(
u1,
x11)
+
w(
Tx11)
+
w(
u2,
x21)
+
w(
Tx21))
+
3 2×
1 kP
d∈D1x11∪Dx12∪D1x21∪Dx22w(
s,
d)
+
1 kP
d∈D2x11∪D3∪D4∪D2x21w(
s,
d)
≤
5 4w(
Tr)
+
3 2×
1 kP
d∈Dr
w(
s,
d)
, in this subcase, we choose the smaller cost routing between the two options and the lemma is proved.In the second subcase,
w(
u2,
x21)
+
w(
Tx21) > w(
u2,
x22)
+
w(
Tx22)
+
w(
T3)
+
w(
T4)
. Fromw(
u1,
x11)
+
w(
Tx11)
≤
w(
u1,
x12)
+
w(
Tx12)
, it follows thatw(
u1,
x11)
+
w(
Tx11)
+
w(
u2,
x22)
+
w(
Tx22)
+
w(
T3)
+
w(
T4) < w(
u1,
x12)
+
w(
Tx12)
+
w(
u2,
x21)
+
w(
Tx21)
. Therefore,w(
u1,
x11)
+
w(
Tx11)
+
w(
u2,
x22)
+
w(
Tx22)
+
w(
T3)
+
w(
T4) <
1
2
w(
Tr)
. Assume without lossof generality that
w(
u1,
x11)
+
w(
Tx11)
+
w(
T4)
≤
w(
u2,
x22)
+
w(
Tx22)
+
w(
T3)
. Then,w(
u1,
x11)
+
w(
Tx11)
+
w(
T4) <
1 4
w(
Tr)
.We have one option to route all the destination nodes inDr. We partition the destination node setDx11into two subsetsD
1 x11 andD 2 x11, such that
|
D 1 x11| = |
Dx11| + |
D3| −
1 3k. Let D2 x11=
Dx11−
D 1 x11. It follows that|
D 1 x11∪
Dx12| ∈
(
2 3k,
k)
and|
D 2 x11∪
D3| =
13k. We route all the destination nodes inDr
by duplicating the branch rooted atu1and containing nodex11, and subtreeT4. One of the two copies of the duplicated
branch rooted atu1is merged with the other branch also rooted atu1but containing nodex12to form a subtree, which
is assigned as a destination node setD1
x11
∪
Dx12. The remainder subtree is re-rooted at nodeu2, which has exactly fourbranches: Two of them are the same as those two branches rooted atu2in the originalTr, which have destination node sets Dx21andDx22, respectively; The third branch is an exact copy ofT4, which has a destination node setD4; The last branch is
the leftover subtree, which contains another exact copy ofT4but with no destination node fromD4assigned to it. That is,
the last branch has a destination node setD2
x11
∪
D3. Since|
Dx21| ≤
2 3k,|
Dx22| ≤
2 3k,|
D4|
<
1 3k, and|
D 2 x11∪
D3| =
1 3k, weconclude that at least two of these four branches are assigned some destination nodes which are among the23kclosest ones fromDx21
∪
Dx22∪
D4∪
(
D2
x11
∪
D3)
=
Dr−
D1
x11
−
Dx12. Therefore, it is always possible to form two subtrees, each containingtwo branches, such that their sizes are both at mostkand they both contain some destination nodes which are among the
2
3kclosest ones. The connection cost of the first subtree is
≤
32
×
1
k
P
d∈D1x11∪Dx12
w(
s,
d)
; The connection costs of the last two subtrees is at mostw(
s,
d0)
+
w(
s,
d00)
, whered0andd00are the closest and the(
23k+
1)
-st farthest destination node from Dr−
D1x11−
Dx12. From|
Dr−
D 1 x11−
Dx12|
>
4 3k, we havew(
s,
d 0)
+
w(
s,
d00)
≤
3 2×
1 kP
d∈Dr−D1x11−Dx12w(
s,
d)
. Therefore, the total routing cost of these three subtrees is≤
54
w(
Tr)
+
3 2×
1 kP
d∈Dr
w(
s,
d)
, and the lemma is proved.Lemma 3.6. Suppose that T is a D-marked Steiner tree satisfying the following conditions:
•
52k
<
|
D∩
T|
<
8 3k.•
The root r of T has exactly two childrenv
1andv
2.•
k<
|
D∩
Tv1|
<
43k and k
<
|
D∩
Tv2|
<
4 3k.
•
For i∈ {
1,
2}
, there is a node uiin Tvi(possibly ui=
v
i) such that uihas exactly two children xi,1and xi,2in Tvi,|
D∩
Txi,1|
<
2 3k,|
D∩
Txi,2|
<
2
3k, and
|
D∩
Txi,1| + |
D∩
Txi,2|
>
k.Given T , we can compute disjointly-D-marked Steiner trees X1, . . . , Xpwith3
≤
p≤
4in polynomial time such that each Xi(1≤
i≤
p) is of size at most k, D∩
T=
S
pi=1
(
D∩
Xi)
, and the total routing cost of X1, . . . ,
Xpis at most54w(
T)
+
32×
1kP
Proof. We give two options to route all the destination nodes inD
∩
T. In the first option, we obtain four disjointly-D-marked Steiner trees each of size at mostkby applyingLemma 3.2separately toTv1and to the branch rooted atrand containingv
2.The total routing cost of these four resultant trees is
w
1≤
w(
T)
+
2×
1kP
d∈D∩Tw(
s,
d)
.We next describe the second option. For eachi
∈ {
1,
2}
and eachj∈ {
1,
2}
, letBi,jbe the branch rooted atui and containingxi,j. For eachi∈ {
1,
2}
, letBibe the branch rooted atrand containingv
i. LetT3be theD-marked Steiner treeobtained fromB1by deletingx1,1,x1,2, and their descendants. Similarly, letT4be theD-marked Steiner tree obtained fromB2
by deletingx2,1,x2,2, and their descendants. Clearly,D
∩
T=
(
D∩
Tx1,1)
∪
(
D∩
Tx1,2)
∪
(
D∩
T3)
∪
(
D∩
T4)
∪
(
D∩
Tx2,1)
∪
(
D∩
Tx2,2)
.Moreover,
|
D∩
T3| ≤ |
D∩
Tv1| − |
D∩
Tx1,1| − |
D∩
Tx1,2| +
1≤
(
4 3k−
1)
−
(
k+
1)
+
1<
1 3k. Similarly,|
D∩
T4|
<
1 3k. Wedistinguish two cases as follows.
Case 1:
w(
B1,2)
+
w(
B2,2)
≤
min{
w(
T3)
+
w(
B1,1), w(
T4)
+
w(
B2,1)
}
. In this case,w(
B1,2)
+
w(
B2,2)
≤
13w(
T)
.We find a subsetQ1 ofD
∩
Tx1,2 such that|
D∩
T1,1| + |
Q1| =
1 3|
D∩
T|
. SetQ1 exists because
|
D∩
Tx1,1|
<
2 3k,
|
D∩
Tx1,2|
<
23k,|
D∩
Tx1,1| + |
D∩
Tx1,2|
>
k, and 5 6k<
1 3|
D∩
T|
≤
k. Similarly, we find a subsetQ2 ofD∩
Tx2,2such that
|
D∩
B2,1| + |
Q2| =
13
|
D∩
T|
. SetQ2exists because
|
D∩
Tx2,1|
<
2 3k,
|
D∩
Tx2,2|
<
2 3k,|
D∩
Tx2,1| + |
D∩
Tx2,2|
>
k, and56k≤
1 3|
D∩
T|
≤
k. We are now ready to construct three disjointly-D-marked Steiner treesX1,X2, andX3as follows.Fori
∈ {
1,
2}
, we constructXiby initializing it asTui, then unmarking the nodes of(
D∩
Txi,2)
−
Qi, and further unmarkinguiifit is marked inT. We constructX3fromTby deletingx1,1,x1,2,x2,1,x2,2, and all of their descendants, and further unmarking
the nodes ofQ1
∪
Q2. Note that|
D∩
X3|
is equal to 1 3|
D∩
T|
or1 3|
D∩
T|
. Obviously, the total routing cost ofX1,X2,
andX3is
w
2≤
43w(
T)
+
65×
k1P
d∈D∩Tw(
s,
d)
. Since min{
w
1, w
2} ≤
14w
1+
34w
2≤
54w(
T)
+
75×
1kP
d∈D∩Tw(
s,
d)
. So, choosing the better option among the two proves the lemma.Case2:
w(
B1,2)
+
w(
B2,2) >
min{
w(
T3)
+
w(
B1,1), w(
T4)
+
w(
B2,1)
}
. Without loss of generality, we assume thatw(
T4)
+
w(
B1,1) < w(
T3)
+
w(
B2,1)
. Then,w(
T4)
+
w(
B1,1) <
13
w(
T)
. We find a subsetQ1ofD∩
Tx1,1such that|
Q1| + |
D∩
Tx1,2| =
k.Note that
|
(
D∩
Tx1,1)
−
Q1| + |
D∩
T3| ≤
13kbecause|
D∩
Tv1|
<
1
3k. We are now ready to construct three disjointly-D-marked
Steiner treesX1,X2, andX3as follows. We constructX1by initializing it asTu1, then unmarking the nodes of
(
D∩
Tx1,1)
−
Q1, andfurther unmarkingu1if it is marked inT. Note that the connection cost ofX1isc
(
X1)
≤
1kP
d∈((D∩Tx1,1)−Q1)∪(D∩Tx1,2)
w(
s,
d)
. We constructX2andX3as follows. First, we obtain aD-marked Steiner treeYfromTby removingx1,2,x2,1,x2,2, and all oftheir descendants, and further unmarking the nodes ofQ1
∪
(
D∩
T4)
. Note that|
D∩
Y| = |
(
D∩
Tx1,1)
−
Q1| + |
D∩
T3| ≤
1 3k.
We then sort the nodes in
(
D∩
T)
−
(
D∩
X1)
in ascending order of their distances tosinG. LetFcontain the last34knodes inthe sorted sequence, and letCcontain the other nodes in the sequence. Since
|
(
D∩
T)
−
(
D∩
X1)
| ≥
32k, we have|
C| ≥
34k.We now look at the four sets:D
∩
Tx2,1,D∩
Tx2,2,D∩
T4, andD∩
Y. Each of the first two sets is of size at most2
3k
−
1 whileeach of the last two sets is of size at most13k. Thus, at least two of the four sets contain at least one node ofC. Consequently, we can always divide the four sets into two groupsG1andG2that satisfy the following two conditions:
1. G1containsD
∩
Tx2,1and one ofD∩
T4andD∩
Y, whileG2containsD∩
Tx2,2and the other ofD∩
T4andD∩
Y. (Comment:The total size of sets inG1is at mostkand the total size of sets inG2is at mostk.)
2. At least one set inG1contains a node ofCand at least one set inG2contains a node ofC.
IfG1containsD
∩
T4, then we letX2be the union ofB2,1andT4and letX3be the union ofB2,2andY; otherwise, we letX2bethe union ofB2,1andYand letX3be the union ofB2,2andT4. In any case, we unmarku2in one ofX2andX3if it is marked inT.
By Condition 1,
|
D∩
X2| ≤
kand|
D∩
X3| ≤
k. By Condition 2,(
D∩
X2)
∩
C6= ∅
and(
D∩
X3)
∩
C6= ∅
. Obviously, one ofD∩
X2andD
∩
X3containsd0which is the closest destination node tosamong the nodes in(
D∩
X2)
∪
(
D∩
X3)
. We assume thatD∩
X2containsd0; the other case is similar. It follows that the connection costc
(
X2)
≤
w(
s,
d0)
≤
43×
1kP
d∈C
w(
s,
d)
. Moreover, since(
D∩
X3)
∩
C6= ∅
, the connection costc(
X3)
≤
w(
s,
d00)
whered00is the farthest destination node fromsamong thenodes inC. Furthermore, sinceC
∩
F= ∅
,w(
s,
d00)
≤
w(
s,
d000)
whered000is the closest destination node tosamong the nodes inF. Thus,c(
X3)
≤
w(
s,
d000)
≤
43×
1kP
d∈F
w(
s,
d)
. Therefore,c(
X2)
+
c(
X3)
≤
43×
1kP
d∈(D∩T)−(D∩X1)
w(
s,
d)
.Conse-quently, the total routing cost ofX1,X2, andX3is
w
2≤
43w(
T)
+
43×
1kP
d∈D∩T
w(
s,
d)
, becausew(
X1)
+
w(
X2)
+
w(
X3)
=
w(
T)
+
w(
B1,1)
+
w(
T4)
≤
43w(
T)
. Finally, since min{
w
1, w
2} ≤
14w
1+
34w
2≤
54w(
T)
+
32×
1kP
d∈D∩Tw(
s,
d)
, choosing the better option among the two proves the lemma.4. A
(
√ 2089+77
80
+
54
ρ)
-approximation algorithm forkMTRIn the following transformation process that makesT0into a feasiblek-tree routing, it iteratively cuts out a subtreeT fromT0(rooted at the source nodes), such thatTsatisfies certain constraints; According to the size ofT, one of the above
lemmas is then applied to design the routing trees for all the destination nodes inT. We summarize these lemmas inTable 1, and define the priority for the operation on each tree that falls into the range of every lemma.
First of all, for the originalT0or after certain iterations the remainder tree (still denoted as)T0, if
|
D∩
T0| ≤
k, no moreoperations need to be done andT0is used as the routing tree for its destination nodes; if
|
D∩
T0|
>
kbut every branch rootedTable 1
Summary of the lemmas and the priority of the operations processing these trees.
Size ofT Priority of the operation dealingT
Lemma 3.1 [2 3k,k] 6 Lemma 3.3 [4 3k, 3 2k] 4, or 2 if re-rooted Lemma 3.4 (3 2k,2k] 5, or 3 or 2 if re-rooted Lemma 3.5 (2k,5 2k] 2 Lemma 3.6 (5 2k, 8 3k] 2
such branch as used to routing the destination nodes therein. Such a ‘‘no’’ operation, without any of the tree partitioning lemmas, is defined as the operation having the highest priority, which is 8. In either of the two cases,T0is feasiblek-tree
routing for all its destination nodes, and the total routing cost is
w(
T0)
;T0is united to existing routing trees (from previous iterations, if any) to route all destination nodes inD.The other case left for consideration is
|
D∩
T0|
>
kand some branch rooted at the source nodesinT0contains more thankdestination nodes. We define abignode inT0to be an internal nodev
inT0with|
D∩
T0v
|
>
k(sosis big, for now), and define ahugenode inT0to be an internal nodev
inT0with|
D∩
Tv0|
>
2k. Note that a big node may be huge, or not. A big node inT0isextremely bigif all its children inT0are not big. Similarly, a huge node inT0isextremely hugeif all its children inT0are not huge. One may see that sincesis not a destination node, it is not extremely big.4.1. Priorities of operations applying to T0
IfT0has an internal node
v
that has at least three children, among which two of themx1andx2satisfy
|
D∩
Tx01|+|
D∩
T0
x2
| ≤
k, then the following operation modifiesT0by merging the two branches containingx
1andx2into one. Such an operation
has priority 7:
(7.1) Make a copy
v
cofv
(v
cis not a destination node, even ifv
is); (7.2) Delete the edges(v,
x1)
and(v,
x2)
;(7.3) Add three edges
(v, v
c)
,(v
c,
x1)
, and(v
c,
x2)
so thatv
cbecomes a new child ofv
whilex1andx2become the childrenof
v
c. These three edges have weight 0,w(v,
x1)
andw(v,
x2)
, respectively.IfT0has an internal node
v
with23k≤ |
D∩
Tv0| ≤
k, thenTv0is cut off fromT0and used as a routing tree forD∩
Tv0. Such an operation has priority 6. Note that if no priority-6 operation is applicable, then every extremely big node inT0hasat least two children becausek
>
23k.IfT0has an extremely big nodeuwith at least three children, then the following operation, of priority 5, modifiesT0:
(5.1) Pick three arbitrary children
v
1,v
2, andv
3ofuinT0. One can easily verify that since no higher priority operationsapply,
|
D∩
Tvi0|
<
23kfor each indexi, and
|
D∩
T 0vi
| + |
D∩
Tvj0|
>
kfor every pair of distinct indicesiandj.(5.2) LetT be the union of these three branches rooted atuand containing
v
1,v
2, andv
3, respectively. CutToff fromT0(ifnecessary) by leaving a copy of nodeu, which is a non-destination node even if the originaluis, and applyLemma 3.4 to route all its destination nodes.
Similarly, when no operation of priority 5 or higher applies, every extremely big nodeuinT0has exactly two children and
hence satisfies thatk
<
|
D∩
T0u
|
<
4
3k. In addition, every huge node inT
0has a descendant that is a big-but-not-huge node.
For otherwise, assume to the contrary that there is a huge nodeuwhich does not have any big-but-not-huge descendant; then inside this subtreeTuthere is an extreme huge node
v
which has no big descendants at all; it follows thatv
is an extremely big node; due to the fact no operations of priority 5–7 apply,k<
|
D∩
T0v
|
<
43k, contradicting the assumptionthat
v
is huge.IfT0has an extremely big node
v
such that the path fromstov
contains a nodeuwith43k
≤ |
D∩
T0
u
| ≤
3
2k, then the
following operation, of priority 4, modifiesT0: (4.1) CutT0
u off fromT0(if necessary) by leaving a copy of nodeu, which is a non-destination node even if the originaluis, and re-root it at node
v
, denoted asTv0(as there is no confusion);(4.2) ApplyLemma 3.3to route all the destination nodes inT0 v.
IfT0has an extremely big node
v
such that the path fromstov
contains a nodeuwith32k≤ |
D∩
Tu0| ≤
2k, then an operation of priority 3 modifiesT0. Such an operation is very much the same as the above priority-4 operation, except thatFig. 1.A high-level description of the approximation algorithm. An operation of priority 2 modifie