Routing Functions – an Effective Approach to Deriving
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
Correspondence Address: Professor Gen-Huey Chen
Department of Computer Science and Information Engineering, National Taiwan University,
Taipei, TAIWAN 10764
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 1≤i≤k 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
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 m≤k. 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≤i≤m. 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 (1≤nj≤k for all 1≤j≤m). 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,
= ) ( , 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≤l≤k, 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.
2.1 Two procedures to construct disjoint paths using a minimal
Φ
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 (k−1)-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≤i≤m. 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
Step 2. Determine dc so that |dc|≤|di| for all 1≤i≤m, where 1≤c≤m. 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≤i≤m.
Step 3. Partition D into D' and D'', where D'={dj | , ( ) =
c d j d Φ , ( )= 1 d j d Φ dj,k =0 and 1≤j≤m} and D''= {dj |dj,Φ(dc) = dj,Φ(d1)= dj,k =1 and 1≤j≤m}.
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≤r≤m. Define Ψ': {d2, d3, … , dr}→{n2, n3, … , nr} as follows: Ψ'(di)=Φ(di)=ni for all 2≤i≤r. 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+1≤i≤m. */
Construct P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r−1, k−1, {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(Ψ'', m−r+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≤r≤m. Define Ψ': {d2,
d3, … , dr}→{n2, n3, … , nr} as follows: Ψ'(di)=Φ(di)=ni for all 2≤i≤r, and Ψ'': {dr+1, dr+2, … , dm}
→{nr+1, nr+2, … , nm} as follows: Ψ''(di)=Φ(di)=ni for all r+1≤i≤m. */
Construct P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r−1, k−1, {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(Ψ'', m−r, k−1, {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}. */
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≤r≤m. Define Ψ': {d2,
d3, … , dr}→{n2, n3, … , nr} as follows: Ψ'(di)=Φ(di)=ni for all 2≤i≤r. Define Ψ'': {d1, dr+1,
dr+2, … , dm}→{α,nr+1, nr+2, … , nm} as follows: Ψ''(d1)=α and Ψ''(di)=Φ(di)=ni for all r+1≤i≤m.
*/
Construct P2, P3, … , Pr in ∗k−10 by executing Paths0(Ψ', r−1, k−1, {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(Ψ'', m−r+1, k−1, {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≤r≤m. Define Ψ'': {dr+1,
dr+2, … , dm}→{nr+1, nr+2, … , nm} as follows: Ψ''(di)=Φ(di)=ni for all r+1≤i≤m. */
Construct Pr+1, Pr+2, … , Pm in ∗k−11 by executing Paths0(Ψ'', m−r, k−1, {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+1≤i≤m, where r+1≤j≤m. */
If d1 ∉Pi for all r+1≤i≤m, 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≤i≤r. */
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).
/* Suppose u=nh for some r+1≤h≤m. */
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+1≤l≤m 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≤i≤r. */
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+1≤l≤m and dl( k)∈{d2, d3, … , dr}, then {
/* Suppose dl( k)=dh for some 2≤h≤r. Define Ψ: {d1, d2, … , dm}→{n1, n2, … , nm} as
follows: Ψ(dl)=Φ(dh), Ψ(dh)=Ω''(dl), Ψ(d1)=Φ(d1)=k, Ψ(di)=Φ(di) for all 2≤i≤r and i≠h, and
Ψ(dj)=Ω''(dj) for all r+1≤j≤m and j≠l. */
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).
Step 3. Return P1, P2, … , Pm.
2.2 Correctness of Paths0(
Φ, 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 di∈D', 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≤i≤m, 1≤j≤m, and i≠j. 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≤l≤k and l≠|di|. Hence
VΨ<VΦ. ¨
Lemma 4. Suppose dj,Φ(dj) =0, dj,Φ(di) =1, and di,Φ(dj) =1, where 1≤i≤m, 1≤j≤m, and i≠j. 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≤l≤k and l≠|dj|, which implies VΨ<VΦ. ¨
Lemma 5. Suppose , ( )=0
i
d i
d Φ , di,Φ(dj) =1, and |di|<|dj|, where 1≤i≤m, 1≤j≤m, and i≠j. Then Φ is not
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≤r≤m and r≠i. That is, dr,Φ(di) =1 and dr,j = di,j for all 1≤j≤k 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 k≥2, m≤k, and Pi is the path to di for all 1≤i≤m. 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 (k−1)-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 di ∈D' and Φ''(dj)=Φ(dj) for all dj∈D''. 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''|≤k−1. Actually we have |D''|≤k−2 for the following reason. If
|D''|=k−1, 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≤v≤k−1. Suppose v=Φ(dl), where l≠1. If |d1|=|dl|, then dl,Φ(dl)=0 as a consequence
=
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(Ψ', r−1, k−1, {d2, d3, … , dr}, {n2, n3, … , nr}) are r−1=|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≤i≤r, 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(Ψ'', m−r+1, k−1, {
) ( 1
k
d , dr+1,
dr+2, … , dm}, {u, nr+1, nr+2, … , nm}) are m−r+1=|D''|+1≤k−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+1≤l≤m, 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+1≤l≤m 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+1≤j≤m. 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+1≤l≤m, 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≤j≤r. Since
=
) ( , 1 ' d1
nr+1, nr+2, … , nm}−{Ψ(
) ( 1
k
d )} as follows: Θ''(dl)=k and Θ''(dj)=Ψ(dj) for all r+1≤j≤m and j≠l. 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+1≤i≤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. 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≤h≤r. We define a routing function Ω': {d2,
d3, … , dr}→{n2, n3, … , nr} as follows: Ω'(di)=nj if Pi begins at enj, where 2≤i≤r and 2≤j≤r. 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≤i≤r, 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≤l≤r, 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≤i≤r. Since di,Ω'(di)=di,Ψ'(di) and Φ'(di)=Ψ'(di) for all 2≤i≤r, we have
= ) ( , ' di i d Π , ( ) i d ' i
d Φ for all 1≤i≤r, 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
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(Ψ', r−1, k−1, {d2, d3, … , dr}, {n2, n3, … , nr}) are r−1=|D'| disjoint paths in ∗k−10 that connect {e , n2 e , … , n3 e } and {dnr 2, d3, … , dr}. For all 2≤i≤r,
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(Ψ'', m−r, k−1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}) are m−r=|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+1≤i≤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 (
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'|≤k−1. We have |D''|≤k−1 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(Ψ', r−1, k−1, {d2, d3, … , dr}, {n2, n3, … , nr}) are r−1=|D'| disjoint paths in ∗k−10 that
connect { 2 n e , 3 n e , … , r n
e } and {d2, d3, … , dr}. For all 2≤i≤r, 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(Ψ'', m−r+1, k−1, {d1, dr+1,
dr+2, … , dm}, {α, nr+1, nr+2, … , nm}) are m−r+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
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'|≤k−1. Actually we have |D'|≤k−2 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(Ψ'', m−r, k−1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}) are m−r=|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+1≤i≤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.
P1, P2, … , Pm were obtained according to three situations. The first situation is d1 ∉Pi for all r+1≤i≤m.
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'|+1≤k−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 u∈I''−{k}={nr+1, nr+2,… , nm}. Further, Ψ' is minimal
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≤i≤r. Since d1,v= 1(,)
k v
d for all 1≤v≤k−1 and u≠k, 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+1≤l≤m. 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+1≤i≤m
and i≠l. Since dl, ''(d)=dl,k =1 l
Π , we have VΠ''≤VΩ''.
We have VΩ''=VΨ'' if di,Ω''(di) =di,Ψ''(di) for all r+1≤i≤m. 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+1≤l≤m) 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≤i≤r, 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
length |d1|−1. After adding 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 ), the lengths of Pr+1, Pr+2, … , Pm increase by one (since u∈{nr+1, nr+2,… , nm}, there exists
r+1≤h≤m 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+1≤l≤m 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'|+1≤k−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
dr+1, dr+2, … , dm}→{k, nr+1, nr+2, … , nm} as follows: ℑ''(d1)=k and ℑ''(di)=Ω''(di) for all r+1≤i≤m. 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≤j≤r. 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+1≤j≤m and j≠l. 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≤i≤r, 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+1≤l≤m 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≤i≤m and d1,α=1 for some α ∈{1, 2, … , k−1}−Ψ(D''). The two conditions actually hold, as explained below.
) ( , di
i
d Φ for all 1≤i≤m, 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+1≤v≤m and v≠l. 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
dh∈D'. 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.
2.3 When {d
1, d
2, … , d
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+1≤j≤m}. In Case 2, Ψ'' is changed to Ψ'': {dr+1, dr+2, … , dm}−T →{nr+1,
nr+2, … , nm}−{Φ(dj)| dj∈T and r+1≤j≤m} so that Ψ''(di)=Φ(di)=ni for all r+1≤i≤m and di≠ek. Instead of
executing Paths0(Ψ'', m−r, k−1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}), we execute Paths0(Ψ'', m−r−|T|,
k−1, {dr+1, dr+2, … , dm}−T, {nr+1, nr+2, … , nm}−{Φ(dj)| dj∈T and r+1≤j≤m}), in order to construct m−r−|T|
disjoint paths in ∗k−11 that connect { ( )
1 k nr e + , ) ( 2 k nr e + , … , ) ( k nm e }−{ (k()d ) j eΦ | dj∈T and r+1≤j≤m} 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
dj∈T. In Case 4, the conditions for the second and third situations are changed to "If d1 ∈Pl for some
r+1≤l≤m, d1 ∉{dr+1, dr+2, … , dm}, and dl( k)∉{d2, d3, … , dr}" and "If d1 ∈Pl for some r+1≤l≤m, 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+1≤l≤m 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+1≤i≤m).
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+1≤l≤m 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 k≥2 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.
2.4 Finding a minimal
Φ
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(|U∪V|(|E|+|U∪V|log|U∪V|)) 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≤i≤k and 1≤j≤k.}, and assign link (di, j) a weight
1 | | ) 1 (k+ k−di+ 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≤ar≤k for all 1≤r≤k+1.
That is, there are ar links in M whose weights are
1 ) 1