• 沒有找到結果。

One-to-Many Disjoint Paths in Hypercubes

N/A
N/A
Protected

Academic year: 2021

Share "One-to-Many Disjoint Paths in Hypercubes"

Copied!
7
0
0

加載中.... (立即查看全文)

全文

(1)One-to-Many Disjoint Paths in Hypercubes Cheng-Nan Lai,. Gen-Huey Chen. Department of Computer Science and Information Engineering, National Taiwan University, Taipei, 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, m disjoint paths whose maximal length is minimized in the worst case can be obtained in a k-dimensional hypercube, where m≤k. Besides, there exist routing functions that can be used to construct m disjoint paths whose total length is minimized. The end nodes of these paths are not necessarily distinct. A minimal routing function can also be used to construct a maximal number of disjoint paths in the folded hypercube whose maximal length is minimized in the worst case.. 1. Introduction 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. There are three categories of disjoint paths, i.e., one-to-one, one-to-many, and many-to-many. Suppose that W is an interconnection network (network for short) with node connectivity k [2]. According to Menger's theorem [2], there exist k disjoint paths from one source node to another destination node in W. These disjoint paths belong to the one-to-one category. Many one-to-one disjoint paths constructed for a variety of networks can be found in the literature [3, 4, 6-10, 12, 22, 24]. There is an excellent survey of one-to-one disjoint paths in [19] where several related problems were also addressed. According to Theorem 2.6 in [1], there exist k disjoint paths from one source node to another k distinct destination nodes in W. These disjoint paths belong to the one-to-many category. A k-dimensional hypercube (abbreviated to a kcube) consists of 2k nodes that are labeled with 2k binary numbers from 0 to 2 k−1. Two nodes of a k-cube are adjacent if and only if their labels differ by exactly one bit. The node connectivity of a k-cube is k. In [23], k disjoint paths were constructed from one source node to another k destination nodes in a k-cube, where the k destination nodes were distinct. The maximal length is minimized in the worst case. In [15], m disjoint paths were constructed from one source node to another m destination nodes in a k-cube, where m≤k. Dyi-Rong Duh Department of Computer Science and Information Engineering, National Chi Nan University, Nantou, TAIWAN. and the m destination nodes were not necessarily distinct. The total length is minimized. One-to-many disjoint paths constructed for other networks appeared in [5, 9, 11, 20]. There were many-to-many disjoint paths constructed for the hypercube [17] and the star graph [9, 18]. In this paper, a new concept called routing functions is proposed, which is useful to derive one-to-many disjoint paths. In the next section, routing functions and their fundamental properties are introduced. In Section 3, by the aid of a minimal routing function, m disjoint paths from one source node to another m distinct destination nodes are constructed in a k-cube, where m≤k. It is shown in Section 4 that the maximal length of the m disjoint paths is minimized in the worst case. For any given m destination nodes, the maximal length of the resulting m disjoint paths is equal to dis max or min{dis max+2, k+1}, where dis max is the maximal distance from the source node to the destination nodes. In Section 5, the situation that the m destination nodes are not necessarily distinct is discussed. In Section 6, this paper concludes with some remarks on routing functions. It is indicated that a minimal routing function can be also used to derive a maximal number of disjoint paths in the folded hypercube whose maximal length is minimized in the worst case, and there are routing functions that can be used to construct m disjoint paths in a k-cube whose total length is minimized.. 2. Routing functions Suppose that s, d1, d2, … , dm are arbitrary m+1 distinct nodes of a k-cube, where m≤k. Since the hypercube is node k8 67 symmetric, we assume s= 00... 0 =0k without loss of generality. A routing function for a k-cube is a one-to-one correspondence Φ from D={d1, d2, … , dm} to I={n1, n2, … , nm}, where 1≤nj≤k for all 1≤j≤m and n1, n2, … , nm denote m distinct dimensions of a k-cube. Suppose di=d i,1di,2… di,k, and let |di| denote the number of bits 1 contained in di (i.e., the distance from s to di), where 1 ≤i≤m. We define VΦ=(v1, v2, … , vk), where vj=|{di | |di|=j, d i ,Φ ( d i ) = 0, and 1≤i≤m}| for all 1≤j≤k. For example, if m=k=5, (d1, d2, d3, d4, d5)= (00011, 00101, 00111, 00110, 11100), and (Φ(d1), Φ(d2), Φ(d3), Φ(d4), Φ(d5))=(5, 2, 3, 4, 1), then VΦ=(0, 1, 0, 0, 0). We say.

(2) (v1, v2, … , vk)<(v'1, v'2, … , v'k) if either v1<v'1 or v1=v'1, v2=v'2, … , vl−1=v'l−1, and vl<v'l for some 2≤l≤k. Φ is said to be minimal if VΦ≤VΦ' for every routing function Φ': D → I. A minimal Φ can be determined in O(k3) time (see Section 6). A minimal Φ is intended to derive m disjoint paths from s to d1, d2, … , dm, and there is a favorable property about a minimal Φ: if d i1 ,Φ (d i ) = d i2 ,Φ ( d i ) = ⋅ ⋅ ⋅ = 1. d ic ,Φ (d i. ) c. 2. = 1 , then there exist c disjoint shortest paths from s. to d i1 , d i2 , … , d ic , respectively, where {d i1 , d i2 , … , d ic } ⊆ D (see Section 4). Let eβ= 0β−110 k−β, β=1, 2, … , k,. denote the k adjacent nodes of s. An intuitive meaning of Φ(di)=nj is to assign the immediate successor of s in the path to di to be the node en j . In the rest of this section, 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 and {I', I''} is a partition of I. If Φ'(di)=Φ(di) for all di ∈D' and Φ''(dj)=Φ(dj) for all dj ∈D'', then Φ is said to be the union of Φ' and Φ'', denoted by Φ=Φ'∪Φ''. If Φ=Φ'∪Φ'', then VΦ=VΦ'+VΦ'', i.e., VΦ=(v'1+v''1, v'2+v''2, … , v'k+v''k) where 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 d i ,Φ '( di ) = 1 for every di ∈D', then VΦ=VΦ''. Lemma 2. Suppose that Φ=Φ'∪Φ'' is minimal. Then Φ' and Φ'' are minimal. Lemma 3. Suppose. d i ,Φ ( di ) = 0 , d j ,Φ ( d j ) = 0 , and. d i ,Φ ( d j ) = 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'|d i | = v|d i | −1, v'|d j | ≤ v|d j | , and v'l=vl for all l ∈{1, 2, … , k}−{|di|, |dj|}. If |di|=|dj|, then v'|d i | ≤ v|d i | −1 and v'l=vl for all ¨. 1≤l≤k and l≠|di|. Hence VΨ<VΦ. Lemma 4.. Suppose. d j ,Φ ( d j ) = 0 ,. d j ,Φ ( d i ) = 1 ,. Proof. We define Ψ, VΨ, and VΦ all the same as the above. Then v' |d i | = v |di | − 1 and v'l=vl for all 1≤l<|di|. Hence we ¨. have VΨ<VΦ. Lemma 6. If Φ is minimal and d i ,1 d i ,2 ... d i,Φ ( di ) −11d i,Φ ( di ) +1 ...d i , k ∉{d 1,. d i ,Φ ( di ) = 0 , then. d2,. … ,. ( d i ,1 d i ,2 ... d i ,Φ (d i )−1 1d i ,Φ (d i )+1 ...d i ,k is the node obtained by changing the bit d i ,Φ (d i ) of di to 1). Proof. Suppose conversely =d for some 1≤r≤m and d i ,1 d i ,2 ... d i,Φ ( di ) −11d i,Φ ( di ) +1 ...d i , k r r≠i. That is, d r ,Φ ( d i ) = 1 and d r, j = d i , j for all 1≤j≤k and j≠Φ(di). Then Φ(dr) ∈{n1, n2, … , nm}. If d r ,Φ ( d r ) = 0 , then Φ is not minimal by Lemma 3, which is a contradiction. If d r ,Φ ( d r ) = d i ,Φ ( d r ) = 1 , then Φ is not minimal by Lemma 4, which is again a contradiction.. In this section, a recursive procedure, named Paths, is proposed. With inputs minimal Φ, m, k, D={d1, d2, … , dm}, and I={n1, n2, … , nm}, the procedure can produce m disjoint shortest paths, denoted by P1, P2, … , P m, in a k-cube that connect { e n1 , e n2 , … , e nm } and {d1, d2, … , dm}, where Pi (1≤i≤m) is the path to di. By augmenting P1 , P2, … , P m with links (s, e n1 ), (s, e n2 ), … , (s, e nm ), we have m disjoint paths from s to d1, d2, … , dm, respectively. In the procedure, ∗k−11 and ∗k−10 represent two disjoint (k−1)-cubes whose nodes have rightmost bits 1 and 0, k −18 67 k −1 respectively, where ∗ ∈{0, 1} and ∗ = ∗ ∗ ⋅ ⋅ ⋅ ∗ (usually, a k-cube is represented with ∗k). For each node x=x1x2...xk of a k-cube, define x(k)=x1x2...xk−1(1−xk), i.e., x differs from x(k) only in the bit xk. The following is a formal description of the procedure. Procedure Paths(Φ, m, k, D, I). Step 1.. and. If k=2, then { Construct P1, P2, … , Pm as the m disjoint paths in a 2-cube that connect { en1 , e n2 , … , e nm } and {d 1, d 2, … , d m}.. minimal. Proof. We define Ψ, VΨ, and VΦ all the same as the above. If d i ,Φ (d i ) = 0 , then Φ is not minimal by Lemma 3. If. Return P1, P2, … , Pm. } Step 2.. d i ,Φ ( di ) = 1 , then v'|d j | = v|d j | − 1 and v'l=vl for all 1≤l≤k and. 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 d c,Φ (d c ) = 1 , or select any if they all have d c,Φ ( dc ) = 0 . Without. ¨. loss of generality, we assume c=1, nc=n1=k, and Φ(di)=ni for all 1 ≤i≤m.. Lemma 5. Suppose d i ,Φ ( di ) = 0 , d i ,Φ (d j ) = 1 , and |di|<|dj|, where 1≤i≤m, 1≤j≤m, and i≠j. Then Φ is not minimal.. ¨. 3. A procedure to produce disjoint paths. d i ,Φ (d j ) = 1 , where 1≤i≤m, 1≤j≤m, and i≠j. Then Φ is not. l≠|dj|, which implies VΨ<VΦ.. dm}. Step 3.. Partition D into D' and D'', where D'={dj |.

(3) d j ,Φ ( dc ) = d j ,Φ ( d1 ) = d j ,k = 0. D''={dj. |. and 1≤j≤m} and. d j ,Φ ( dc ) = d j ,Φ ( d 1 ) = d j ,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, and Ψ'': { d 1(k ) , dr+1, dr+2, … , dm} → {u, nr+1, nr+2, … , nm} as follows: Ψ''( d 1(k ) )=u and Ψ''(di)=Φ(di)=ni for all r+1≤i≤m, where 1≤u<k and d1,u=1. */ Construct P2, P3, … , Pr in ∗k −1 0 by executing Paths(Ψ', r−1, k−1, {d2, d3, … , dr}, {n2, n3, … , nr}). /* P2, P3, … , Pr connect {e n2 , en 3 , … , en r } and {d 2, d 3, … , d r}. */. Construct P'1, Pr+1, Pr+2, … , Pm in ∗k − 1 1 by executing Paths(Ψ'', m−r+1, k−1, { d 1(k ) , dr+1, dr+2, … , dm}, {u, nr+1, nr+2, … , nm}), where P'1 is the path to d 1(k ) . /* P'1, Pr+1, Pr+2, … , Pm ) (k ) connect { eu( k ) , en( kr +)1 , e (nkr +)2 , … , e (k nm } and { d 1 ,. dr+1, dr+2, … , dm}. */ Construct P1 as P'1 augmented with the link ( d 1(k ) , d1). Augment P1, Pr+1, Pr+2, … , Pm with links (ek, eu( k ) ), ) ( enr +1 , e (nkr +)1 ), ( e nr +2 , e (nkr +)2 ), … , ( e nm , e (k nm ).. 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 −1 0 by executing Paths(Ψ', r−1, k−1, {d2, d3, … , dr}, {n2, n3, … , nr}). /* P2, P3, … , Pr connect {e n2 , en 3 , … , en r } and {d 2, d 3, … , d r}. */. Construct Pr+1, Pr+2, … , Pm in ∗k − 1 1 by executing Paths(Ψ'', m−r, k−1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}). /* Pr+1, Pr+2, … , Pm connect { en( kr +)1 , ) e (nkr +)2 , … , e (k nm } and {d r+1, d r+2, … , d m}. */. Construct P1 as (ek, d1). /* P1 has length 0. */ Augment Pr+1, Pr+2, … , Pm with links ( enr +1 ,. ) en( kr +)1 ), ( e nr + 2 , e (nkr +)2 ), … , ( e nm , e (k nm ).. 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, and Ψ'': {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 −1 0 by executing Paths(Ψ', r−1, k−1, {d2, d3, … , dr}, {n2, n3, … , nr}). /* P2, P3, … , Pr connect {e n2 , en 3 , … , en r } and {d 2, d 3, … , d r}. */ k −1. 1 by Construct P1, Pr+1, Pr+2, … , Pm in ∗ executing Paths(Ψ'', 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 ) , en( kr +)1 , e (nkr +)2 , … , e (k nm } and {d 1, dr+1, dr+2, … , dm}. */ Augment P1, Pr+1, Pr+2, … , Pm with links (ek, eα( k ) ), ) ( enr +1 , en( kr +)1 ), ( e nr + 2 , e (nkr +)2 ), … , ( e nm , e (k nm ).. 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 − 1 1 by executing Paths(Ψ'', m−r, k−1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}). /* Pr+1, Pr+2, … , Pm connect { en( kr +)1 , ) e (nkr +)2 , … , e (k nm } and {d r+1, d r+2, … , d m}. */. /* Define Ω'': {dr+1, dr+2, … , dm} → {nr+1, nr+2, … , nm} as follows: Ω''(di)=nj if Pi begins at en j for (k ). all r+1≤i≤m, where r+1≤j≤m. */ If d1 ∉Pi for all r+1≤i≤m, then { /* Define Ψ': { d1( k ) , d2, d3, … , dr} → {u, n2, n3, … , nr} as follows: Ψ'( d 1(k ) )=u and Ψ'(di)=Φ(di)=ni for all 2≤i≤r, where 1≤u<k and d1,u=1. */ Construct P'1, P2, P3, … , Pr in ∗k −1 0 by executing Paths(Ψ', r, k−1, { d 1(k ) , d2, d3, … , dr}, {u, n2, n3, … , nr}), where P'1 is the path to d 1(k ) . /* P'1, P2, P3 , … , Pr connect {eu, e n2 , en 3 , … , en r } and { d 1(k ) , d2, d3, … , dr}. */ Construct P1 as P'1 augmented with the link.

(4) ( d 1(k ) , d1). /* Suppose u=nh for some r+1≤h≤m. */ Augment Pr+1, Pr+2, … , Pm with links ( enr +1 , en( kr +)1 ), ( e nr + 2 , e (nkr +)2 ), … , ( e nh −1 , e (nkh −)1 ), (ek, ) eu( k ) ), ( enh +1 , en( kh +)1 ), … , ( e nm , e (k nm ). }. If d1 ∈Pl for some r+1≤l≤m and d l(k ) ∉{d2, d3, … , dr}, then { /* Define Θ': { d l(k ) , d2, d3, … , dr} → {Ω''(dl), n2, n3, … , nr} as follows: Θ'( d l(k ) )=Ω''(dl) and Θ'(di)=Φ(di)=ni for all 2≤i≤r. */ Construct P'l, P2, P3, … , Pr in ∗k −1 0 by executing Paths(Θ', r, k−1, { d l(k ) , d2, d3, … , dr}, {Ω''(dl), n2, n3, … , nr}), where P'l is the path to d l(k ) . /* P'l, P2, P3, … , Pr connect {e Ω ''( dl ) , e n2 , en 3 , … , en r } d l(k ). and { , d2, d3, … , dr}. */ Construct P1 as the subpath of Pl from e (Ωk'')( dl ) to d 1. Reconstruct Pl as P'l augmented with the link ( d l(k ) , dl). Augment P1, Pr+1, Pr+2, … , Pl−1, Pl+1, … , Pm with links ( enr +1 , en( kr +)1 ), ( e nr + 2 , e (nkr +)2 ), … , ( e Ω' ' ( dl )−1 ,. (k ) eΩ ' ' ( dl )−1 ),. (ek,. e (Ωk'')( dl ). ),. (k ) (k ) ( e Ω' ' ( dl )+1 , e Ω ' ' ( dl )+1 ), … , ( e nm , e nm ). }. If d1 ∈Pl for some r+1≤l≤m and d l(k ) ∈{d2, d3, … , dr}, then /* Suppose d l(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.. Intuitively, the m disjoint paths from s to d1, d2, … , dm can be obtained by first including m links (s, eΦ ( d1 ) ), (s, eΦ ( d2 ) ), … , (s, eΦ ( d m ) ) and then constructing m disjoint. paths, i.e., P1, P2, … , P m, that connect {eΦ ( d1 ) , eΦ ( d2 ) , … , eΦ ( d m ) } and {d 1, d 2, … , d m}. The latter can be done by. executing Paths(Φ, m, k, D, I). In Step 2, the k-cube was. divided into two (k−1)-cubes ∗k −1 0 and ∗ k −1 1 , according to the dimension Φ(dc)=k. In Step 3, {d1, d2, … , dm} was partitioned into D' and D'' which contain nodes belonging to ∗k −1 0 and ∗ k −1 1 , respectively. In Step 4, P1, P2, … , P m were constructed according to four cases in which paths in ∗k −1 0 and ∗ k −1 1 need to be constructed in a recursive manner. In Case 1, |D'|−1 disjoint paths in ∗k −1 0 that connect { eΦ ( d2 ) , eΦ ( d3 ) , … , eΦ ( dr ) } and D'−{d1} and |D''|+1 disjoint paths in ∗ k −1 1 that connect {eu( k ) , eΦ( k()dr +1 ) , eΦ( k()dr +2 ) , … , eΦ(k()d m ) } and D''∪{ d 1(k ) } were constructed. It. should be noted that ek in ∗ k −1 1 corresponds to s=0k in ∗k −1 0 (refer to Figure 1). In Case 2, |D'| disjoint paths in ∗k −1 0 that connect { eΦ ( d2 ) , eΦ ( d3 ) , … , eΦ ( dr ) } and D' and |D''|−1 disjoint paths in ∗ k −1 1 that connect { eΦ( k()dr +1 ) , eΦ( k()dr +2 ) , … , eΦ(k()d m ) } and D''−{d 1} were constructed. Since. d1=ek, P1 has length 0. In Case 3, |D'| disjoint paths in ∗k −1 0 that connect {eΦ ( d2 ) , eΦ ( d3 ) , … , eΦ ( dr ) } and D' and |D''| disjoint paths in ∗ k −1 1 that connect { eα( k ) , eΦ( k()dr +1 ) , eΦ( k()dr +2 ) , … , eΦ(k()d m ) } and D'' were constructed.. In Case 4, |D''|−1 disjoint paths in ∗ k −1 1 that connect { eΦ( k()dr +1 ) , eΦ( k()dr +2 ) , … , eΦ(k()d m ) } and D''−{d1} were first constructed. The subsequent construction depends on whether d1 is contained in these |D''|−1 paths or not. If d1 is not contained in these |D''|−1 paths, then |D'|+1 disjoint paths in ∗k −1 0 that connect {eu, eΦ ( d2 ) , eΦ ( d3 ) , … , eΦ ( dr ) } and D'∪{ d 1(k ) } were constructed. If d1 is contained in one of these |D''|−1 paths which connects e (Ωk'')( dl ) and dl and d l(k ) ∉D', then |D '|+1 disjoint paths in ∗k −1 0 that connect. { e Ω ''( dl ) , eΦ ( d2 ) , eΦ ( d3 ) , … , eΦ ( dr ) } and D'∪{ d l(k ) } were constructed. If d1 is contained in one of these |D''|−1 paths that connects e (Ωk'')( dl ) and dl and d l(k ) ∈D', then after substituting Ψ for Φ, the situation is the same as Case 3 and P1, P2, … , Pm can be obtained likewise. The maximal length of the m disjoint paths from s to d1, d2, … , dm is computed as follows. Theorem 1. Suppose that s, d1, d2, … , dm are arbitrary m+1 distinct nodes of a k-dimensional hypercube, where m≤k and k≥2. There are m disjoint paths from s to d1, d2, … , dm, respectively, whose maximal length is not greater than k+1 if m=k, and not greater than k if m<k. The maximal length is minimized in the worst case. The proof of Theorem 1 is presented in the next section..

(5) ∗k −1 1. ∗k −1 0 eΦ( k()d r +1 ). eΦ ( d r +1 ). eΦ( k()d r +2 ). eΦ ( d r+2 ) eΦ ( d m ). eΦ( k()d m ). eu. eu(k ). ek. s. Figure 1. ek in ∗k −1 1 corresponds to s = 0k in ∗k −1 0.. 4. Proof of Theorem 1 We need to show two properties of P1, P2, … , Pm: (P1) P1, P2, … , Pm are disjoint, and (P2) for all 1≤i≤m, if d i ,Φ ( di ) = 1 , then Pi has length |di|−1, and if d i ,Φ (d i ) = 0 , then Pi has length |di|+1 and |ti|=|di|+1, where ti is the immediate predecessor of di in Pi. According to (P2), Pi has length k−1 if |di|=k, and at most k if |di|<k. Hence, Pi has length at most k. However, when m<k, Pi has length at most k−1, as explained below. If 1k ∈ {d1, d2, … , dm}, then Pi has length at most k−1, for otherwise (Pi has length k) we have |ti|=|di|+1=(k−1)+1= k (i.e., ti=1k) according to (P2). This contradicts to (P1). On the other hand, if 1k ∉{d1, d2, … , dm}, then after adding a new node dm+1=1k to D and a new dimension u ∈{1, 2, … , k}−I to I, Paths(Φ, m+1, k, D, I) can produce P1, P2, … , Pm+1. Since 1k ∈{d1, d2, … , dm+1}, P1, P2, … , Pm+1 have lengths at most k−1. Consequently, the m disjoint paths from s to d1, d2, … , dm have maximal length k+1 if m=k, and k if m<k. Since the diameter of a k-cube is k, the maximal length of the m disjoint paths is at least k in the worst case. It was shown in [11] that the maximal length is at least k+1 in the worst case when m=k. Hence the maximal length in Theorem 1 is minimized in the worst case. (P1) and (P2) can be verified by induction on k. The detailed proof my be found in [21].. 5. When {d1, d2, … , dm} is a multiset A multiset is a collection of elements in which multiple occurrences of the same element are allowed [16]. Paths(Φ,. m, k, D, I) can deal with a multiset D, if 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 Paths(Ψ'', m−r, k−1, {dr+1, dr+2, … , dm}, {nr+1, nr+2, … , nm}), we execute Paths(Ψ'', 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 { en( kr +)1 , e (nkr +)2 , … , ) (k ) e (k nm }−{ eΦ ( d ) | d j ∈T and r+1≤j≤m} and {d r+1, d r+2, … , j. dm}−T. Additionally, we construct another |T| disjoint paths of length one that connect eΦ( k()d ) and dj for all dj ∈T. j. In Case 4, the conditions for the second and third situations are changed to "d1 ∈Pl for some r+1≤l≤m, d1 ∉{dr+1, dr+2, … , dm}, and d l(k ) ∉{d2, d3, … , dr}" and "d1 ∈Pl for some r+1≤l≤m, d1 ∉{dr+1, dr+2, … , dm}, and d l(k ) ∈{d2, d3, … , dr}", respectively. One more situation whose condition is "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 −1 0 all the same as the first situation (i.e., d1 ∉Pi for all r+1≤i≤m). Both (P1) and (P2) remains correct after the modifications above, as shown in [21]. When {d1, d2, … , dm} is a multiset, Theorem 1 can be rewritten as follows. Theorem 2. Suppose that s, d1, d2, … , dm are arbitrary m+1 nodes of a k-dimensional hypercube so that s ∉{d1, d2, … , dm} and {d1, d2, … , dm} is a multiset, where m≤k and k≥2. There are m disjoint paths from s to d1, d2, … , dm, respectively,.

(6) whose maximal length is not greater than k+1 if m=k, and not greater than k if m<k. The maximal length is minimized in the worst case.. 6. Discussion and conclusion The main contribution of this paper is to show the effectiveness of routing functions in deriving one-to-many disjoint paths in networks. By using a minimal routing function, m disjoint paths whose maximal length is minimized in the worst case can be obtained in a k-cube, where m≤k. The problem of finding a minimal routing function 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 of them 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 [14]). Suppose Φ: {d1, d2, … , dm} → {n1, n2, … , nm} is a routing function, where {d1, d2, … , dm} is a multiset. Let U={d1, d2, … , dm}, V={n1, n2, … , nm}, and E={(di, nj) | 1≤i≤m and 1≤j≤m}. We assign each link (di, nj) a weight ( k + 1) k −|di |+1 if d i ,n j = 1 , and 1 if d i ,n j = 0 . A maximum matching M in G contains m 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≤m for all 1≤r≤k+1. That is, there are ar links in M whose weights are ( k + 1) k − r +1 (or equivalently, M contains av links (di, nj) of weight ( k + 1) k − v +1 with d| i|=v and d i ,n j = 1 for all 1≤v≤k, and ak+1 links (di, nj) of weight 1 with d i ,n j = 0 ). For all 1≤v≤k, let rv denote the number of di's with |di|=v and di ∈U. A minimal Φ with VΦ= (r1−a1, r2−a2, … , rk−ak) can be obtained from M as follows: Φ(di)=nj if (di, nj) ∈M. If Φ is not minimal, then there exists VΦ'<VΦ for some routing function Φ': {d1, d2, … , dm} → {n1, n2, … , nm}, which implies another matching in G whose total weight is greater than the total weight of M. This is a contradiction. Besides minimal routing functions, there are some other routing functions that can be used to produce disjoint paths with different properties. For example, m disjoint paths whose total length is minimized can be also produced in a kcube, if an implicit routing function in [15] is used. In [15], m non-empty subsets X1, X2, … , Xm of {1, 2, … , k} were used to represent m nodes d1, d2, … , dm, respectively, so that for all 1≤u≤m and 1≤w≤k, w ∈Xu if and only if du,w=1. A set of c distinct integers t1 ∈ X h1 , t2 ∈ X h2 , … , tc ∈ X hc is called a partial System of Distinct Representatives (SDR for short) for {X1, X2, … , Xm} if h1, h2, … , hc are all distinct, where c≤m and 1≤hi≤m for all 1≤i≤c. Further, the partial SDR {t1, t2, … , tc} is maximum if c is maximized. When c=m, {t1, t2, … , tc} is called an SDR. A maximum partial SDR {t1, t2, … , tc} can. be used to construct m disjoint paths in a k-cube whose total length is minimized, if there is no j ∈{1, 2, … , m}− {h1, h2, … , hc} satisfying the following two conditions: (C1) Xj ⊂ X hi for some 1≤i≤c, and (C2) there exists an SDR for { X h1 , X h2 , … , X hi −1 , X j , X hi +1 , … , X hc }. Such a maximum partial SDR can be determined in O(k2.5) time (see [15]). Actually, a maximum partial SDR {t1, t2, … , tc} can be regarded as a routing function Φ: D → I so that {t1, t2, … , tc} ⊆ I and Φ( d hi )=ti for all 1≤i≤c. Suppose LΦ={u | d u,Φ ( d u ) = 1 and 1≤u≤m}. It follows that Paths(Φ, m, k, D, I). can result in m disjoint paths from s to d1, d2, … , dm whose total length is minimized, provided |LΦ| is maximized and there is no j ∈{1, 2, … , m}−LΦ satisfying the following two conditions: (C1 ') dj≠dl and dj,w≤dl,w for some l ∈LΦ and all 1≤w≤k, and (C2') there exists a routing function Ψ with d j ,Ψ ( d j ) = d v Ψ , (d v ) = 1 for all v ∈LΦ −{l}. Here, a routing function Φ: D → I with maximum L | Φ| corresponds to a maximum partial SDR (LΦ corresponds to {h1, h2, … , hc} and {Φ(du) | u ∈LΦ} corresponds to {t1, t2, … , tc}). Besides, (C1 ') and (C2') correspond to (C1) and (C2), respectively. A routing function Φ with maximum |LΦ| so that there is no j ∈{1, 2, … , m}−LΦ satisfying (C1 ') and (C2') can be determined with the same time complexity as a maximum partial SDR so that there is no j ∈{1, 2, … , m}−{h1, h2, … , hc} satisfying (C1) and (C2). There exist other routing functions that can result in m disjoint paths from s to d1, d2, … , dm whose total length is minimized. For example, if (C1') is changed to "|dj|<|dl| for some l ∈LΦ", then the resulting Φ also serves the purpose. We have shown in Theorem 2 that the maximal length of the m disjoint paths from s to d1, d2, … , dm is minimum for the worst-case scenario. According to (P2), each path from s to di has length |di| (i.e. shortest) if d i ,Φ (d i ) = 1 , and |d i|+2 (i.e., second shortest) if d i ,Φ (di ) = 0 , where 1≤i≤m. It follows that for any given d1, d2, … , dm, the maximal length of the m disjoint paths from s to d1, d2, … , dm is equal to max{|di| | 1≤i≤m} or min{max{|di| | 1≤i≤m}+2, k+1}. It should be noted that P1, P2, … , Pm are all shortest. The node eΦ ( di ) (or eΨ (di ) for the situation of d1 ∈Pl for some r+1≤l≤m and d l(k ) ∈{d2, d3, … , dr} in Case 4 of Step 4) is the immediate successor of s in the path to di. When d i ,Φ (d i ) = 1 , eΦ ( di ) (or eΨ (di ) ) is contained in a shortest path from s to di. When d i ,Φ (di ) = 0 , eΦ ( di ) is not contained in any shortest path from s to di. A k-dimensional folded hypercube [13] is basically a kcube augmented with 2k−1 complement links. It was shown in [21] that using a minimal routing function, k+1 disjoint paths whose maximal length is minimized in the worst case can be constructed in a k-dimensional folded hypercube, where k+1 is the node connectivity. It is worth while exploring more.

(7) relations between the characteristics of routing functions and the properties of disjoint paths.. [16]. References. [17]. [1] [2] [3]. [4] [5]. [6]. [7]. [8]. [9]. [10]. [11] [12]. [13]. [14]. [15]. B. Bollobás, Extremal Graph Theory. Academic Press, New York, 1978. J. A. Bondy and U. S. R. Murthy, Graph Theory with Applications. North-Holland, New York, 1976. F. Cao, D. Z. Du, D. F. Hsu, and S. H. Teng, "Fault tolerance properties of pyramid networks," IEEE Transactions on Computers, vol. 48, no. 1, pp. 88-93, 1999. C. P. Chang, J. N. Wang, and L. H. Hsu, "Topological properties of twisted cube," Information Sciences, vol. 113, pp. 147-167, 1999. C. C. Chen and J. Chen, "Nearly optimal one-to-many parallel routing in star networks," IEEE Transactions on Parallel and Distributed Systems, vol. 8, no. 12, pp. 1196-1202, 1997. K. Day and A. E. Al-Ayyoub, "Fault diameter of kary n-cube networks," IEEE Transactions on Parallel and Distributed Systems, vol. 8, no. 9, pp. 903-907, 1997. K. Day and A. Tripathi, "Characterization of node disjoint paths in arrangement graphs," Technical Report TR 91-43, Computer Science Department, University of Minnesota, 1991. K. Day and A. Tripathi, "A comparative study of topological properties of hypercubes and star graphs," IEEE Transactions on Parallel and Distributed Systems, vol. 5, no. 1, pp. 31-38, 1994. M. Dietzfelbinger, S. Madhavapeddy, and I. H. Sudborough, "Three disjoint path paradigms in star networks," Proceedings of the third IEEE Symposium on Parallel and Distributed Processing, 1991, pp. 400-406. D. R. Duh and G. H. Chen, "Topological properties of WK-recursive networks," Journal of Parallel and Distributed Computing, vol. 23, pp. 468-474, 1994. D. R. Duh and G. H. Chen, "On the Rabin number problem," Networks, vol. 30, no. 3, pp. 219-230, 1997. D. R. Duh, G. H. Chen, and D. F. Hsu, "Combinatorial properties of generalized hypercube graphs," Information Processing Letters, vol. 57, pp. 41-45, 1996. A. El-Amawy and S. Latifi, "Properties and performance of folded hypercubes," IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 1, pp. 31-42, 1991. Z. Galil, "Efficient algorithms for finding maximum matching in graphs," ACM Computing Surveys, vol. 18, no. 1, pp. 23-38, 1986. S. Gao, B. Novick, and K. Qiu, "From Hall's matching theorem to optimal routing on hypercubes," Journal of Combinatorial Theory, Series B. vol. 74, pp. 291-301, 1998.. [18] [19]. [20]. [21]. [22]. [23]. [24]. R. L. Graham, D. E. Knuth, and O. Patashnik, Concrete Mathematics, Addison-Wesley Publishing Company, Inc., 1994. Q. P. Gu and S. Peng, "k-pairwise cluster fault tolerant routing in hypercubes," IEEE Transactions on Computers, vol. 46, no. 9, pp. 1042-1049, 1997. Q. P. Gu and S. Peng, "Cluster fault-tolerant routing in star graphs," Networks, vol. 35, no. 1, pp. 83-90, 2000. D. F. Hsu, "On container width and length in graphs, groups, and networks," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Science, vol. E77-A, no. 4, pp. 668-680, 1994. D. F. Hsu and Y. D. Lyuu, "A graph-theoretical study of transmission delay and fault tolerance," International Journal of Mini and Microcomputers, vol. 16, no. 1, pp. 35-42, 1994. C. N. Lai, G. H. Chen, and D. R. Duh, "Routing functions – an effective approach to deriving one-tomany disjoint paths," Technical Report NTUCSIE 0002, Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan, 2000 (also available at http:// www.csie.ntu.edu.tw/~ghchen). S. C. Liaw, G. J. Chang, F. Cao, and D. F. Hsu, "Fault-tolerant routing in circulant networks and cycle prefix networks," Annals of Combinatorics, vol. 2, pp. 165-172, 1998. M. O. Rabin, "Efficient dispersal of information for security, load balancing, and fault tolerance," Journal of the ACM, vol. 36, no. 2, pp. 335-348, 1989. Y. Saad and M. H. Schultz, "Topological properties of hypercubes," IEEE Transactions on Computers, vol. 37, no. 7, pp. 867-872, 1988..

(8)

參考文獻

相關文件

It’s easy to check that m is a maximal ideal, called the valuation ideal. We can show that R is a

The aim of the competition is to offer students a platform to express creatively through writing poetry in English. It also provides schools with a channel to

Now, nearly all of the current flows through wire S since it has a much lower resistance than the light bulb. The light bulb does not glow because the current flowing through it

(It is also acceptable to have either just an image region or just a text region.) The layout and ordering of the slides is specified in a language called SMIL.. SMIL is covered in

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..

• If a graph contains a triangle, any independent set can contain at most one node of the triangle.. • We consider graphs whose nodes can be partitioned in m

The remaining positions contain //the rest of the original array elements //the rest of the original array elements.

For all pairs of nodes, the diameter measures the maximal length of shortest paths, while the wide di- ameter measures the maximal length of best containers.. In practical