10.07.2015 Views

Disjoint Paths in Metacube - CiteSeerX

Disjoint Paths in Metacube - CiteSeerX

Disjoint Paths in Metacube - CiteSeerX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

are 0,1,...,k − 1,k,k + 1,...,k + m − 1, where the first kdimensions are <strong>in</strong> the class field c u and the next m dimensionsare <strong>in</strong> the field M[c u ], counted from right to left. Thekey-bit is a bit <strong>in</strong> M[c u ] def<strong>in</strong>ed <strong>in</strong> a way that the path holdsa unique bit-pattern of M[c u ] after negat<strong>in</strong>g that bit.We use c (i)sand c (i)t to denote c s (i) and c t (i), respectively.The key-bit can be determ<strong>in</strong>ed as below. For theith disjo<strong>in</strong>t path (0 ≤ i ≤ k − 1), if we can f<strong>in</strong>d a bit sothat M s [c (i)s ] and M t [c (i) ] <strong>in</strong> that bit have the same value,tthen let that bit be the key-bit (type 1); otherwise, take anybit as the key-bit (type 2). The idea beh<strong>in</strong>d this is to enforcea signature (negat<strong>in</strong>g the key-bit value) before apply<strong>in</strong>gthe po<strong>in</strong>t-to-po<strong>in</strong>t rout<strong>in</strong>g algorithm. For the ith disjo<strong>in</strong>tpath (k ≤ i ≤ m + k − 1), the ith bit can serve as a key-bits<strong>in</strong>ce it is unique to the path P i through s (i) except the case[c s ] = M t [c t ] then the bit jcannot be used as a key-bit s<strong>in</strong>ce M t [c t ] is no longer uniqueto the path through s ( j) . Therefore, <strong>in</strong> our algorithm, we letP j goes through s ( j, j′) for some j ′ ,k ≤ j ′ ≤ m + k − 1, andthen connected to t ( j′) . The Path P j ′ will go through s ( j′ )and then connected to t ( j) . After complet<strong>in</strong>g the hamiltoniancycle, the m paths will be back to the cluster C t . Letthe node for P i after complet<strong>in</strong>g the hamiltonian cycle bew i (w i differs with t <strong>in</strong> field M[c t ] only). Then, the subpathsw i → t should be disjo<strong>in</strong>t paths <strong>in</strong> C t . This can be donethrough algorithm 3 with n = m.In the last case that s and t are <strong>in</strong> the clusters of differentclasses, for construct<strong>in</strong>g the k disjo<strong>in</strong>t path, we connects (i) to t (i) , 0 ≤ i ≤ k −1. This is done through two two subpaths,s (i) → w i and w i → t, where w i differs with t <strong>in</strong> classfield only. Construct<strong>in</strong>g s (i) → w i is similar to that of thesecond case s<strong>in</strong>ce the classID of nodes s (i) and w i are thesame. The path w i → t conta<strong>in</strong>s cross-edges only. S<strong>in</strong>ceno any signature can apply beyond w i , we need to f<strong>in</strong>d kdisjo<strong>in</strong>t paths from w i to t. This can be done by algorithmH(M s [c s ],M t [c t ]) = 1. If M ( j)s3 with n = k. Notice that if c (i)s = c t then the path s (i) → trequires special handl<strong>in</strong>g as shown <strong>in</strong> the algorithm. Construct<strong>in</strong>gm disjo<strong>in</strong>t paths follows the similar strategy as <strong>in</strong>the previous case. However, as shown <strong>in</strong> the algorithm, ifs (i) = w j , i ≠ j, we should construct paths s (i) → t ( j) ands ( j) → t (i) <strong>in</strong>stead of s (i) → t (i) and s ( j) → t ( j) .Let x and y be two nodes <strong>in</strong> an n-cube and d = |x ⊕ y|be the Hamm<strong>in</strong>g distance between x and y. Let Z i = (x (i) →y), 0 ≤ i ≤ n − 1, are n disjo<strong>in</strong>t paths <strong>in</strong> an n-cube, thenthere are d paths of length (d − 1) and (n − d) paths oflength (d +1). The n disjo<strong>in</strong>t paths Z i = (x (i) → y), 0 ≤ i ≤n − 1, can be constructed by Algorithm 2.Algorithm 2 (Cube<strong>Disjo<strong>in</strong>t</strong><strong>Paths</strong>(n,x,y))beg<strong>in</strong>for i = 0 to n − 1 do /* for each path */v = x (i) ; P i = v; u = v ⊕ y;p3(n,i,v,y);endforendAlgorithm 3 (p3(n,i,x,y))beg<strong>in</strong>v = x;for j = 1 to n do /* for each dimension */b = (i + j) % n;if (u & 2 b ) ≠ 0, then v = v (b) ; p3 = (p3 : v);endforendIn a 3-cube, let x = 000, 3 disjo<strong>in</strong>t paths for every yare shown <strong>in</strong> Table 1. Notice that we also listed the case ofy = x = 000, it may appear <strong>in</strong> the case of c s = c t when webuild k + m disjo<strong>in</strong>t paths <strong>in</strong> an MC(k,m).Table 1. Hypercube disjo<strong>in</strong>t path examples(000, 000) (000, 001) (000, 010) (100, 000)P 0 P 1 P 2 P 0 P 1 P 2 P 0 P 1 P 2 P 0 P 1 P 2000 000 000 000 000 000 000 000 000 000 000 000001 010 100 001 010 100 001 010 100 001 010 100000 000 000 011 101 011 110 101 101001 001 010 010 100 100(000, 011) (000, 101) (000, 110) (000, 111)P 0 P 1 P 2 P 0 P 1 P 2 P 0 P 1 P 2 P 0 P 1 P 2000 000 000 000 000 000 000 000 000 000 000 000001 010 100 001 010 100 001 010 100 001 010 100011 011 101 101 110 101 011 110 110 011 110 101111 111 111 111 111 111011 101 110The algorithm 2 can be used for construct<strong>in</strong>g k orm disjo<strong>in</strong>t paths (u → v) <strong>in</strong> MC(k,m) as follows. Whenu and v differ only <strong>in</strong> classID we can call algorithm 3,p3(k,i,c u ,c v ) to f<strong>in</strong>d a class-path <strong>in</strong> the class-cube. In ouralgorithm for disjo<strong>in</strong>t paths <strong>in</strong> MC(k,m), we make no dist<strong>in</strong>ctionbetween the path u → v <strong>in</strong> MC(k,m) and the theclass-path c u → c v while there is no confusion arises. Similarly,when u and v differ only <strong>in</strong> nodeID (<strong>in</strong> the samecluster) we can call algorithm 3, p3(m,i,M u [c u ],M v [c v ]) togenerate a shortest path <strong>in</strong> a k-cube, and we identify thispath as the path (u → v) <strong>in</strong> the cluster C s (= C t ).Example 2: Assume m = k = 2, s = 0000000000, and t =0000000001. S<strong>in</strong>ce C s = C t , we construct the paths by case0. The four paths are shown <strong>in</strong> Table 2. The longest path isP 0 or P 1 . |P 0 | = |P 1 | = H(u,v) + 6 = 7.Let the two clusters be C s = (c s ,M s [h −1],...,M s [c s + 1],∗,M s [c s − 1],...,M s [0]) andC t = (c t ,M t [h − 1],...,M t [c t + 1],∗,M t [c t − 1],...,M t [0]).Let HC i be a Hamiltonian cycle <strong>in</strong> H k conta<strong>in</strong><strong>in</strong>g thedirected edge (s : s (i) ). In what follows, we give analgorithm (Algorithm 4) for construct<strong>in</strong>g k + m disjo<strong>in</strong>tpaths from s to t <strong>in</strong> an MC(k,m). In the algorithm, wefirst f<strong>in</strong>d path P i for 0 ≤ i ≤ k − 1 and then f<strong>in</strong>d path P i fork ≤ i ≤ k + m − 1. A key-bit position y is determ<strong>in</strong>es bythe follow<strong>in</strong>g rule. Try to f<strong>in</strong>d a 0 <strong>in</strong> M s [c (i)s ] ⊕ M t [c (i)t ],0 ≤ i ≤ k − 1, from rightmost bit. If success, let x = thebit position; otherwise, x = 0. Then y = k + x. We use l todenote the bit position so that (u : u (l) ) is an one-step path

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!