Routing Functions-an Effective Approach to Deriving One-to-Many Disjoint Paths

全文

(1)

One-to-Many Disjoint Paths

by

Cheng-Nan Lai, Gen-Huey Chen

Department of Computer Science and Information Engineering, National Taiwan University, Taipei, TAIWAN

and

Dyi-Rong Duh

Department of Computer Science and Information Engineering, National Chi Nan University, Nantou, TAIWAN

Abstract

This paper introduces a new concept called routing functions, which have a close relation to one-to-many disjoint paths in networks. By using a minimal routing function, a maximal number of disjoint paths whose maximal length is minimized in the worst case can be constructed in the hypercube and the folded hypercube. The end nodes of the paths constructed for the hypercube are not necessarily distinct. As a byproduct, the strong Rabin number of the hypercube and the Rabin number of the folded hypercube are computed. The latter provides a solution to an open problem raised by Liaw and Chang. A maximal number of disjoint paths whose total length is minimized can also be constructed in the hypercube by the use of a routing function.

Index Terms: Disjoint paths, folded hypercube, hypercube, optimization problem, Rabin number, strong Rabin number

Department of Computer Science and Information Engineering, National Taiwan University,

Taipei, TAIWAN 10764

(2)

1 Introduction

A k-dimensional hypercube (abbreviated to a k-cube) consists of 2k nodes that are labeled with 2k binary numbers from 0 to 2k−1. Two nodes are connected with a link if and only if their labels differ by exactly one bit. The diameter of a k-cube is k. On the other hand, a k-dimensional folded hypercube (abbreviated to a k-fcube) [12] is basically a k-cube augmented with 2k−1 complement links. Each complement link connects two nodes whose labels are complement to each other. Figure 1 shows the structure of a 3-fcube. There are four complement links, i.e., (000, 111), (001, 110), (010, 101), and (011, 100), in a 3-fcube. The both end nodes of each complement link are the complement nodes of each other. Due to the complement links, the diameter of a k-fcube is reduced to k/2.

Routing is a process of transmitting messages among processors, and efficient routing is crucial to the performance of a multiprocessor system. In the past decade, routing with internally node-disjoint paths (disjoint paths for short) has received much attention because disjoint paths have the advantages of efficiency and fault tolerance. A set of disjoint paths between two nodes was named a container [16]. Containers in a variety of interconnection networks (networks for short) can be found in the literature [2, 3, 5-9, 11, 19, 21].

The (node) connectivity of a network is the minimum number of nodes whose removal can cause the network disconnected or trivial [1]. Suppose that W is a network with connectivity k and s, d1, d2, … , dk

are any k+1 distinct nodes of W. It was shown (see Theorem 2.6 in [1]) that there exist k disjoint paths from s to d1, d2, … , dk, respectively, in W. The connectivities of a k-cube and a k-fcube are k and k+1,

respectively. In [20], Rabin construc ted k disjoint paths from s to d1, d2, … , dk in a k-cube. The path from s

to di has length dH(s, di) if dH(s, di)=k, and dH(s, di)+2 if dH(s, di)<k, where 1ik and dH(s, di) is the

Hamming distance between s and di, i.e., the number of different bits between s and di. Disjoint paths from

s to d1, d2, … , dk in a (k+1)-dimensional star network can be found in [4], where the path from s to di has

length ≤dH(s, di)+6. The interested readers may consult [10, 17, 18] for more examples.

With the concern of mini mal transmission delay, we wish to construct the disjoint paths from s to d1, d2, … , dk so that the maximal length is minimized. This led to an optimization problem, named the Rabin

number problem (see [16]). The Rabin number of W was defined to be the minimal l so that for any s, d1, d2, … , dk, there exist k disjoint paths from s to d1, d2, … , dk whose maximal length is at most l. The Rabin

number problem on W is to compute the Rabin number of W. Computing Rabin number of a non-trivial

network is really a hard problem. As shown in [17], it is NP-complete to decide that given a graph G, two integer m and l, and m+1 distinct nodes of G, whether there exist m disjoint paths from one node to the

(3)

others whose maximal length is at most l. Recently, Liaw and Chang [18] defined the strong Rabin

number all the same as the Rabin number, except that {d1, d2, … , dk} is allowed to be a multiset. A

multiset is a collection of elements in which multiple occurrences of the same element are allowed [15].

In this paper, we introduce a new concept of routing functions, which can be used to construct one-to-many disjoint paths in networks. In Section 2, we show that any minimal routing function can be used to construct k disjoint paths from s to d1, d2, … , dk in a k-cube whose maximal length is minimized in

the worst case, where {d1, d2, … , dk} is a multiset. Then, in Section 3, we extend the result of Section 2 to

construct k+1 disjoint paths in a k-fcube, where the end nodes of these paths are all distinct. The paths have lengths k/2+1 at most, where k/2 is the diameter of a k-fcube. Since the maximal length of the paths is minimized in the worst case, the construction is optimal. In Section 4, this paper concludes with some remarks. It was indicated that there exist routing functions which can be used to construct k disjoint paths with minimum total length in a k-cube. The strong Rabin number of a k-cube and the Rabin number of a k-fcube are obtained with the results of Sections 2 and 3, respectively. Throughout this paper, all disjoint paths mean internally node-disjoint paths. That is, all nodes of these paths are distinct, except their end nodes.

2 Disjoint Paths in the Hypercube

Suppose that s, d1, d2, … , dm are arbitrary m+1 distinct nodes of a k-cube, where mk. Since the hypercube

is node symmetric, we assume s= 8 7 6k

0 ...

00 =0k without loss of generality. Hence, dH(s, di)=|di|, which is the

number of 1's contained in di, where 1≤im. There are two purposes in this section. One is to construct

disjoint paths from s to d1, d2, … , dm so that their maximal length is minimized. For this purpose, we use

Φ: {d1, d2, … , dm}→{n1, n2, … , nm} to represent a routing function, where n1, n2, … , nm denote m distinct

dimensions of a k-cube (1njk for all 1jm). Let eβ=0β−110kβ, where 1≤βk. The intuitive meaning of

Φ(di)=nj is that the immediate successor of s in the path to di is the node enj. Obviously Φ is one-to-one.

The other is to determine Φ so that , ( ) =1

i

d i

dΦ assures that the path to di is shortest, where

di=di,1di,2… di,k is assumed. For this purpose, we would like to have di,Φ(di)≥dj,Φ(dj) when |di|<|dj|, because otherwise (di|<|dj| and di,Φ(di)=0<1=dj,Φ(dj)) it may happen that di,Φ(di) =1 and every disjoint path to di is not shortest. For example, assume m=k=5. When (d1, d2, d3, d4, d5)=(00011, 00101, 00111, 00110,

(4)

= ) ( , 2 d2 d Φ d2,2 =0<1=d3,3= 3, ( ) 3 d

d Φ . Every disjoint path from s to d3 has length at least 5, although

) ( , 3 d3

d Φ =1.

In order to find such a Φ, we define VΦ=(v1, v2, … , vk), where each vγ (1≤γk) is the number of di's

with |di|=γ and di,Φ(di)=0. For the example above, we have VΦ=(0, 1, 0, 0, 0). We say (v1, v2, … , vk)<(v'1,

v'2, … , v'k) if v1<v'1 or v1=v'1, v2=v'2, … , vl−1=v'l−1, and vl<v'l for some 2≤lk, and (v1, v2, … , vk)≤(v'1, v'2, … , v'k) if either (v1, v2, … , vk)<(v'1, v'2, … , v'k) or (v1, v2, … , vk)=(v'1, v'2, … , v'k). Φ is said to be

minimal if VΦVΦ' for every routing function Φ': {d1, d2, … , dm} → {n1, n2, … , nm}. We would like to

have a minimal Φ, because intuitively Φ' has higher probability than Φ'' to serve the second purpose if

VΦ'<VΦ''. Actually, a minimal Φ will serve the second purpose, which is shown in this section.

Φ

Conveniently, a k-cube can be represented with k

k ∗ = ∗ ∗

∗67...8 , where ∗ ∈{0, 1}. Thus, ∗k−11 and ∗k−10, which contain the nodes of a k-cube whose rightmost bits are 1 and 0, respectively, represent two disjoint (k1)-cubes that are contained in the k-cube. For each node x=x1x2...xk of a k-cube, we define

x(k )=x1x2...xk−1(1−xk). That is, x differs from x(k ) only in bit xk.

In order to obtain disjoint paths from s to d1, d2, … , dm, we first construct disjoint paths that connect

{ 1 n e , 2 n e , … , m n

e } and {d1, d2, … , dm}, and then augment these paths with links (s, e ), (s, n1 e ), … , (s, n2

m

n

e ). The following is a recursive procedure, named Paths0, with inputs Φ, m, k, D, and I, where Φ is a

minimal routing function from D={d1, d2, … , dm} to I={n1, n2, … , nm}. It will be shown in Section 2.2 that

Paths0(Φ, m, k, D, I) can produce m disjoint paths, denoted by P1, P2, … , Pm, in a k-cube that connect

{ 1 n e , 2 n e , … , m n

e } and {d1, d2, … , dm}, where Pi is the path to di for all 1≤im. When di,Φ(di) =1, Pi has minimal length |di|−1. When di,Φ(di) =0, Pi has length |di|+1. Besides, if ti is the immediate predecessor of

di in Pi, then |ti|=|di|+1 (i.e., the subpath to ti is shortest) when di,Φ(di) =0.

Procedure Paths0(Φ, m, k, D, I).

/* We use ∗k to represent the k-cube where P1, P2, … , Pm are located. */

Step 1. If k=2, then return P1, P2, … , Pm which are m disjoint paths in a 2-cube that connect {e , n1 e , … , n2

m

n

(5)

Step 2. Determine dc so that |dc|≤|di| for all 1≤im, where 1cm. If there are multiple candidates for dc,

then select arbitrary one with , ( ) =1

c

d c

d Φ , or any if all have , ( ) =0

c

d c

d Φ . Without loss of

generality, we assume c=1, nc=n1=k, and Φ(di)=ni for all 1≤im.

Step 3. Partition D into D' and D'', where D'={dj | , ( ) =

c d j d Φ , ( )= 1 d j d Φ dj,k =0 and 1≤jm} and D''= {dj |dj,Φ(dc) = dj,Φ(d1)= dj,k =1 and 1≤jm}.

Step 4. Construct P1, P2, … , Pm according to the following four cases.

Case 1. d1,k=0.

/* Without loss of generality, suppose D'={d1, d2, … , dr} and D''={dr+1, dr+2, … , dm}, where

1≤rm. Define Ψ': {d2, d3, … , dr}→{n2, n3, … , nr} as follows: Ψ'(di)=Φ(di)=ni for all 2≤ir. Let

1≤u<k with d1,u=1, and define Ψ'': {

) ( 1 k d , dr+1, dr+2, … , dm}→{u, nr+1, nr+2, … , nm} as follows: Ψ''( ( ) 1 k

d )=u and Ψ''(di)=Φ(di)=ni for all r+1im. */

Construct P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r1, k1, {d2, d3, … , dr}, {n2, n3, … , nr}). /* P2, P3, … , Pr connect {e , n2 en3, … , enr} and {d2, d3, … , dr}. */

Construct P'1, Pr+1, Pr+2, … , Pm in ∗k−11 by executing Paths0(Ψ'', mr+1, k−1, {

) ( 1

k

d , dr+1,

dr+2, … , dm}, {u, nr+1, nr+2, … , nm}), where P'1 is the path to

) ( 1 k d . /* P'1, Pr+1, Pr+2, … , Pm connect {eu( k), ( ) 1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm e } and {d1(k), dr+1, dr+2, … , dm}. */

Construct P1 by augmenting P'1 with the link (

) ( 1

k d , d1).

Augment P1, Pr+1, Pr+2, … , Pm with links (ek,

) ( k u e ), ( 1 + r n e , ( ) 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (e , nm ) ( k nm e ). Case 2. d1,k=1 and |d1|=1.

/* Suppose D'={d2, d3, … , dr} and D''={d1, dr+1, dr+2, … , dm}, where 1≤rm. Define Ψ': {d2,

d3, … , dr}→{n2, n3, … , nr} as follows: Ψ'(di)=Φ(di)=ni for all 2≤ir, and Ψ'': {dr+1, dr+2, … , dm}

{nr+1, nr+2, … , nm} as follows: Ψ''(di)=Φ(di)=ni for all r+1im. */

Construct P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r1, k1, {d2, d3, … , dr}, {n2, n3, … , nr}). /* P2, P3, … , Pr connect {e , n2 en3, … , enr} and {d2, d3, … , dr}. */

Construct Pr+1, Pr+2, … , Pm in ∗k−11 by executing Paths0(Ψ'', mr, k1, {dr+1, dr+2, … , dm}, {nr+1,

nr+2, … , nm}). /* Pr+1, Pr+2, … , Pm connect {en(kr+)1, ) ( 2 k nr e + , … , ) ( k nm e } and {dr+1, dr+2, … , dm}. */

(6)

Construct P1 as (ek, d1). /* P1 has length 0. */

Augment Pr+1, Pr+2, … , Pm with links (enr+1,

) ( 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (e , nm ) ( k nm e ).

Case 3. d1,k=1, |d1|>1, and d1,α=1 for some α {1, 2, … , k−1}−{k, nr+1, nr+2, … , nm}.

/* Suppose D'={d2, d3, … , dr} and D''={d1, dr+1, dr+2, … , dm}, where 1≤rm. Define Ψ': {d2,

d3, … , dr}→{n2, n3, … , nr} as follows: Ψ'(di)=Φ(di)=ni for all 2≤ir. Define Ψ'': {d1, dr+1,

dr+2, … , dm}→{α,nr+1, nr+2, … , nm} as follows: Ψ''(d1)=α and Ψ''(di)=Φ(di)=ni for all r+1im.

*/

Construct P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r1, k1, {d2, d3, … , dr}, {n2, n3, … , nr}). /* P2, P3, … , Pr connect {e , n2 en3, … , enr} and {d2, d3, … , dr}. */

Construct P1, Pr+1, Pr+2, … , Pm in ∗k−11 by executing Paths0(Ψ'', mr+1, k1, {d1, dr+1, dr+2, … ,

dm}, {α, nr+1, nr+2, … , nm}). /* P1, Pr+1, Pr+2, … , Pm connect {eα( k), ( )1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm e } and {d1, dr+1, dr+2, … , dm}. */

Augment P1, Pr+1, Pr+2, … , Pm with links (ek, eα( k)), (enr+1,

) ( 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (e , nm ) ( k nm e ).

Case 4. d1,k=1, |d1|>1, and d1,α=0 for all α {1, 2, … , k−1}−{k, nr+1, nr+2, … , nm}.

/* Suppose D'={d2, d3, … , dr} and D''={d1, dr+1, dr+2, … , dm}, where 1≤rm. Define Ψ'': {dr+1,

dr+2, … , dm}→{nr+1, nr+2, … , nm} as follows: Ψ''(di)=Φ(di)=ni for all r+1im. */

Construct Pr+1, Pr+2, … , Pm in ∗k−11 by executing Paths0(Ψ'', mr, k1, {dr+1, dr+2, … , dm}, {nr+1,

nr+2, … , nm}). /* Pr+1, Pr+2, … , Pm connect {en(kr+)1, ) ( 2 k nr e + , … , ) ( k nm e } and {dr+1, dr+2, … , dm}. */

/* Define Ω'': {dr+1, dr+2, … , dm}→{nr+1, nr+2, … , nm} as follows: Ω''(di)=nj if Pi begins at

) ( k

nj e

for all r+1im, where r+1jm. */

If d1 ∉Pi for all r+1im, then {

/* Suppose 1≤u<k with d1,u=1. Define Ψ': {

) ( 1

k

d , d2, d3, … , dr}→{u, n2, n3, … , nr} as

follows: Ψ'(d1(k))=uand Ψ'(di)=Φ(di)=ni for all 2≤ir. */

Construct P'1, P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r, k−1, {

) ( 1

k

d , d2, d3, … , dr},

{u, n2, n3, … , nr}), where P'1 is the path to

) ( 1 k d . /* P'1, P2, P3, … , Pr connect {eu, e , n2 3 n e , … , r n e } and { 1( ) k d , d2, d3, … , dr}. */

Construct P1 by augmenting P'1 with the link (

) ( 1

k d , d1).

(7)

/* Suppose u=nh for some r+1hm. */

Augment Pr+1, Pr+2, … , Pm with links (enr+1,

) ( 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (enh−1, ) ( 1 k nh e), (ek, ) ( k u e ), ( 1 + h n e , ( ) 1 k nh e + ), … , ( m n e , ( k) nm e ). }

If d1 ∈Pl for some r+1lm and dl( k)∉{d2, d3, … , dr}, then {

/* Define Θ': {dl( k), d2, d3, … , dr}→{Ω''(dl), n2, n3, … , nr} as follows: Θ'(

) ( k

l

d )=Ω''(dl)

and Θ'(di)=Φ(di)=ni for all 2≤ir. */

Construct P'l, P2, P3, … , Pr in ∗k−10 by executing Paths0(Θ', r, k−1, {dl( k), d2, d3, … , dr},

{Ω''(dl), n2, n3, … , nr}), where P'l is the path to dl( k). /* P'l, P2, P3, … , Pr connect {eΩ''(dl),

2 n e , 3 n e , … , r n e } and {dl( k), d2, d3, … , dr}. */

Construct P1 as the subpath of Pl that goes from ( )( )

k d ' ' l

e to d1.

Reconstruct Pl as the path obtained by augmenting P'l with the link (dl( k), dl).

Augment P1, Pr+1, Pr+2, … , Pl−1, Pl+1, … , Pm with links (enr+1,

) ( 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , ( ( )1 l d ' ' e , ( ) 1 ) ( k d ' ' l e ), (ek, ( )( ) k d ' ' l e ), ( ( )+1 l d ' ' e , ( ) 1 ) ( k d ' ' l e + ), … , ( m n e , ( k) nm e ). }

If d1 ∈Pl for some r+1lm and dl( k)∈{d2, d3, … , dr}, then {

/* Suppose dl( k)=dh for some 2≤hr. Define Ψ: {d1, d2, … , dm}→{n1, n2, … , nm} as

follows: Ψ(dl)=Φ(dh), Ψ(dh)=Ω''(dl), Ψ(d1)=Φ(d1)=k, Ψ(di)=Φ(di) for all 2≤ir and ih, and

Ψ(dj)=Ω''(dj) for all r+1jm and jl. */

Construct P1, P2, … , Pm all the same as Case 3. /* Substitute Ψ for the Φ in Case 3. */ }

Step 5. Return P1, P2, … , Pm.

The following procedure, named Paths1, can produce m disjoint paths from s to d1, d2, … , dm,

respectively, in a k-cube.

Procedure Paths1(Φ, m, k, D, I).

/* Φ is a minimal routing function from D={d1, d2, … , dm} to I={n1, n2, … , nm}. */

Step 1. Obtain P1, P2, … , Pm in a k-cube by executing Paths0(Φ, m, k, D, I).

(8)

Step 3. Return P1, P2, … , Pm.

Φ, m, k, D, I)

We show that Paths0(Φ, m, k, D, I) can produce m disjoint paths P1, P2, … , Pm that connect {e , n1 e , … , n2

m

n

e } and {d1, d2, … , dm}. Besides, when di,Φ(di) =1, Pi has minimal length |di|−1, and when di,Φ(di) =0, Pi has length |di|+1 and |ti|=|di|+1, where ti is the immediate predecessor of di in Pi.

2.2.1 Properties

First some fundamental properties of Φ are introduced. Suppose that Φ': D'→ I' and Φ'': D''→ I'' are two

routing functions, where {D', D''} is a partition of D={d1, d2, … , dm} and {I', I''} is a partition of I={n1, n2, … , nm}. Then, Φ: D→ I is said to be the union of Φ' and Φ'', denoted by Φ=Φ'Φ'', if Φ(di)=Φ'(di) for

all di D' and Φ(dj)=Φ''(dj) for all dj D''. Clearly we have VΦ=VΦ'+VΦ'', i.e., VΦ=(v'1+v''1, v'2+v''2, … , v'k+v''k) if VΦ'=(v'1, v'2, … , v'k) and VΦ''=(v''1, v''2, … , v''k). The following two lemmas are immediate.

Lemma 1. Suppose Φ=Φ'Φ''. If , ( ) =1

i

d ' i

d Φ for every diD', then VΦ=VΦ''.

Lemma 2. Suppose that Φ=Φ'Φ'' is minimal. Then Φ' and Φ'' are minimal.

Lemma 3. Suppose , ( )=0

i

d i

d Φ , dj,Φ(dj) =0, and di,Φ(dj) =1, where 1≤im, 1jm, and ij. Then Φ is not minimal.

Proof. We define Ψ: D→ I as follows: Ψ(di)=Φ(dj), Ψ(dj)=Φ(di), and Ψ(dr)=Φ(dr) for all r∈{1, 2, … ,

m}{i, j}. Suppose VΦ=(v1, v2, … , vk) and VΨ=(v'1, v'2, … , v'k). If |di|≠|dj|, then v'|di|=v|di|−1, v'|dj|≤v|dj|, and

v'l=vl for all l{1, 2, … , k}{|di|, |dj|}. If |di|=|dj|, then v'|di|≤v|di|−1 and v'l=vl for all 1≤lk and l|di|. Hence

VΨ<VΦ. ¨

Lemma 4. Suppose dj,Φ(dj) =0, dj,Φ(di) =1, and di,Φ(dj) =1, where 1≤im, 1jm, and ij. Then Φ is not minimal.

Proof. We define Ψ, VΨ, and VΦ all the same as the above. If , ( ) =0 i

d i

d Φ , then Φ is not minimal by

Lemma 3. If , ( ) =1 i d i d Φ , then | |= | |−1 j j d d v '

v and v'l=vl for all 1≤lk and l|dj|, which implies VΨ<VΦ. ¨

Lemma 5. Suppose , ( )=0

i

d i

d Φ , di,Φ(dj) =1, and |di|<|dj|, where 1≤im, 1jm, and ij. Then Φ is not

(9)

Proof. We define Ψ, VΨ, and VΦ all the same as the above. Then v'|di|=v|di| −1 and v'l=vl for all 1≤l<|di|.

Hence VΨ<VΦ. ¨

Lemma 6. If Φ is minimal and , ( )=0

i d i d Φ , then di di di d di d dik i i)1 , ( )1 , ( , 2 , 1 , ... Φ −1 Φ +... ∉{d1, d2, … , dm} (di,1di,2... k i d i d i d d d i i)1 , ( )1 , (

,Φ −1 Φ +... is the node obtained by changing the bit di,Φ(di) of di to 1).

Proof. Suppose conversely di di di d di d dik

i i)1 , ( )1 , ( , 2 , 1

, ... Φ −1 Φ +... =dr for some 1≤rm and ri. That is, dr,Φ(di) =1 and dr,j = di,j for all 1≤jk and jΦ(di). Then Φ(dr) ∈{n1, n2, … , nm}. If dr,Φ(dr) =0, then Φ is not

minimal by Lemma 3, which is a contradiction. If , ( ) = , ( ) =1

r

r i d

d

r d

d Φ Φ , then Φ is not minimal by Lemma 4,

which is again a contradiction. ¨

The following lemma will be proved in Section 2.2.2.

Lemma 7. Suppose Φ: D={d1, d2, … , dm}→ I={n1, n2, … , nm} is a minimal routing function. Paths0(Φ, m,

k, D, I) can produce m disjoint paths P1, P2, … , Pm in a k-cube that connect {e , n1 e , … , n2 e } and {dnm 1,

d2, … , dm}, where k2, mk, and Pi is the path to di for all 1≤im. When di,Φ(di) =1, Pi has length |di|−1.

When , ( ) =0

i

d i

d Φ , Pi has length |di|+1 and |ti|=|di|+1, where ti is the immediate predecessor of di in Pi.

2.2.2 The proof of Lemma 7

Lemma 7 can be proved by induction on k. It is not difficult to check that Lemma 7 holds for a 2-cube (i.e.,

k=2). Suppose that Lemma 7 holds for a (k1)-cube, where k>2 is assumed. The situation for a k-cube is discussed below. We need to show that P1, P2, … , Pm meet our requirements.

Define two routing functions Φ': D' → I' and Φ'': D'' → I'' so that Φ=Φ'∪Φ''. That is, Φ'(di)=Φ(di) for

all diD' and Φ''(dj)=Φ(dj) for all djD''. Clearly I'I''=I. By Lemma 2 Φ' and Φ'' are minimal. P1,

P2, … , Pm were obtained according to the following four cases.

2.2.2.1 Case 1: d1,k=0

We have assumed D'={d1, d2, … , dr} and D''={dr+1, dr+2, … , dm} (hence, I'={n1, n2, … , nr} and I''={nr+1,

nr+2, … , nm}). Since d1∈D', we have |D''|k1. Actually we have |D''|k−2 for the following reason. If

|D''|=k1, then m=k, {n1, n2, … , nm}={1, 2, … , k}, and D''={d2, d3, … , dk}. Since |d1|≥1 and d1,k=0, we

have d1,v=1 for some 1≤vk1. Suppose v=Φ(dl), where l1. If |d1|=|dl|, then dl,Φ(dl)=0 as a consequence

=

(10)

a contradiction. If |d1|<|dl|, then Φ is not minimal by Lemma 5 (d1,Φ(d1) = d1,k =0, d1,Φ(dl)=d1,v =1, and |d1|<|dl|), which is again a contradiction.

Since Ψ' is a minimal routing function by Lemma 2, by induction hypothesis P2, P3, … , Pr that were

produced by executing Paths0(Ψ', r1, k1, {d2, d3, … , dr}, {n2, n3, … , nr}) are r1=|D'|−1 disjoint paths

in ∗k−10 that connect { 2 n e , 3 n e , … , r n

e } and {d2, d3, … , dr}. For all 2≤ir, Pi has length |di|−1 if

= ) ( , 'di i d Ψ , ( ) =1 i d i

d Φ , and Pi has length |di|+1 and |ti|=|di|+1 if di,Ψ'(di) =di,Φ(di) =0.

Similarly, P'1, Pr+1, Pr+2, … , Pm that were produced by executing Paths0(Ψ'', mr+1, k−1, {

) ( 1

k

d , dr+1,

dr+2, … , dm}, {u, nr+1, nr+2, … , nm}) are mr+1=|D''|+1k−1 disjoint paths in ∗k−11 that connect {eu( k),

) ( 1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm e } and { 1( ) k d , dr+1, dr+2, … , dm}, provided ek∉{ ) ( 1 k d , dr+1, dr+2, … , dm} and Ψ'' is a minimal

routing function. Recall that we have assumed s{d1, d2, … , dm}. Here ek in ∗k−11 corresponds to s in k.

We have ek ∉{

) ( 1

k

d , dr+1, dr+2, … , dm}, as explained below. Obviously ek

) ( 1 k d . If ek=dl for some r+1lm, then , ( ) =0 l d l

d Φ as a consequence of Step 2. By Lemma 3 ( , ( ) =0

l d l d Φ , 1, ( ) 1, 0 1 = k = d d d Φ , and = ) ( , d1 l

d Φ dl,k =1), Φ is not minimal, which is a contradiction.

Ψ'' is a minimal routing function, as explained below. First, Ψ'' is a routing function if ( ) 1

k

d{dr+1,

dr+2, … , dm} and u{nr+1, nr+2, … , nm}. The former holds as a consequence of Lemma 6 (Φ is minimal

and 1, ( ) 1, 0

1 = k =

d d

d Φ ). The latter holds for the following reason. If u{nr+1, nr+2, … , nm}, then u=Φ(dl)

for some r+1lm and hence Φ is not minimal by Lemma 4 ( 1, ( ) =

1 d d Φ d1,k =0, d1, (d )=d1,u =1 l Φ , and = ) ( , d1 l d Φ dl,k =1), which is a contradiction.

Further, Ψ'' is minimal for the following reason. Suppose conversely that Ψ'' is not minimal. Then there exists a routing function Ψ: { 1( )

k

d , dr+1, dr+ 2, … , dm}→{u, nr+1, nr+2, … , nm} so that VΨ<VΨ''. Since

= ) ( ) ( , 1 1() k d '' k d Ψ ( ) , 1 k u

d =d1,u=1, we have VΨ''=VΦ'' by Lemma 1 (D'={

) ( 1 k d }). If u=Ψ( 1( ) k

d ), then define a routing

function Π'': {dr+1, dr+2, … , dm}→{nr+1, nr+2, … , nm} as follows: Π''(dj)=Ψ(dj) for all r+1jm. Since

) ( , 1 ) ( ) ( , 1 1() k u k d d

d Ψ k = =d1,u=1, we have VΠ''=VΨ by Lemma 1 (D'={

) ( 1

k

d }). Hence VΠ''<VΦ'', which is a

contradiction. On the other hand, if u=Ψ(dl) for some r+1lm, then define a routing function Θ': {d1,

d2, … , dr}→{Ψ( ) ( 1 k d ), n2, n3, … , nr} as follows: Θ'(d1)=Ψ( ) ( 1 k

d ) and Θ'(dj)=Φ'(dj) for all 2≤jr. Since

=

) ( , 1 ' d1

(11)

nr+1, nr+2, … , nm}−{Ψ(

) ( 1

k

d )} as follows: Θ''(dl)=k and Θ''(dj)=Ψ(dj) for all r+1jm and jl. Since

=

) ( , '' dl

l

d Θ dl,k =1 , we have VΘ''VΨ. Hence, VΘ'+VΘ''VΦ'+VΨ<VΦ'+VΨ''=VΦ'+VΦ''=VΦ, which is a contradiction because Φ is minimal and Θ'Θ'' is a routing function from D to I.

Consequently, for all r+1im, Pi has length (|di|−1)−1=|di|−2 if di,Ψ''(di)= di,Φ(di) =1, and Pi has length (|di|−1)+1=|di| and |ti|=|di|+1 if di,Ψ''(di) =di,Φ(di) =0. P'1 has length (|

) ( 1 k d |−1)−1=|d1|−1 because = ) ( ) ( , 1 1( ) k d '' k d Ψ ( ) 1 , 1 = k u

d . P1 has length (|d1|−1)+1=|d1|, and |t1|=|

) ( 1

k

d |=|d1|+1. Besides, if d1 is not included in P2, P3, … , Pr, then P1, P2, … , Pm are disjoint. In the following we show that d1 is not included in P2, P3, … , Pr.

Suppose conversely that d1 is contained in Ph, where 2≤hr. We define a routing function Ω': {d2,

d3, … , dr}→{n2, n3, … , nr} as follows: Ω'(di)=nj if Pi begins at enj, where 2≤ir and 2jr. That is, Pi

goes from ( )

i

d '

e to di. We have d1,Ω'(dh) =1 for the following reason. If dh,Ψ'(dh) =1, then Ph has length |dh|−1, which implies d1,Ω'(dh) =1. If dh,Ψ'(dh) =0, then Ph has length |dh|+1 and |th|=|dh|+1. It is meant that

the subpath from ( )

h

d '

e to th has length |dh|=|th|−1. Since d1≠dh, we have d1,Ω'(dh) =1.

For all 2≤ir, we have , ( ) , ( )

i i i 'd

d '

i d

d = Ψ for the following reason. If , ( ) =1

i d ' i dΨ , then , ( )=1 i d ' i d

because Pi has length |di|−1. Consequently, if dlΨ, '(dl)=0 and dl,Ω'(dl) =1 for some 2≤lr, then VΩ'<VΨ', which is a contradiction because Ψ' is minimal. Hence, , ( )=0

i d ' i dΨ implies , ( ) =0 i d ' i d .

We define another routing function Π': {d1, d2,… , dr}→{n1, n2,… , nr} as follows: Π'(d1)=Φ'(d1)=

n1=k and Π'(di)=Ω'(di) for all 2≤ir. Since di,Ω'(di)=di,Ψ'(di) and Φ'(di)=Ψ'(di) for all 2≤ir, we have

= ) ( , ' di i d Π , ( ) i d ' i

d Φ for all 1≤ir, which implies VΠ'=VΦ'. Hence Π' is also minimal. If |d1|<|dh|, then Π' is not

minimal by Lemma 5 ( 1, ( ) 1, 0 1 = k = d ' d d Π , 1, ( )= 1, ( ) =1 h h 'd d ' d

d Π , and |d1|<|dh|), which is a contradiction. If

|d1|=|dh|, then Ph has length greater than |dh|−1. Hence Ph has length |dh|+1, which implies dh,Ψ'(dh)=0. By

Lemma 3 ( 1, ( ) 1, 0 1 = k = d ' d d Π , , ( ) = h d ' h d Π , ( ) = , ( ) =0 h h h ' d d ' h d d Ψ , and 1, ( )= 1, ( ) =1 h h ' d d ' d d Π ), Π' is not

minimal, which is again a contradiction.

Finally, the lengths of P1, Pr+1, Pr+2, … , Pm increase by one after adding links (ek, e( ku )), (enr+1,

) ( 1 k nr e + ), ( 2 + r n e , ( ) 2 k nr e + ), … , ( m n e , ( k) nm

(12)

We have assumed D'={d2, d3, … , dr} and D''={d1, dr+1, dr+2, … , dm} (hence, I'={n2, n3, … , nr} and I''={k,

nr+1, nr+2, … , nm}), where d1=ek and |D'|k−1. Since Ψ'=Φ' is a minimal routing function, by induction

hypothesis P2, P3, … , Pr that were produced by executing Paths0(Ψ', r1, k1, {d2, d3, … , dr}, {n2, n3, … , nr}) are r1=|D'| disjoint paths in k−10 that connect {e , n2 e , … , n3 e } and {dnr 2, d3, … , dr}. For all 2≤ir,

Pi has length |di|−1 if di,Ψ'(di)= di,Φ(di) =1, and Pi has length |di|+1 and |ti|=|di|+1 if diΨ, '(di)= di,Φ(di) =0. Similarly, since Ψ'' is a minimal routing function by Lemma 2, Pr+1, Pr+2, … , Pm that were produced

by executing Paths0(Ψ'', mr, k1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}) are mr=|D''|−1 disjoint paths

in ∗k−11 that connect { ( ) 1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm

e } and {dr+1, dr+2, … , dm}. Further, since ek=d1, P1, Pr+1, Pr+2, … ,

Pm are |D''| disjoint paths in k−11 that connect {ek, e(nkr+)1, ) ( 2 k nr e + , … , ) ( k nm e } and {d1, dr+1, dr+2, … , dm}. For

all r+1im, Pi has length (|di|−1)−1=|di|−2 if di,Ψ''(di) =di,Φ(di) =1, and Pi has length (|di|−1)+1=|di| and |ti|= |di|+1 if di,Ψ''(di) =di,Φ(di)=0.

1 + r n e , ( ) 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (e , nm ) ( k nm e ), the lengths of Pr+1, Pr+2, … , Pm

increase by one. It is not difficult to see that P1, P2, … , Pm meet our requirements.

2.2.2.3 Case 3: d1,k=1, |d1|>1, and d1,α=1 for some α ∈{1, 2, … , k−1}−{k, nr+1, nr+2, … , nm}

We have assumed D'={d2, d3, … , dr} and D''={d1, dr+1, dr+2, … , dm} (hence, I'={n2, n3, … , nr} and I''={k,

nr+1, nr+2, … , nm}), where |D'|k1. We have |D''|k1 for the following reason. If |D''|=k, then I''={k, nr+1,

nr+2, … , nm}={1, 2, … , k}. Hence {1, 2, … , k−1}−{k, nr+1, nr+2, … , nm} is empty, which is a contradiction.

Since Ψ'=Φ' is a minimal routing function, by induction hypothesis P2, P3, … , Pr that were produced by

executing Paths0(Ψ', r1, k1, {d2, d3, … , dr}, {n2, n3, … , nr}) are r1=|D'| disjoint paths in k−10 that

connect { 2 n e , 3 n e , … , r n

e } and {d2, d3, … , dr}. For all 2≤ir, Pi has length |di|−1 if di,Ψ'(di)= di,Φ(di) =1, and Pi has length |di|+1 and |ti|=|di|+1 if di,Ψ'(di)= di,Φ(di) =0.

Similarly, P1, Pr+1, Pr+2, … , Pm that were produced by executing Paths0(Ψ'', mr+1, k1, {d1, dr+1,

dr+2, … , dm}, {α, nr+1, nr+2, … , nm}) are mr+1=|D''|k−1 disjoint paths in ∗k−11 that connect {eα( k), ( )1

k nr e + , ) ( 2 k nr e + , … , ) ( k nm

e } and {d1, dr+1, dr+2, … , dm}, provided ek{d1, dr+1, dr+2, … , dm} and Ψ'' is a minimal

routing function.

Since |d1|>1, we have ek {d1, dr+1, dr+2, … , dm} as a consequence of Step 2. Ψ'' is a minimal routing

(13)

conversely that Ω'': {d1, dr+1, dr+2, … , dm}→{α, nr+1, nr+2, … , nm} is a minimal routing function, where

VΩ''<VΨ''. We further assume Ω''(dl)=α for some l{1, r+1, r+2, … , m}. Define a routing function Π'': {d1,

dr+1, dr+2, … , dm}→{k, nr+1, nr+2, … , nm} as follows: Π''(dl)=k and Π''(dj)=Ω''(dj) for all j{1, r+1,

r+2, … , m}{l}. Since dl, ''(d) =dl,k =1 l

Π , we have VΠ''VΩ''. Since d1,Φ''(d1) = d1,k =1 and

=

) ( , 1 '' d1

d Ψ d1,α =1, we have VΨ''=VΦ''. Hence VΠ''VΩ''<VΨ''=VΦ'', which is a contradiction because Φ'' is

minimal.

Consequently, for all i{1, r+1, r+2, … , m}, Pi has length (|di|−1)−1=|di|−2 if di,Ψ''(di)= di,Φ(di) =1, and Pi has length (|di|−1)+1=|di| and |ti|=|di|+1 if di,Ψ''(di) =di,Φ(di) =0. After adding links (ek,

) ( k eα ), ( 1 + r n e , ) ( 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (e , nm ) ( k nm

e ), the lengths of P1, Pr+1, Pr+2, … , Pm increase by one. It is not difficult

to see that P1, P2, … , Pm meet our requirements.

2.2.2.4 Case 4: d1,k=1, |d1|>1, and d1,α=0 for all α ∈{1, 2, … , k−1}−{k, nr+1, nr+2, … , nm}

We have assumed D'={d2, d3, … , dr} and D''={d1, dr+1, dr+2, … , dm} (hence, I'={n2, n3, … , nr} and I''={k,

nr+1, nr+2, … , nm}), where |D'|k1. Actually we have |D'|k2 for the following reason. If |D'|=k−1, then

D''={d1} and I''={k, nr+1, nr+2, … , nm}={k}. Hence {1, 2, … , k−1}−{k, nr+1, nr+2, … , nm}={1, 2, … , k−1}.

This implies |d1|=1, which is a contradiction.

Since |d1|>1, we have ek{d1, dr+1, dr+2, … , dm} as a consequence of Step 2. Ψ'' is a minimal routing

function by Lemma 2. Hence, by induction hypothesis Pr+1, Pr+2, … , Pm that were produced by executing

Paths0(Ψ'', mr, k1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}) are mr=|D''|−1≤k−1 disjoint paths in ∗k−11

that connect { ( ) 1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm

e } and {dr+1, dr+2, … , dm}. For all r+1im, Pi has length (|di|−1)−1=

|di|−2 if di,Ψ''(di) =di,Φ(di) =1, and Pi has length (|di|−1)+1=|di| and |ti|=|di|+1 if di,Ψ''(di) =di,Φ(di) =0.

P1, P2, … , Pm were obtained according to three situations. The first situation is d1 ∉Pi for all r+1im.

If Ψ' is a minimal routing function, then by induction hypothesis P'1, P2, P3, … , Pr that were produced by

executing Paths0(Ψ', r, k−1, {d1(k), d2, d3, … , dr}, {u, n2, n3, … , nr}) are r=|D'|+1k−1 disjoint paths in

k−1

0 that connect {eu, e , n2 e ,… , n3 e } and {nr ) ( 1

k

d , d2, d3,… , dr}. Ψ' is a routing function for the

following reason. We have d1(k)∉{d2, d3,… , dr} as a consequence of Step 2, because |

) ( 1

k

d |<|d1|. We have u{n2, n3,… , nr} because d1,u=1 and 1≤u<k imply uI''{k}={nr+1, nr+2,… , nm}. Further, Ψ' is minimal

(14)

Suppose conversely that Ω': {d1(k), d2, d3,… , dr}→{u, n2, n3,… , nr} is a minimal routing function, where VΩ'<VΨ'. Since 1(,)( ( )) = 1 k d ' k d Ψ ( ) , 1 k u d =1, we have VΨ'=VΦ' by Lemma 1 (D'={ 1( ) k d }). Define a routing

function Π': {d1, d2, d3,… , dr}→{u, n2, n3,… , nr} as follows: Π'(d1)=Ω'(

) ( 1

k

d ) and Π'(di)=Ω'(di) for all

2≤ir. Since d1,v= 1(,)

k v

d for all 1≤vk1 and uk, we have ( )

) ( , 1 ) ( , 1 ) ( , 1 () 1 ) ( 1 1 k d ' d ' d ' d k d k d Π = = . Thus VΠ'=VΩ'.

Since u{nr+1, nr+2,… , nm}, we have u=Ω''(dl) for some r+1lm. Define another routing function Π'':

{dr+1, dr+2, … , dm}→{k, nr+1, nr+2, … , nm}−{u} as follows: Π''(dl)=k and Π''(di)=Ω''(di) for all r+1im

and il. Since dl, ''(d)=dl,k =1 l

Π , we have VΠ''VΩ''.

We have VΩ''=VΨ'' if di,Ω''(di) =di,Ψ''(di) for all r+1im. The latter holds for the following reason. If 1

) ( , '' di =

i

d Ψ , then Pi has length |di|−2. Since Pi goes from ( )( )

k d ' ' i e to di and | ( )( ) k d ' ' i e |=2, we have , ( ) =1 i d ' ' i d .

On the other hand, if , ( ) =0

i d ' ' i d Ψ , then , ( ) =0 i d ' ' i d ,for otherwise ( , ( ) =0 l d ' ' l d Ψ and , ( ) =1 l d '' l d for some

r+1lm) VΩ''<VΨ'', which is a contradiction because Ψ'' is minimal.

Since 1, ( ) 1, 1

1 = k =

d '

' d

d Φ , we have VΨ''=VΦ'' by Lemma 1 (D'={d1}). Hence,

VΠ'+VΠ''VΩ'+VΩ''<VΨ'+VΨ''= VΦ'+VΦ''=VΦ, which is a contradiction because Π'Π'' is a routing function from D to I and Φ is minimal. Hence Ψ' is minimal.

Consequentl y, for all 2≤ir, Pi has length |di|−1 if di,Ψ'(di)= di,Φ(di) =1, and Pi has length |di|+1 and |ti|=|di|+1 if di,Ψ'(di)= di,Φ(di) =0. Since = ) ( ) ( , 1 1( ) k d ' k d Ψ ( ) , 1 k u d =1, P'1 has length | ) ( 1 k d |−1=|d1|−2. Hence P1 has

) ( 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (enh−1, ) ( 1 k nh e), (ek, ) ( k u e ), ( 1 + h n e , ( ) 1 k nh e + ), … , ( m n e , ( k) nm

e ), the lengths of Pr+1, Pr+2, … , Pm increase by one (since u{nr+1, nr+2,… , nm}, there exists

r+1hm so that u=nh). It is not difficult to see that P1, P2, … , Pm meet our requirements.

The second situation is d1 ∈Pl for some r+1lm and dl( k)∉{d2, d3, … , dr}=D'. If Θ' is a minimal

routing function, then by induction hypothesis P'l, P2, P3, … , Pr that were produced by executing

Paths0(Θ', r, k−1, {dl( k), d2, d3, … , dr}, {Ω''(dl), n2, n3, … , nr}) are r=|D'|+1k−1 disjoint paths in ∗k−10

that connect { ( ) l d ' ' e , 2 n e , 3 n e , … , r n e } and {dl( k), d2, d3,… , dr}. Since ) ( k l d{d2, d3, … , dr} and Ω''(dl)

{n2, n3, … , nr}, Θ' is a routing function. Further, Θ' is minimal, as explained below.

Suppose conversely that ℜ': {dl( k), d2, d3, … , dr}→{Ω''(dl), n2, n3, … , nr} is a minimal routing

(15)

dr+1, dr+2, … , dm}→{k, nr+1, nr+2, … , nm} as follows: ℑ''(d1)=k and ℑ''(di)=Ω''(di) for all r+1im. Since 1 , 1 ) ( , 1ℑ''d1 =d k =

d , we have Vℑ''=VΩ'' by Lemma 1 (D'={d1}). Hence ℑ'' is minimal because VΩ''=VΨ''=VΦ''

and Φ'' is minimal. If , ( ) =0 l d ' ' l d , then , ( ) =0 l d '' l

dΨ which implies that Pl has length (|dl|−1)+1=|dl| and

|tl|=|dl|+1. Since d1 ∈Pl, | ( )( )

k d '' l

e |=2, and the subpath of Pl from ( )( )

k d '' l

e to tl has length |dl|−1=|tl|−2, we have

1 ) ( , 1 '' dl = d , which implies 1, ( ) =1 l d ' ' d . By Lemma 4 ( ,( ) = , ( ) =0 l l l '' d d ' ' l d d , , ( ) , 1 1 = = ℑ''d lk l d d , and = ℑ( ) , 1 '' dl d 1, ( ) =1 l d ''

d ), ℑ'' is not minimal, which is a contradiction. Since Ω''(dl)≠k and dl,Ω''(dl) =1, we have =

) ( ) ( , ( ) k d ' l lk d Θ ( ) ) ( , k d '' l l d = , ( ) =1 l d '' l d . By Lemma 1 (D'={dl( k)})

we have VΘ'=VΦ'. Define a routing function ℘': {dl, d2, d3, … , dr}→{Ω''(dl), n2, n3, … , nr} as follows:

℘'(dl)=ℜ'(dl( k)) and ℘'(dj)=ℜ'(dj) for all 2≤jr. Since ℘'(dl)≠k, we have dl,℘'(dl) = ) ( ) ( , k d ' l l d ( ) ) ( , () k d ' l lk d = . If = ℘( ) , 'dl l d ( ) 1 ) ( ,ℜ () = k d ' l lk d , then V℘'=Vℜ'. If dl,℘'(dl) = 0 ) ( ) ( ,ℜ () = k d ' l lk

d , then V℘'<Vℜ' because |dl( k)|<|dl|. Hence we

have V℘'Vℜ'. Define another routing function ℘'': {d1, dr+1, dr+2, … , dm}−{dl}→{k, nr+1, nr+2, … , nm}−

{Ω''(dl)} as follows: ℘''(d1)=k and ℘''(dj)=Ω''(dj) for all r+1jm and jl. Since d1,℘''(d1) =d1,k =1 and 1

) ( , '' dl =

l

d , we have V℘''=VΩ''. Hence, V℘'+V℘''Vℜ'+VΩ''<VΘ'+VΨ''=VΦ'+VΦ''=VΦ, which is a contradiction because ℘'℘'' is a routing function from D to I and Φ is minimal. Hence Θ' is minimal.

Consequently, for all 2≤ir, Pi has length |di|−1 if di,Θ'(di) = di,Φ(di) =1, and Pi has length |di|+1 and |ti|=|di|+1 if di,Θ'(di) = di,Φ(di)=0. P'l has length | ) ( k l d |−1=|dl|−2 because (,)( ( )) = k d ' l lk d Θ ( ) ) ( , k d '' l l d = , ( ) =1 l d '' l d .

On the other hand, (old) Pl has length (|dl|−1)−1=|dl|−2 because dl,Ψ''(dl) =dl,Ω''(dl) =1. P1 has length |d1|−2 because d1 ∈Pl, Pl goes from ( )( )

k d '' l e to dl, and | ( )( ) k d '' l

e |=2. The newly constructed Pl has length |dl|−1. After

adding links ( 1 + r n e , ( ) 1 k nr e + ), (enr+2, ) ( 2 k nr e + ), … , (eΩ''(dl)−1, ) ( 1 ) ( k d ' ' l e ), (ek, ( )( ) k d ' ' l e ), ( ( )+1 l d ' ' e , ( ) 1 ) ( k d ' ' l e + ), … , ( m n e , ( k) nm

e ), the lengths of P1, Pr+1, Pr+2, … , Pl−1, Pl+1, … , Pm increase by one. It is not difficult to see that

P1, P2, … , Pm meet our requirements.

The third situation is d1 ∈Pl for some r+1lm and

) ( k

l

d{d2, d3, … , dr}=D'. We observe that P1, P2, … , Pm can be obtained all the same as Case 3, provided di,Ψ(di) =di,Φ(di) for all 1≤im and d1,α=1 for some α {1, 2, … , k−1}−Ψ(D''). The two conditions actually hold, as explained below.

(16)

) ( , di

i

d Φ for all 1≤im, it suffices to show dj,Ψ(dj) =dj,Φ(dj) for all j{1, 2, … , m}−({2, 3, … ,

r}{h})={1, h, r+1, r+2, … , m}. It is not difficult to check that 1, ( )=

1 d dΨ 1, 1, ( ) 1 d k d d = Φ and = ) ( , dv v d Ψ , ( ) = v d '' v d , ( )= v d '' v d Ψ , ( ) v d v

d Φ for all r+1vm and vl. Hence we only need to show

) ( , ) ( , dj j dj j d

d Ψ = Φ for j{h, l}. Since Ω''(dl)≠k, we have dhΨ, (dh) =dh,Ω''(dl)=dl,Ω''(dl)=1. Also we have 1

) ( , dh =

h

d Φ for the following reason. Since Φ(dl)≠k, we have dh,Φ(dl)= dl,Φ(dl) = dlΨ, ''(dl) =dl,Ω''(dl) =1. If ) ( , dh h d Φ =0, then by Lemma 5 ( , ( ) =0 h d h d Φ , , ( ) =1 l d h

d Φ , and |dh|<|dl|) Φ is not minimal, which is a

contradiction. Hence we have , ( ) =

h d h d Ψ , ( ) =1 h d h

d Φ . Further, since Φ(dh)≠k, we have

= = , ( ) ) ( , dl l dh l d d Ψ Φ , ( ) =1= h d h d Φ , ( )= , ( )= l l l '' d d '' l d d Ψ , ( ) l d l d Φ .

On the other hand, let α=Ω''(dl). We have α {1, 2, … , k−1}−Ψ(D'') because Ω''(dl)=Ψ(dh)≠k and

dhD'. Since dl,Ψ''(dl) = dl,Ω''(dl) =1, Pl has length (|dl|−1)−1=|dl|−2. We have d1,α=d1,Ω''(dl) =1 because

d1 ∈Pl, | ( )( )

k d '' l

e |=2, and Pl goes from ( )( )

k d '' l

e to dl.

1

2

m

} is a multiset

When {d1, d2, … , dm} is a multiset, Procedure Paths0(Φ, m, k, D, I) still works, provided Step 4 is

modified as follows.

Let T={dj |dj=ek and r+1jm}. In Case 2, Ψ'' is changed to Ψ'': {dr+1, dr+2, … , dm}−T {nr+1,

nr+2, … , nm}−{Φ(dj)| djT and r+1jm} so that Ψ''(di)=Φ(di)=ni for all r+1im and diek. Instead of

executing Paths0(Ψ'', mr, k1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}), we execute Paths0(Ψ'', mr−|T|,

k−1, {dr+1, dr+2, … , dm}−T, {nr+1, nr+2, … , nm}−{Φ(dj)| djT and r+1jm}), in order to construct mr−|T|

disjoint paths in ∗k−11 that connect { ( )

1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm e }−{ (k()d ) j eΦ | djT and r+1jm} and {dr+1, dr+2, … ,

dm}−T. Additionally, we construct another |T| disjoint paths of length one that connect

) ( ) ( k dj

eΦ and dj for all

djT. In Case 4, the conditions for the second and third situations are changed to "If d1 ∈Pl for some

r+1lm, d1 ∉{dr+1, dr+2, … , dm}, and dl( k)∉{d2, d3, … , dr}" and "If d1 ∈Pl for some r+1lm, d1 ∉{dr+1, dr+2, … , dm}, and dl( k)∈{d2, d3, … , dr}", respectively. One more situation whose condition is "If d1 ∈Pl

for some r+1lm and d1 ∈{dr+1, dr+2, … , dm}" needs to be added. The new situation constructs P1, P2, … , Pr in ∗k−10 all the same as the first situation (i.e., d1∉Pi for all r+1im).

(17)

that the definitions of Φ, VΦ, and minimal Φ remain unchanged, and Lemmas 1 to 6 remain valid. In Case

1, the proof for d1 not included in P2, P3, … , Pr is needed only when d1 ∉{d2, d3, … , dr}. In Case 2, that

the new Ψ'' is a minimal routing function can be assured by Lemma 2. In Case 4, the proof for the newly added situation (i.e., d1 ∈Pl for some r+1lm and d1 ∈{dr+1, dr+2, … , dm}) is the same as that for the first

situation. The proofs for the other three situations remain the same.

According to the discussion above, we have the following lemma as a consequence of Lemma 7.

Lemma 8. Suppose Φ: {d1, d2, … , dk}→{1, 2, … , k} is a minimal routing function, where k2 and {d1, d2, … , dk} is a multiset. Paths1(Φ, k, k, {d1, d2, … , dk}, {1, 2, … , k}) can produce k disjoint paths from s

to d1, d2, … , dk so that the path to di has length |di| if di,Φ(di) =1, and length |di|+2 if di,Φ(di)=0, where s

{d1, d2, … , dk}. Moreover, if the path to di has length |di|+2, then |ti|=|di|+1, where ti is the immediate

predecessor of di in the path.

Lemma 8 is further illustrated with Figure 2, where a path labeled with ∗ represents a shortest path. According to Lemma 8, the path from s to di has length k if |di|=k, and at most k+1 if |di|<k, which imposes

an upper bound of k+1 on the strong Rabin number of a k-cube. On the other hand, a lower bound of k+1 was suggested in [10, 18]. Hence the strong Rabin number of a k-cube is equal to k+1.

Φ

Thus far we have assumed the existence of a minimal routing function Φ. We now show how it can be

determined in polynomial time. Actually the problem of finding a minimal Φ can be reduced to the

problem of finding a maximum matching in a weighted bipartite graph. Suppose G=(U, V, E) is a weighted bipartite graph, where U and V are two partite sets of nodes and E is the set of weighted links (each link of G is assigned a weight). A subset of E forms a matching in G if no two links share a common node. A matching in G is maximum if its total weight is maximum. A maximum matching in G can be found in O(|UV|(|E|+|UV|log|UV|)) time (see [13]).

Suppose Φ: {d1, d2, … , dk}→{1, 2, … , k} is a routing function, where {d1, d2, … , dk} is a multiset.

We let U={d1, d2, … , dk}, V={1, 2, … , k}, E={(di, j)|1≤ik and 1jk.}, and assign link (di, j) a weight

1 | | ) 1 (k+ kdi+ if d

i,j=1, and 1 if di,j=0. We note that a maximum matching M in G contains k links and its

total weight can be expressed as a1∗(k+1)k+a2∗(k+1)k−1+ … +ak(k+1)+ak +1, where 0≤ark for all 1rk+1.

That is, there are ar links in M whose weights are

1 ) 1

Updating...