• No results found

A 3.4713-approximation algorithm for the capacitated multicast tree routing problem

N/A
N/A
Protected

Academic year: 2021

Share "A 3.4713-approximation algorithm for the capacitated multicast tree routing problem"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

Contents lists available atScienceDirect

Theoretical Computer Science

journal homepage:www.elsevier.com/locate/tcs

A 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 nodesV, a set of destination nodesDV, 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.

(2)

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 by

w(

e

)

, is nonnegative and represents the routing cost ofe. Theweight(orcost, used interchangeably) of a subgraphTofG, denoted by

w(

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 Steiner

trees 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

+

4

3

ρ)

, which leads to an improvement over the

(

2

+

ρ)

-approximation algorithms

only when

ρ <

1

.

5 [13]. Recently, we presented an

(

85

+

5

4

ρ)

-approximation algorithm which is based on the weight

averaging 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 is

0

.

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 use

w(

u

, v)

to denote its weight. If

(

u

, v)

is an edge inGsuch that

w(

u

, v)

is larger than the weight of the shortest path betweenuand

v

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 betweenuto

v

inG. It follows that the edge weight function

w(

·

,

·

)

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, then

w(

s

,

d

)

w(

T

)

. Thus, we have

X

dD

w(

s

,

d

)

X

T∈T∗

X

dDT

w(

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 tree

is 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 ofsin

T0may contain more thankmarked destination nodes.

In the sequel, for aD-marked Steiner treeT inGand a node

v

inT, we useTvto denote the subtree ofTrooted at

v

. For a childuof an internal node

v

inT, the subtreeTvtogether with edge

(v,

u

)

is called thebranch rooted at

v

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 that

w(

s

,

u

)

=

minvV(T)

w(

s

, v)

. Letc

(

T

)

denote minv∈V(T)

w(

s

, v)

. Note that
(3)

c

(

T

)

=

0 ifs

V

(

T

)

. We callc

(

T

)

theconnection costofT and define therouting costofT to be

w(

T

)

+

c

(

T

)

. Moreover, sincec

(

T

)

mindDT

w(

s

,

d

)

, we have

c

(

T

)

1

|

D

T

|

X

dDT

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 routing

without 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

2

3k

≤ |

D

T

| ≤

k,

then the routing cost of T is at most

w(

T

)

+

3

2

×

1

k

P

dDT

w(

s

,

d

)

.

Lemma 3.2 ([2,4]).Given a D-marked Steiner tree T such that

k

<

|

D

T

| ≤

3

2k,

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 most

w(

T

)

+

2

×

1k

P

dDT

w(

s

,

d

)

.

Lemma 3.3. Suppose that T is a D-marked Steiner tree satisfying the following conditions:

4

3k

≤ |

D

T

| ≤

3 2k.

The root r of T has exactly three child nodes

v

1,

v

2, and

v

3.

• |

D

Tv1

|

<

2

3k,

|

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 most54

w(

T

)

+

√ 2089+77 80

×

1 k

P

dDT

w(

s

,

d

)

.

Proof. By the conditions in the lemma,

|

D

Tv3

|

<

1

2k. Without loss of generality, we assume that

|

D

Tv1

| ≤ |

D

Tv2

|

.

Then,

|

D

Tv2

|

>

1

2k. For eachi

∈ {

1

,

2

,

3

}

, letBibe the branch rooted atrand containing

v

i. We distinguish two cases as

follows.

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

| ≥

4

3k,F

C

= ∅

. Moreover, since

|

D

Tvi

|

<

2

3kfor eachi

∈ {

1

,

2

,

3

}

, there are

at least two indicesi

∈ {

1

,

2

,

3

}

such that

(

D

Tvi

)

C

6= ∅

. If

(

D

Tv3

)

C

= ∅

, then we setX1

=

B1and constructX2

by initializing it as the union ofB2andB3and further unmarkingrif it is marked. Otherwise, we find an indexi

∈ {

1

,

2

}

with

(

D

Tvi

)

C

6= ∅

, setX1

=

Biand constructX2by initializing it as the union ofBjandB3and further unmarkingr

if it is marked, wherejis the other index in

{

1

,

2

} − {

i

}

. In any case,

|

D

X1

| ≤

k,

|

D

X2

| ≤

k,

(

D

X1

)

C

6= ∅

, and

(

D

X2

)

C

6= ∅

. Obviously, one ofD

X1andD

X2containsd0which is the closest destination node tosamong the nodes

inD

T. We assume thatD

X1containsd0; the other case is symmetric. Then,c

(

X1

)

w(

s

,

d0

)

32

×

1k

P

dC

w(

s

,

d

)

. Moreover, since

(

D

X2

)

C

6= ∅

,c

(

X2

)

w(

s

,

d00

)

whered00is the farthest destination node fromsamong the nodes in

C. 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

×

1k

P

dF

w(

s

,

d

)

. Therefore,c

(

X1

)

+

c

(

X2

)

32

×

1k

P

dDT

w(

s

,

d

)

. Consequently, the total routing cost ofX1andX2is at most

w(

T

)

+

32

×

1k

P

dDT

w(

s

,

d

)

, and the lemma is proved.

Case 2:

|

D

Tv3

| + |

D

Tv2

|

>

k. We assume that

w(

B1

)

w(

B3

)

; this does not lose generality because our argument

will not take advantage of the difference between the two conditions that

|

D

Tv1

|

<

2

3kand

|

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 set

X2to be the union ofB1andB3. Obviously,

|

D

X1

| ≤

k. We also have

|

D

X2

| ≤

kbecause

|

D

Tv2

|

>

1

2kand

|

D

T

| ≤

3 2k.
(4)

The total routing cost ofX1andX2is

w

1

w(

T

)

+

|DTv1|+|1DTv3|

P

d∈(DTv1)∪(DTv3)

w(

s

,

d

)

+

1 |DTv2|

P

dDTv2

w(

s

,

d

)

. Since

|

D

Tv2

| ≤

2k

2

|

D

Tv2

| ≤ |

D

Tv1

| + |

D

Tv3

|

, we have

w

1

w(

T

)

+

|D∩1Tv2|

P

d∈(DTv1)∪(DTv2)∪(DTv3)

w(

s

,

d

)

.

In the second option, we first partitionD

Tv2into two disjoint setsC1andC3with

|

C1

| =

l

|DTv2| 2

m

and

|

C3

| =

j

|DTv2| 2

k

. Note that

|

C1

| ≤

13kbecause

|

D

Tv2

|

<

2

3kandkis a multiple of 12. Hence,

|

D

Tv1

| + |

C1

|

<

kand

|

D

Tv3

| + |

C3

|

<

k. We

constructX1by 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

|DT

v2|

2

m

, the total routing cost ofX1andX2is

w

2

43

w(

T

)

+

k−|D∩1Tv2|/2

P

dD∩(X1∪X2)

w(

s

,

d

)

=

4 3

w(

T

)

+

1 k−|DTv2|/2

P

d(DTv1)∪(DTv2)∪(DTv3)

w(

s

,

d

)

.

Note that min

{

w

1

, w

2

} ≤

1

4

w

1

+

3 4

w

2

=

5 4

w(

T

)

+

1 4|DTv2|

+

3 4(k−|DTv2|/2)

P

dDT

w(

s

,

d

)

. From 1 2k

<

|

D

Tv2

|

<

2 3k,

we conclude that min

{

w

1

, w

2

}

<

5

4

w(

T

)

+

3 2

×

1 k

P

dDT

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

)

13

w(

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

=

Tv2

and 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

)

+

1 |DTv2|

P

dDTv2

w(

s

,

d

)

+

1 |F1|+|F3|

P

dF1∪F3

w(

s

,

d

)

=

w(

T

)

+

1 2k/3−p

P

dDTv2

w(

s

,

d

)

+

1 2k/3+p

P

dF1∪F3

w(

s

,

d

)

.

We next describe the second option. We first choose an arbitrary subsetF0

1ofF1with

|

F10

| =

x

+

p, where 0

x

1

3kand

its value will be determined later. SetF0

1exists because

|

F1

| =

13k

+

p. We now constructX1by initializing it as the union of

B1andB2, then unmarking the nodes of

(

D

Tv1

)

F

0

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

|

F

0

1

| ≤ |

F1

|

, we

have

|

D

X1

| ≤

k. We also have

|

D

X2

| ≤

kbecause

|

D

Tv2

|

>

1

2kand

|

D

T

| ≤

3

2k. The total routing cost ofX1andX2is

w

2

43

w(

T

)

+

|F0 1 1|+|DTv2|

P

dF10∪(DTv2)

w(

s

,

d

)

+

1 |F1−F10|+|F3|

P

d∈(F1−F10)∪F3

w(

s

,

d

)

=

4 3

w(

T

)

+

1 2k/3+x

P

d∈(DTv2)∪F10

w(

s

,

d

)

+

1 2k/3−x

P

d∈(F1−F10)∪F3

w(

s

,

d

)

. Since 2 3k

+

x

2 3k

x, we have

w

2

4 3

w(

T

)

+

1 2k/3+x

P

dDTv2

w(

s

,

d

)

+

1 2k/3−x

P

dF1∪F3

w(

s

,

d

)

.

Note that min

{

w

1

, w

2

} ≤

1

4

w

1

+

3 4

w

2

5 4

w(

T

)

+

M1

(

x

)

×

P

dDTv2

w(

s

,

d

)

+

M2

(

x

)

×

P

dF1∪F3

w(

s

,

d

)

5 4

w(

T

)

+

max

{

M1

(

x

),

M2

(

x

)

} ×

P

dDT

w(

s

,

d

)

, whereM1

(

x

)

=

14

×

2k/13p

+

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

)

}

is

achieved at a unique value ofx, at whichM1

(

x

)

=

M2

(

x

)

holds. The solutions to the equationM1

(

x

)

=

M2

(

x

)

are

x

=

(

12k 2

27p2

)

±

p

(

12k2

27p2

)

2

+

144p2k2 18p

,

and thusx

=

−(12k2−27p2)+

(12k227p2)2+144p2k2

18p 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 (cp)2

+

1 (c+p)2 1 (cx)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

)

is

infinitely 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.
(5)

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 k

P

dDT

w(

s

,

d

)

. Note that √ 2089+77 80

1

.

5338

>

3

2. This proves the lemma.

Lemma 3.4 ([3]). Suppose that T is a D-marked Steiner tree satisfying the following conditions:

3

2k

<

|

D

T

| ≤

2k.

The root r of T has exactly three children

v

1,

v

2, and

v

3.

• |

D

Tv1

|

<

2

3k,

|

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

p

i=1

(

D

Xi

)

, and the total routing cost of X1

, . . . ,

Xpis at most54

w(

T

)

+

32

×

1k

P

dDT

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

|

>

1

2kand consequently

k

≤ |

Dv1

| + |

Dv3

| ≤

3

2k. In the first option of routing, the branch rooted at noderand containing child node

v

2is separated

as a routing subtree andLemma 3.2is applied to partition the remainder into two subtrees of size

k. The total routing cost is thus

w

1

w(

Tr

)

+

|D1v2|

P

dDv2

w(

s

,

d

)

+

2

×

1 k

P

dDrDv2

w(

s

,

d

) < w(

Tr

)

+

2

×

1k

P

dDr

w(

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

1

2

|

Dr

| ≤

k. Consequently, the total routing cost for these two subtrees is

w

2

4 3

w(

Tr

)

+

4 3

×

1 k

P

dDr

w(

s

,

d

)

. Since min

{

w

1

, w

2

} ≤

1 4

w

1

+

3 4

w

2

5 4

w(

Tr

)

+

3 2

×

1 k

P

dDr

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

| ≤

5

2k.

The root r of T has exactly two children

v

1and

v

2.

k

<

|

D

Tv1

|

<

4

3k 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

|

<

2

3k, 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 most54

w(

T

)

+

32

×

1k

P

dDT

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 those

four 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. Let

D3andD4denote 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 1

x11

Dx12. There are two possible cases: In the first

case,Dx22

6⊂

D

0, 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 connection

cost of the first subtree is

3

2

×

1

k

P

dD1x11Dx12

w(

s

,

d

)

. Since the last two subtrees both contain some destination nodes

that are not inD0, one of them has connection cost of

w(

s

,

d0

)

and the other has connection cost of at most

w(

s

,

d00

)

, where d0andd00are the closest destination nodes fromD

r

D1x11

Dx12andD

0, respectively. From

|

D

r

D1x11

Dx12

| ≥

4 3k, we

conclude that the sum of the connection costs of these last two subtrees is

3

2

×

1

k

P

dDrD1x11Dx12

w(

s

,

d

)

. Thus, the total

routing cost of these three subtrees is

5

4

w(

Tr

)

+

3 2

×

1 k

P

dDr

w(

s

,

d

)

, and the lemma is proved. In the second case,Dx22

D

0, 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 not

w(

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

|

D

1

(6)

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; LetD

2

x21

=

Dx21

D

1

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). 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 connection cost of

the first subtree is

1 k

P

dD1x11Dx12

w(

s

,

d

)

; The connection cost of the second subtree is at most

w(

s

,

d

0

)

, whered0is the

(

1

2k

+

1

)

-st farthest destination node fromDx22; The connection cost of the third subtree is at most

w(

s

,

d

00

)

, whered00is the closest destination node fromD1

x21, and thus the closest fromD

1

x21

Dx22. From

|

D

1

x21

Dx22

| =

k, we conclude that the sum

of the connection costs of these last two subtrees is

2

×

1 k

P

dD1x21Dx22

w(

s

,

d

)

. Thus, the total routing cost of these three

subtrees is

w

1

w(

Tr

)

+

w(

u1

,

x11

)

+

w(

Tx11

)

+

1 k

P

dD1x11Dx12

w(

s

,

d

)

+

2

×

1 k

P

dD1x21Dx22

w(

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

D

2

x21

| ∈

(

k

,

3

2k

]

, we applyLemma 3.2to route them without increasing the tree weight but using two

subtrees of total connection cost of

2

×

1

k

P

dDrD1x21−Dx22

w(

s

,

d

)

. Therefore, the total routing cost of these three subtrees is

w

2

w(

Tr

)

+

w(

u2

,

x21

)

+

w(

Tx21

)

+

1 k

P

dD1 x21∪Dx22

w(

s

,

d

)

+

2

×

1 k

P

dDx11∪Dx12∪D3∪D4∪D2x21

w(

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 k

P

dD1x11Dx12D1x21Dx22

w(

s

,

d

)

+

1 k

P

dD2x11D3∪D4∪D2x21

w(

s

,

d

)

5 4

w(

Tr

)

+

3 2

×

1 k

P

dDr

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

)

. From

w(

u1

,

x11

)

+

w(

Tx11

)

w(

u1

,

x12

)

+

w(

Tx12

)

, it follows that

w(

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 loss

of 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

| =

1

3k. 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 four

branches: 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, we

conclude that at least two of these four branches are assigned some destination nodes which are among the23kclosest ones fromDx21

Dx22

D4

(

D

2

x11

D3

)

=

Dr

D

1

x11

Dx12. Therefore, it is always possible to form two subtrees, each containing

two 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

3

2

×

1

k

P

dD1x11Dx12

w(

s

,

d

)

; The connection costs of the last two subtrees is at most

w(

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 have

w(

s

,

d 0

)

+

w(

s

,

d00

)

3 2

×

1 k

P

dDrD1x11Dx12

w(

s

,

d

)

. Therefore, the total routing cost of these three subtrees is

5

4

w(

Tr

)

+

3 2

×

1 k

P

dDr

w(

s

,

d

)

, and the lemma is proved.

Lemma 3.6. Suppose that T is a D-marked Steiner tree satisfying the following conditions:

5

2k

<

|

D

T

|

<

8 3k.

The root r of T has exactly two children

v

1and

v

2.

k

<

|

D

Tv1

|

<

4

3k 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

p

i=1

(

D

Xi

)

, and the total routing cost of X1

, . . . ,

Xpis at most54

w(

T

)

+

32

×

1k

P

(7)

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 containing

v

2.

The total routing cost of these four resultant trees is

w

1

w(

T

)

+

2

×

1k

P

dDT

w(

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 containing

v

i. LetT3be theD-marked Steiner tree

obtained 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. We

distinguish 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

)

13

w(

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,2

such that

|

D

B2,1

| + |

Q2

| =

1

3

|

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 unmarkinguiif

it 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

|

or

1 3

|

D

T

|

. Obviously, the total routing cost ofX1,X2,

andX3is

w

2

43

w(

T

)

+

65

×

k1

P

dDT

w(

s

,

d

)

. Since min

{

w

1

, w

2

} ≤

14

w

1

+

34

w

2

54

w(

T

)

+

75

×

1k

P

dDT

w(

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 that

w(

T4

)

+

w(

B1,1

) < w(

T3

)

+

w(

B2,1

)

. Then,

w(

T4

)

+

w(

B1,1

) <

1

3

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, and

further unmarkingu1if it is marked inT. Note that the connection cost ofX1isc

(

X1

)

1k

P

d∈((DTx1,1)−Q1)∪(DTx1,2)

w(

s

,

d

)

. We constructX2andX3as follows. First, we obtain aD-marked Steiner treeYfromTby removingx1,2,x2,1,x2,2, and all of

their 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 in

the 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 most

2

3k

1 while

each 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 letX2be

the 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

)

C

6= ∅

and

(

D

X3

)

C

6= ∅

. Obviously, one ofD

X2

andD

X3containsd0which is the closest destination node tosamong the nodes in

(

D

X2

)

(

D

X3

)

. We assume thatD

X2

containsd0; the other case is similar. It follows that the connection costc

(

X2

)

w(

s

,

d0

)

43

×

1k

P

dC

w(

s

,

d

)

. Moreover, since

(

D

X3

)

C

6= ∅

, the connection costc

(

X3

)

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

(

X3

)

w(

s

,

d000

)

43

×

1k

P

dF

w(

s

,

d

)

. Therefore,c

(

X2

)

+

c

(

X3

)

43

×

1k

P

d∈(DT)−(DX1)

w(

s

,

d

)

.

Conse-quently, the total routing cost ofX1,X2, andX3is

w

2

43

w(

T

)

+

43

×

1k

P

dDT

w(

s

,

d

)

, because

w(

X1

)

+

w(

X2

)

+

w(

X3

)

=

w(

T

)

+

w(

B1,1

)

+

w(

T4

)

43

w(

T

)

. Finally, since min

{

w

1

, w

2

} ≤

14

w

1

+

34

w

2

54

w(

T

)

+

32

×

1k

P

dDT

w(

s

,

d

)

, choosing the better option among the two proves the lemma.

4. A

(

2089+77

80

+

5

4

ρ)

-approximation algorithm forkMTR

In 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 more

operations need to be done andT0is used as the routing tree for its destination nodes; if

|

D

T0

|

>

kbut every branch rooted
(8)

Table 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 node

v

inT0with

|

D

T0

v

|

>

k(sosis big, for now), and define ahugenode inT0to be an internal node

v

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 themx

1andx2satisfy

|

D

Tx01

|+|

D

T

0

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

cof

v

(

v

cis not a destination node, even if

v

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 that

v

cbecomes a new child of

v

whilex1andx2become the children

of

v

c. These three edges have weight 0,

w(v,

x1

)

and

w(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 inT0has

at 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, and

v

3ofuinT0. One can easily verify that since no higher priority operations

apply,

|

D

Tvi0

|

<

2

3kfor each indexi, and

|

D

T 0

vi

| + |

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, and

v

3, respectively. CutToff fromT0(if

necessary) 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

T0

u

|

<

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 that

v

is an extremely big node; due to the fact no operations of priority 5–7 apply,k

<

|

D

T0

v

|

<

43k, contradicting the assumption

that

v

is huge.

IfT0has an extremely big node

v

such that the path fromsto

v

contains a nodeuwith4

3k

≤ |

D

T

0

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 fromsto

v

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 that
(9)

Fig. 1.A high-level description of the approximation algorithm. An operation of priority 2 modifie

References

Related documents

(online registration will be set up on our website later this week) Feb 16 - Heritage Regina event, details forthcoming Feb 17 – Voices of Courage Heritage Saskatchewan

Ranking can be defined as categorizing and assigning weight to some choices. Ranking is a new concept in Cloud Computing field which attracts the attention of

This has helped me when completing my university assignments to a high standard as well as being able to write nursing plans and reports in the clinical placements. Talking

(ii) To compensate windup phenomenon which results from saturation, we apply a dynamic anti-windup scheme to the conventional PI controller.. We show the stability of the overall

The first sub-section analyses the effect of wind power on intra day price variability both for the Nordic system-wide price and for prices in the two local Danish price areas -

• US$ 2 billion of negative results covered by private US$ 2 billion of negative results covered by private enterprises that will build the networks. enterprises

Suggested citation: Nunnenkamp, Peter (2004) : Why economic growth has been weak in Arab countries: The role of exogenous shocks, economic policy failure and institutional

valves in the Salvador record (Figure 4.1 0), absence of Cythridella boldii valves in Castilla (Figure 4.9), and the sharp decline in herbaceous pollen types in both