• 沒有找到結果。

Reducing the height of independent spanning trees in chordal rings

N/A
N/A
Protected

Academic year: 2021

Share "Reducing the height of independent spanning trees in chordal rings"

Copied!
6
0
0

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

全文

(1)Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. Reducing the height of independent spanning trees in chordal rings Jinn–Shyong Yang1,3. 1. Yue–Li Wang1,∗. Shyue-Ming Tang2. Department of Information Management, National Taiwan University of Science and Technology, Taipei, Taiwan, Republic of China. 2. Department of Psychology,Fu-Hsing-Kang College, Taipei, Taiwan. 3. Department of Information Management, National Taipei College. , Republic of China. of Business, Taipei, Taiwan, ROC. Abstract This paper is concerned with a particular family of regular 4-connected graphs, called chordal rings. Chordal rings are a variation of ring networks. By adding extra two links (or chords) at each vertex in a ring network, the reliability and fault-tolerance of the network are enhanced. Two spanning trees on a graph are said to be independent if they are rooted at the same vertex, say r, and for each vertex v 6= r, the two paths from r to v, one path in each tree, are internally disjoint. A set of spanning trees on a given graph is said to be independent if they are pairwise independent. In 1999, Y. Iwasaki et al. proposed a linear time algorithm to find four independent spanning trees on a chordal ring. In this paper, we shall give new algorithms to generate four independent spanning trees with reduced height in each tree.. the network are enhanced [1, 3, 7, 8]. A number of problems on chordal rings (or called distributed loop networks) have been studied in the past two decades, including the diameter problem [1], the shortest paths problem [4], the routing and fault-tolerant routing problem [11, 12, 13, 14]. A chordal ring CR(N, d) is a graph with its vertex set V = {0, 1, . . . ,N − 1} and edge set E = {(u, v)|[v − u]N = 1 or d}, where [x]N denotes x modulo N . To ensure every vertex has four adjacent vertices, we assume that d is less than N/2. An example of chordal ring for N = 14 and d = 4 is shown in Figure 1. 0 13. 1 2. 12. 3. 11. Keyword: chordal rings, interconnection networks, fault-tolerant broadcasting, independent spanning trees, internally disjoint path.. 1. 4. 10. 5. 9. Introduction. Chordal rings are a variation of ring networks. By adding extra two links (or chords) at each vertex in a ring network, the reliability and fault-tolerance of. 8. 6 7. Figure 1: CR(14, 4) chordal rings.. ∗ All. correspondence should be addressed to Professor Yue–Li Wang, Department of Information Management, National Taiwan University of Science and Technology, 43, Section 4, Kee-Lung Road, Taipei, Taiwan, Republic of China (Phone: 886–02–7376768, Fax: 886–02–7376777, Email: ylwang@cs.ntust.edu.tw).. 344. Two paths in a graph are internally disjoint if they have no common vertex except the two end vertices. A spanning tree of a graph G is a subgraph.

(2) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. of G that contains all vertices in G and forms a tree. Two spanning trees of G are said to be independent if they are rooted at the same vertex, say r, and for each vertex v 6= r, the two paths from r to v, one path in each tree, are internally disjoint. A set of spanning trees of a graph is independent if they are pairwise independent. For example, a set of four independent spanning trees of CR(14, 4) is shown in Figure 2.. 2 3 4. 7. 6 13. 0. 0. 1. 4. 5 12. 11. 9. 10. 3. 5. 2. 6. 1. 7. 8. 11 7 6. 9 10. 12 13. 11. 12. 10. 8. 8 1. 4. 0. 0. 13. 10. 9 2. 5. 3. 11. 9. 12. 8. 13. 7. 6 5 4. 2 1. 3. Figure 2: A set of independent spanning trees on CR(14, 4).. The study of finding independent spanning trees has applications on fault-tolerant broadcasting protocol [2, 9]. The fault tolerance can be achieved by sending k copies of a message along k independent spanning trees rooted at the source node. If the source node is faultless, this scheme can tolerate up to k − 1 faulty nodes. In [9], Itai and Rodeh gave a linear time algorithm for finding two independent spanning trees rooted at an arbitrary vertex in a biconnected graph. In [5], Cheriyan and Maheshwari showed that, for any 3connected graph G = (V, E) and for any vertex r in G, three independent spanning trees rooted at r can be found in O(|V ||E|) time. In [15], Zehavi and Itai conjectured that any k-connected graph has k independent spanning trees rooted at an arbitrary vertex r. Recently, Curran presented an O(|V |3 ) time algorithm for finding four independent spanning trees. 345. rooted at any given vertex in a 4-connected graph [6]. This result has contribution to Zehavi and Itai’s conjecture. However, the conjecture is still open for arbitrary k-connected graphs with k ≥ 5. Although chordal rings discussed here are all 4-connected, efficient algorithms for solving the independent spanning trees problem in chordal rings are still valuable. In [10], Iwasaki et al. gave a linear time algorithm to solve the independent spanning trees problem in a chordal ring. In Figure 2, based on their algorithm, four spanning trees T1 , T2 , T3 and T4 rooted at vertex 0 in CR(14, 4) are constructed. Following the definition of independent spanning trees, for every vertex v 6= 0, the four paths from 0 to v in T1 , T2 , T3 and T4 are internally disjoint (or vertex-disjoint). Let dG (u, v) denote the distance between vertices u and v in G. The height of a spanning tree T rooted at vertex r, denoted by height(T ), is the maximum distance of the paths from r to any other vertex in T , i.e., height(T ) = max{dT (r, v)|v 6= r}. For example, the heights of independent spanning trees Ti (i = 1, 2, 3, 4) shown in Figure 2 are all five. In this paper, we focus our efforts on the height of independent spanning trees. Obviously, the performance of a broadcasting protocol can be improved by reducing the height of a spanning tree rooted at the source node. We shall design new algorithms to generate four independent spanning trees with reduced height in each tree. The remaining part of this paper is organized as follows. In Section 2, a linear time algorithm is proposed to generate height-reduced independent spanning trees rooted at one vertex in a chordal ring. In Section 3, we solve the problem for a special class of chordal rings, i.e., CR(N, d) where [N ]d = 0. In Section 4, we prove the correctness of our algorithms. Section 5 contains our concluding remarks.. 2. A New Algorithm for Generating Independent Spanning Trees. Chordal rings are vertex-symmetric [7]. Without loss of generality, we simply consider independent spanning trees rooted at vertex 0 of a chordal ring. Let T1 , T2 , T3 and T4 denote the four spanning trees. Since the four adjacent vertices of vertex v in CR(N, d) are [v +1]N , [v −1]N , [v +d]N and [v −d]N , vertices 1, d, N − 1 and N − d can be assigned as the only child of the root in T1 , T2 , T3 and T4 , respectively. The first algorithm we proposed can generate four independent spanning trees rooted at vertex 0 in CR(N, d), where 2 ≤ d < N/2. The algorithm contains three phases. At the first phase, we generate.

(3) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan. Procedure Gen T1(N, d) begin 1. Calculate the span column. Let node = d × b(N − (d − 1))/dc − 1. Let span column = [node − N ]d . If span column < d − 1 then do move = T rue 2. For i = 1 to d − 1 do Set parent of vertex i to i − 1. 3. For i = 1 to d − 1 do If i > bd/2c then Set parent of vertex [i − d]N to [i − d]N -1. Else // i ≤ bd/2c Set parent of vertex [i − d]N to i. 4. For i = 1 to d − 1 do Let x = i. While x ≤ N − 2d do If (d − i) > span column then If do move = T rue and [N −(x+d)]d = 0 and b(N − (x + d))/dc ≤ bN/2dc Set parent of vertex x+d to x+d+1. Else Set parent of vertex x + d to x. Else // (d − i) ≤ span columnd Set parent of vertex x + d to x + 2d. Let x = x + d. 5. For i = 1 to b(N − d)/dc do Let x = i × d. If do move = T rue and i ≤ bN/2dc then Set parent of vertex x to x + 1. Else Set parent of vertex x to x − 1. end.. Procedure Gen T2(N, d) begin 1. Calculate the span column. Let node = d × b(N − (d − 1))/dc − 1. Let span column = [node − N ]d . If span column < d − 1 then do move = T rue 2. For i = 1 to b(N − d)/dc do Let x = i × d. Set parent of vertex x to x − d. 3. For i = d to N − d − 1 and [i + 1]d 6= 0 do If d − [i − 1]d > span column then If do move = T rue and [N −(i+1)]d = 0 and b(N − (i + 1))/dc ≤ bN/2dc Set parent of vertex i + 1 to i+1−d. Else Set parent of vertex i + 1 to i. Else // d − [i − 1]d ≤ span column Set parent of vertex i + 1 to i + 2. Let x = x + d. 4. For i = 1 to d − 1 do If i ≤ b(d − 1)/2c then Set parent of vertex i to i + d. Else // i > b(d − 1)/2c Set parent of vertex i to i + 1. 5. For i = 1 to d − 1 do If i > bd/2c then Set parent of vertex [i − d]N to i. Else // i ≤ bd/2c Set parent of vertex [i − d]N to [i − d]N − d. end.. T1 using Procedure Gen T1. Then, we generate T2 using Procedure Gen T2. We generate T3 and T4 from T1 and T2 directly by replacing the label of each non-root vertex v with N − v. Then, we describe our algorithm for generating four independent spanning trees rooted at vertex 0 in CR(N, d).. For example, we generate T1 , T2 , T3 and T4 on CR(14, 4) as shown in Figure 3. Notice that the height of each tree in Figure 3 is reduced from five to four by comparing with the corresponding tree in Figure 2. Constructing the four independent spanning trees also takes linear time, as did in [10].. Algorithm IST CR Input : CR(N, d) Output : T1 ,T2 ,T3 and T4 begin 1. Call Procedure Gen T1(N, d). 2. Call Procedure Gen T2(N, d). 3. Generate T3 from T1 by replacing each non-root vertex v in T1 with 4. Generate T4 from T2 by replacing each non-root vertex v in T2 with end.. the label of N − v. the label of N − v.. 346. We are now at a position to compare the results of our algorithms with Iwasaki’s algorithms. Using Iwasaki’s algorithms, the height of each spanning tree can be expressed by a simple formula, i.e., height(Ti ) = d + b(N − 2d)/dc, where i = 1, 2, 3, 4. Taking a look at our algorithm, in procedures Gen T1(N, d) and Gen T2(N, d), variable span column plays an important role to determine the height of independent spanning trees generated by Algorithm IST CR. For the sake of conciseness, we omit the detail analysis. In case of span column = bd/2c, the height of independent spanning trees is.

(4) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. 2 3. 6. 0. 0. 1. 4. 5 12. 4. 11 9. 13. 8. 1. 2. 13. 1. 0. 0. 13. 10. 9 2. 10. 5. 8. 12 11. 7. 3. 10. 3 5. 7 6. 11 4. 12. 8 6. 7. 10. 11. 9 1. 13. 9. 12. 6 8. 7. 4. 3. 5. 2. Figure 3: T1 , T2 , T3 and T4 on CR(14, 4).. d − bd/2c + b(N − 2d)/dc + 1. In the best situation (bN/2dc > 1), the heights of T1 and T3 can be further reduced to d−bd/2c+b(N −2d)/dc. In the worst case, the height of independent spanning trees can not be reduced any more by using our algorithms. For example, the height of independent spanning trees on CR(14, 2) is 2+b(14−2×2)/2c = 7 by using Iwasaki’s algorithms. This height can not be reduced. Consequently, we have the following theorem. Theorem 1 Algorithm IST CR can reduce the height of independent spanning trees in RC(N, d) to an extent of bd/2c by comparing with Iwasaki’s algorithms.. 3. Another Algorithm for Constructing Independent Spanning Trees. In this section, we propose another algorithm to generate independent spanning trees for a special class of chordal rings. That is, this algorithm is designed for chordal rings CR(N, d) where N is dividable by d (i.e., [N ]d = 0) and d > 2. For this class of chordal rings, Algorithm IST CR does not help in independent spanning trees problem. We give the algorithm as follows. Then, we describe our algorithm for generating four independent spanning trees rooted at vertex 0 in CR(N, d). Clearly, constructing the four independent spanning trees also takes linear time.. 347. Procedure Div T1(N, d) (d > 2,[N ]d = 0.) begin 1. For i = 1 to d − 1 do Set parent of vertex i to i − 1. 2. For i = 1 to d − 1 do Let x = i. While x ≤ N − d do Case 1: i < bd/2c If x/d < N/2d then Set parent of vertex x + d to x. Else Set parent of vertex x+d to [x+2d]N . Case 2: i = bd/2c If x/d < N/2d then Set parent of vertex x + d to x. Else If [d]2 6= 0 or [x + 2d]N < d Set parent of vertex x+d to [x+2d]N . Else Set parent of vertex x+d to [x+d−1]N . Case 3: i > bd/2c Set parent of vertex x + d to x + d − 1. Let x = x + d. 3. For i = 1 to (N/d − 1) do Let x = i × d. Set parent of vertex x to x + 1. end.. Algorithm DIV CR Input : CR(N, d) (d > 2,[N ]d = 0.) Output : T1 ,T2 ,T3 and T4 begin 1. Call Procedure Div T1(N, d). 2. Call Procedure Div T2(N, d). 3. Generate T3 and T4 using the same method as steps 3 and 4 of Algorithm IST CR. end. For example, we generate T1 , T2 , T3 and T4 on CR(35, 5) as shown in Figure 4. The heights of T1 and T3 in Figure 4 are both 7, while the heights of T2 and T4 are both 8. Notice that the height of independent spanning trees constructed by Iwasaki’s algorithm is 10. The result of Algorithm IST CR is also 10. Using Procedure Div T1, the height of the spanning tree can be expressed by a simple formula, i.e., d − 1 + bN/2dc. That is, height(T1 )= height(T3 )=d − 1 + bN/2dc. Meanwhile, the height of the spanning tree generated by procedure Div T2 is N/d − 1 + bd/2c. That is, height(T2 )=height(T4 )= N/d − 1 + bd/2c. By comparing with Iwasaki’s algorithms, the reduced height of each spanning tree is either d + b(N − 2d)/dc − (d − 1 + bN/2dc) = b(N/d − 1)/2c.

(5) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan. Procedure Div T2(N, d) (d > 2,[N ]d = 0.) begin 1. For i = 1 to (N/d − 1) do Let x = i × d. Set parent of vertex x to x − d. 2. For i = 1 to N/d − 1 do Let x = i × d. If i ≤ b(N/d − 1)/2c then For j = 1 to bd/2c do Set parent of vertex x + j to x + j − 1. For j = 1 to b(d − 1)/2c do Set parent of vertex x − j to x − j + 1. Else // i > b(N/d − 1)/2c For j = 1 to bd/2c do If i = b(N/d)/2c and [N/d]2 = 0 then Set parent of vertex x+j to x+j −1. Else Set parent of vertex x+j to x+j −d. For j = 1 to b(d − 1)/2c do Set parent of vertex x − j to x − j − d. 3. For i = 1 to b(d − 1)/2c do Set parent of vertex i to i + d. Set parent of vertex N − i to [N − i + d]N . If [d]2 = 0 then The parent of vertex d/2 to d/2 + 1. end.. 16. 17. 18. 19. 28. 29. 30. 31. 32. 10. 11. 12. 13. 14. 23. 24. 25. 26. 27. 5. 6. 7. 8. 9. 18. 19. 20. 21. 22. 0. 1. 2. 3. 4. 13. 14. 15. 16. 17. 30. 31. 32. 33. 34. 8. 9. 10. 11. 12. 25. 26. 27. 28. 29. 3. 4. 5. 6. 7. 20. 21. 22. 23. 24. 33. 34. 0. 1. 2. T1. T2. 11. 12. 13. 14. 15. 33. 34. 0. 1. 2. 6. 7. 8. 9. 10. 28. 29. 30. 31. 32. 1. 2. 3. 4. 5. 23. 24. 25. 26. 27. 31. 32. 33. 34. 0. 18. 19. 20. 21. 22. 26. 27. 28. 29. 30. 13. 14. 15. 16. 17. 21. 22. 23. 24. 25. 8. 9. 10. 11. 12. 16. 17. 18. 19. 20. 3. 4. 5. 6. 7. T3. T4. Figure 4: T1 , T2 , T3 and T4 on CR(35, 5).. or d + b(N − 2d)/dc − (N/d − 1 + bd/2c) = b(d − 1)/2c. As a result, we have Theorem 2. Theorem 2 Algorithm DIV CR can reduce the height of independent spanning trees in RC(N, d) by an amount of b(N/d − 1)/2c (in T1 and T3 ) or b(d−1)/2c (in T2 and T4 ) by comparing with Iwasaki’s algorithms.. 4. 15. Correctness of the algorithms. In this section, we shall concisely prove that T1 , T2 , T3 and T4 generated by both Algorithms IST CR and DIV CR are independent spanning trees rooted at 0 in CR(N, d). Lemma 3 T1 , T2 , T3 and T4 generated by both Algorithms IST CR and DIV CR are spanning trees of CR(N, d). Proof. By analyzing the steps of Algorithms IST CR and DIV CR, Ti (i=1,2,3,4) consists of N vertices and N − 1 edges. Meanwhile, Ti is connected. Therefore, T1 , T2 , T3 and T4 are four spanning trees of CR(N, d). . 348. To prove that T1 , T2 , T3 and T4 are pairwise independent, we define the ancestor set of a vertex v in Ti (i = 1, 2, 3, 4), denoted by ancestor(v, i), as the vertex set of the path from root vertex 0 to the parent vertex of v in Ti . By the definition of independent spanning trees, we figure out that Ti and Tj (i 6= j) are independent if and only if for T every vertex v in CR(N, d), v 6= 0, ancestor(v, i) ancestor(v, j) = 0. This property is the main idea in proving the following lemma. Lemma 4 T1 , T2 , T3 and T4 generated by both Algorithms IST CR and DIV CR are mutually independent. Proof. By analyzing the ancestor set of every vertex v (v 6= 0) with respect to the four spanning trees generated by ISTTCR orDIV CR, we can prove that ancestor(v, 1) T ancestor(v, 2) T ancestor(v, 3) ancestor(v, 4) = 0. That is, T1 , T2 , T3 and T4 are mutually independent.  We summarize Lemmas 3 and 4 as Theorem 5. Theorem 5 Algorithm IST CR and Algorithm DIV CR can correctly generate four independent spanning trees rooted at vertex 0 in CR(N, d)..

(6) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. 5. Concluding remarks. In this paper, we present two algorithms for constructing four independent spanning trees rooted at an arbitrary vertex in a chordal ring. By comparing with Iwasaki’s algorithms, Algorithm IST CR can reduce the height of each spanning tree to an extent of bd/2c, while Algorithm DIV CR can reduce the height of each spanning tree by an amount of b(N/d − 1)/2c (in T1 and T3 ) or b(d − 1)/2c (in T2 and T4 ). To provide a clear comparison, we aggregate the results of programming efforts as shown in Table 1. We use two criteria in Table 1, total height(T H) and total path length(T P L). The former is the summation of height(Ti )(i = 1, 2, 3, 4), the latter is the summation of path length in each tree.. d 2 5 7 3 5 5 6 8 11. Iwasaki TH TPL 12 52 36 608 36 588 16 80 36 556 40 716 40 740 48 1180 72 3604. IST TH 12 30 28 14 34 38 38 46 70. CR TPL 52 520 480 78 532 688 708 1120 3454. DIV TH N/A N/A N/A 12 28 30 32 38 54. [6] S. Curran, Independent Trees in 4-connected graphs, Doctoral thesis at School of Mathematics, Georgia Institute of Technology, 2003. [7] D.-Z. Du, D. F. Hsu, Qiao Li, Junming Xu,A combinational problem related to distributed loop networks, Networks, Vol. 20, 1990, pp. 173180. [8] Paul Erdos, Frank D. Hsu,Distributed loop network with minimum transmission delay, Theoretical Computer Science, Vol. 100, 1992, pp. 223241. [9] A. Itai, M. Rodeh,The multi-tree approach to reliability in distributed networks, Information and Computation 79, 1988, pp. 43-59.. Table 1: Comparison of different algorithms.. N 7 32 31 9 30 35 36 48 99. [5] J. Cheriyan, S. N. Maheshwari, Finding nonseparating induced cycles and independent spanning trees in 3-connected graphs, Journal of Algorithms 9, 1988, pp. 507-537.. CR TPL N/A N/A N/A 76 468 594 614 958 2834. [10] Yukihiro Iwasaki, Yuka Kajiwara, Koji Obokata, Yoshihide Igarashi, Idependent spanning trees of chordal rings, Information Processing Letters 69, 1999, pp. 155-160. [11] Krishnendu Mukhopadhyaya, Bhabani P. Sinha, Fault-tolerant routing in distributed loop networks, IEEE Transactions on Computers, Vol. 44, No. 12, 1995, pp. 1452-1456. [12] L.Narayanan, J. Opatrny, Compact routing on chordal rings of degree 4, Algorithmica, Vol. 23, 1999, pp. 72-96.. References [1] Bruce W. Arden, Hikyu Lee, Analysis of chordal ring network, IEEE Transactions on Computers, Vol. C-30, No. 4, April 1981, pp. 291-295. [2] F. Bao, Y. Igarashi, S.R. Ohring, Reliable broadcasting in product networks, IEICE Technical Report COMP, 95(18), 1995, pp. 57-66. [3] J.-C.Bermond, F. Comellas, D. F. Hsu, Distributed loop computer networks: A survey, Journal of Parallel and Distributed Computing, Vol. 24, 1995, pp. 2-10. [4] Nimmagadda Chalamaiah, Badrinath Ramamurthy, Finding shortest paths in distributed loop networks, Information Processing Letters, Vol. 67, 1998, pp. 157-161.. 349. [13] Behrooz Parhami, Ding-Ming Kwai, Periodically regular chordal rings, IEEE Transactions on Parallel and Distributed Systems, Vol. 10, No. 6, 1999, pp. 658-672. [14] Guy W. Zimmerman, Acdol-Hossein Esfahanian, Chordal rings as fault-tolerant loops, Discrete Applied Mathematics, Vol. 37/38, 1992, pp. 563573. [15] A. Zehavi, A. Itai, Three tree-paths, Journal of Graph Theory 13, 1989, pp. 175-188..

(7)

數據

Figure 1: CR(14, 4) chordal rings.
Figure 2: A set of independent spanning trees on CR(14, 4).
Table 1: Comparison of different algorithms.

參考文獻

相關文件

6 《中論·觀因緣品》,《佛藏要籍選刊》第 9 冊,上海古籍出版社 1994 年版,第 1

In Section 3, we propose a GPU-accelerated discrete particle swarm optimization (DPSO) algorithm to find the optimal designs over irregular experimental regions in terms of the

Primal-dual approach for the mixed domination problem in trees Although we have presented Algorithm 3 for finding a minimum mixed dominating set in a tree, it is still desire to

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

Robinson Crusoe is an Englishman from the 1) t_______ of York in the seventeenth century, the youngest son of a merchant of German origin. This trip is financially successful,

fostering independent application of reading strategies Strategy 7: Provide opportunities for students to track, reflect on, and share their learning progress (destination). •

The vertex-cover problem is to find a vertex cover of minimum size in a given undirected graph. • 此問題的decision版本為NP-Complete

Given an undirected graph with nonnegative edge lengths and nonnegative vertex weights, the routing requirement of a pair of vertices is assumed to be the product of their weights.