9
Constructing Edge-Disjoint Spanning Trees in Product Networks Shan-Chyun Ku, Biing-Feng Wang, Member, IEEE Computer Society, and Ting-Kai Hung Abstract—A Cartesian product network is obtained by applying the cross operation on two graphs. In this paper, we study the problem of constructing the maximum number of edge-disjoint spanning trees (abbreviated to EDSTs) in Cartesian product networks. Let G ¼ðV G ;E G Þ be a graph having n 1 EDSTs and F ¼ðV F ;E F Þ be a graph having n 2 EDSTs. Two methods are proposed for constructing EDSTs in the Cartesian product of G and F , denoted by G F . The graph G has t 1 ¼jE G j n 1 ðjV G j 1Þ more edges than that are necessary for constructing n 1 EDSTs in it, and the graph F has t 2 ¼jE F j n 2 ðjV F j 1Þ more edges than that are necessary for constructing n 2 EDSTs in it. By assuming that t 1 n 1 and t 2 n 2 , our first construction shows that n 1 þ n 2 EDSTs can be constructed in G F . Our second construction does not need any assumption and it constructs n 1 þ n 2 1 EDSTs in G F . By applying the proposed methods, it is easy to construct the maximum numbers of EDSTs in many important Cartesian product networks, such as hypercubes, tori, generalized hypercubes, mesh connected trees, and hyper Petersen networks. Index Terms—Cartesian product networks, edge-disjoint trees, spanning trees, embedding, fault-tolerance, interconnection networks. æ 1 INTRODUCTION M ANY researchers have turned their attention to the problem of embedding a set of subgraphs, such as paths, rings, and trees, satisfying some constraints in a network. The problem of finding edge-disjoint spanning trees (abbreviated to EDSTs) is an important example [2], [11], [14], [17], [20], [21]. A number of spanning trees of a graph are edge-disjoint if no two contain the same edge. Besides being of theoretical interest, this problem has two practical applications. One is to enhance the ability of fault- tolerance [11], [15]. Consider a source node s that wants to broadcast a message on a network with n EDSTs. The node s copies n messages to different spanning trees. If there are no more than n 1 fault edges, all the other nodes can receive the message. The other application is to develop efficient collective communication algorithms in distributed memory parallel computers [2], [17], [21]. If the above source node has a large number of data to transmit, we can let every EDST be responsible for only 1=n data to increase the throughput. Roskind and Tarjan [20] had proposed an Oðm 2 Þ time algorithm for finding the maximum number of EDSTs in an arbitrary graph, where m is the number of edges in the graph. Given a set of EDSTs of a graph, Hasunuma [14] studied the problem of transforming it into another set of EDSTs having smaller depths. To evaluate an interconnec- tion network, the maximum number of EDSTs can be considered as a criterion. Therefore, in the study of interconnection networks, instead of having an algorithm for computing the number, it is generally preferred to have the number be expressed as a formula, in terms of the size of the graph. Thus, the problem of determining a formula for the maximum number of EDSTs in a particular class of graphs has also received much attention. Barden et al. [2] provided a simple and elegant method to construct bn=2c EDSTs in an n-dimensional hypercube. Wang and Blough [21] showed that two EDSTs (of a small diameter) can be constructed in a 2-dimensional torus. Fragopoulou and Akl [11] showed that there are n 1 directed rooted EDSTs in an n-dimensional star network. Stong [19] studied the Hamiltonian decomposition of the Cartesian product of two Hamiltonian decomposable graphs. By applying his result to an n-dimensional torus, n edge-disjoint Hamilto- nian cycles can be constructed, from which we conclude immediately that there are n EDSTs in an n-dimensional torus. It is known that a complete graph of n vertices has bn=2c edge-disjoint Hamiltonian paths [4]. Thus, a complete graph of n vertices has bn=2c EDSTs. All the above results are optimal, from the aspect of the numbers of EDSTs. Recently, there has been an increasing interest in a class of interconnection networks called Cartesian product networks [6], [13], [18]. All product networks discussed in this paper are Cartesian products of graphs. Therefore, for simplicity, in the remainder of this paper, Cartesian product networks are called product networks for short. There are a lot of criteria used in evaluating interconnec- tion networks, such as symmetry, scalability, low degree and diameter, recursive structure, fault tolerance, support of efficient broadcasting, support of parallel algorithms, and so on [6]. Among the studied networks, many are attractive with respect to some of them. But, none can outperform all the others from the aspect of all the criteria. Product networks were proposed based upon the idea of using the cross product as a tool for “combining” two known graphs with established properties to obtain a new one that inherits properties from both [6]. The class of product networks provides a general framework for design and analysis of interconnection networks and parallel algorithms. Many important topologies such as hypercubes, meshes, tori, mesh-connected trees, k-ary IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 14, NO. 3, MARCH 2003 213 . The authors are with the Department of Computer Science, National Tsing Hua University, Hsinchu, Taiwan 30043, Republic of China. E-mail: [email protected], [email protected], [email protected]. Manuscript received 1 June 2001; revised 7 July 2002; accepted 22 Oct. 2002. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number 114267. 1045-9219/03/$17.00 ß 2003 IEEE Published by the IEEE Computer Society

Constructing edge-disjoint spanning trees in product networks

Embed Size (px)

Citation preview

Page 1: Constructing edge-disjoint spanning trees in product networks

Constructing Edge-DisjointSpanning Trees in Product Networks

Shan-Chyun Ku, Biing-Feng Wang, Member, IEEE Computer Society, and Ting-Kai Hung

Abstract—A Cartesian product network is obtained by applying the cross operation on two graphs. In this paper, we study the problem

of constructing the maximum number of edge-disjoint spanning trees (abbreviated to EDSTs) in Cartesian product networks. Let

G ¼ ðVG;EGÞ be a graph having n1 EDSTs and F ¼ ðVF ;EF Þ be a graph having n2 EDSTs. Two methods are proposed for

constructing EDSTs in the Cartesian product of G and F , denoted by G� F . The graph G has t1 ¼ jEGj ÿ n1ðjVGj ÿ 1Þ more edges

than that are necessary for constructing n1 EDSTs in it, and the graph F has t2 ¼ jEF j ÿ n2ðjVF j ÿ 1Þ more edges than that are

necessary for constructing n2 EDSTs in it. By assuming that t1 � n1 and t2 � n2, our first construction shows that n1 þ n2 EDSTs can

be constructed in G� F . Our second construction does not need any assumption and it constructs n1 þ n2 ÿ 1 EDSTs in G� F . By

applying the proposed methods, it is easy to construct the maximum numbers of EDSTs in many important Cartesian product

networks, such as hypercubes, tori, generalized hypercubes, mesh connected trees, and hyper Petersen networks.

Index Terms—Cartesian product networks, edge-disjoint trees, spanning trees, embedding, fault-tolerance, interconnection networks.

æ

1 INTRODUCTION

MANY researchers have turned their attention to theproblem of embedding a set of subgraphs, such as

paths, rings, and trees, satisfying some constraints in anetwork. The problem of finding edge-disjoint spanningtrees (abbreviated to EDSTs) is an important example [2],[11], [14], [17], [20], [21]. A number of spanning trees of agraph are edge-disjoint if no two contain the same edge.Besides being of theoretical interest, this problem has twopractical applications. One is to enhance the ability of fault-tolerance [11], [15]. Consider a source node s that wants tobroadcast a message on a network with n EDSTs. The nodes copies n messages to different spanning trees. If there areno more than nÿ 1 fault edges, all the other nodes canreceive the message. The other application is to developefficient collective communication algorithms in distributedmemory parallel computers [2], [17], [21]. If the abovesource node has a large number of data to transmit, we canlet every EDST be responsible for only 1=n data to increasethe throughput.

Roskind and Tarjan [20] had proposed an Oðm2Þ timealgorithm for finding the maximum number of EDSTs in anarbitrary graph, where m is the number of edges in thegraph. Given a set of EDSTs of a graph, Hasunuma [14]studied the problem of transforming it into another set ofEDSTs having smaller depths. To evaluate an interconnec-tion network, the maximum number of EDSTs can beconsidered as a criterion. Therefore, in the study ofinterconnection networks, instead of having an algorithmfor computing the number, it is generally preferred to havethe number be expressed as a formula, in terms of the size

of the graph. Thus, the problem of determining a formulafor the maximum number of EDSTs in a particular class ofgraphs has also received much attention. Barden et al. [2]provided a simple and elegant method to construct bn=2cEDSTs in an n-dimensional hypercube. Wang and Blough[21] showed that two EDSTs (of a small diameter) can beconstructed in a 2-dimensional torus. Fragopoulou and Akl[11] showed that there are nÿ 1 directed rooted EDSTs inan n-dimensional star network. Stong [19] studied theHamiltonian decomposition of the Cartesian product oftwo Hamiltonian decomposable graphs. By applying hisresult to an n-dimensional torus, n edge-disjoint Hamilto-nian cycles can be constructed, from which we concludeimmediately that there are n EDSTs in an n-dimensionaltorus. It is known that a complete graph of n vertices hasbn=2c edge-disjoint Hamiltonian paths [4]. Thus, a completegraph of n vertices has bn=2c EDSTs. All the above resultsare optimal, from the aspect of the numbers of EDSTs.

Recently, there has been an increasing interest in aclass of interconnection networks called Cartesian productnetworks [6], [13], [18]. All product networks discussed inthis paper are Cartesian products of graphs. Therefore,for simplicity, in the remainder of this paper, Cartesianproduct networks are called product networks for short.There are a lot of criteria used in evaluating interconnec-tion networks, such as symmetry, scalability, low degreeand diameter, recursive structure, fault tolerance, supportof efficient broadcasting, support of parallel algorithms,and so on [6]. Among the studied networks, many areattractive with respect to some of them. But, none canoutperform all the others from the aspect of all thecriteria. Product networks were proposed based upon theidea of using the cross product as a tool for “combining”two known graphs with established properties to obtain anew one that inherits properties from both [6]. The classof product networks provides a general framework fordesign and analysis of interconnection networks andparallel algorithms. Many important topologies such ashypercubes, meshes, tori, mesh-connected trees, k-ary

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 14, NO. 3, MARCH 2003 213

. The authors are with the Department of Computer Science, National TsingHua University, Hsinchu, Taiwan 30043, Republic of China.E-mail: [email protected], [email protected],[email protected].

Manuscript received 1 June 2001; revised 7 July 2002; accepted 22 Oct. 2002.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number 114267.

1045-9219/03/$17.00 ß 2003 IEEE Published by the IEEE Computer Society

Page 2: Constructing edge-disjoint spanning trees in product networks

hypercubes, generalized hypercubes, and hyper Petersen

networks are instances of product networks. Therefore,

product networks have been extensively studied in the

literature [1], [7], [9], [10], [13], [18].In this paper, we study the problem of constructing the

maximum number of EDSTs in product networks. Let G ¼ðVG;EGÞ be an undirected graph having n1 EDSTs and F ¼ðVF ;EF Þ be an undirected graph having n2 EDSTs. Two

methods are proposed for constructing EDSTs in the

product of G and F , denoted by G� F . The graph G has

t1 ¼ jEGj ÿ n1ðjVGj ÿ 1Þ more edges than that are necessary

for constructing n1 EDSTs in it, and the graph F has t2 ¼jEF j ÿ n2ðjVF j ÿ 1Þ more edges than that are necessary for

constructing n2 EDSTs in it. By assuming that t1 � n1 and

t2 � n2, our first method shows that n1 þ n2 EDSTs can be

constructed in G� F . Our second construction does not

need any assumption on G and F . It constructs n1 þ n2 ÿ 1

EDSTs in G� F by efficiently combining the EDSTs of G

and F . From the aspect of the number of constructed

EDSTs, the first construction is optimal for the case t1 ¼ n1

and t2 ¼ n2. And, the second is optimal for the case t1 � n1

and t2 ¼ 0. The usefulness of our constructions is demon-

strated by applying them to determine the maximum

numbers of EDSTs in many important product networks,

including tori, torus-connected k-ary hypercubes, hyper-

cubes, mesh-connected k-ary hypercubes, meshes, general-

ized hypercubes, mesh connected trees, and hyper Petersen

networks. The results are summarized in Table 1.The remainder of this paper is organized as follows: In

Section 2, notation and preliminary results are presented. In

Section 3, the first construction is proposed. In Section 4, the

second construction is proposed. Then, in Section 5, the

usefulness of the proposed constructions is demonstrated.

In Section 6, we conclude this paper with some final

remarks.

2 NOTATION AND PRELIMINARIES

Let H ¼ ðV ;EÞ be an undirected graph. A number ofspanning trees in H are edge-disjoint if no two contain thesame edge. Let TT be a set of n edge-disjoint spanning trees(abbreviated to EDSTs) inH. There are jEj ÿ nðjV j ÿ 1Þ edgesinH that are not contained by any spanning tree of TT. Thoseedges are nontree edges ofH with respect to TT. A different setof n EDSTs defines a different set of nontree edges. However,for any set of n EDSTs, there are always jEj ÿ nðjV j ÿ 1Þnontree edges. For easy description, throughout this paper,we say that a graph H has n EDSTs and t nontree edges if HhasnEDSTs and jEj ¼ nðjV j ÿ 1Þ þ t. Given two subgraphsAand B of H, we denote by A [B the subgraph whose vertex-set and edge-set are the unions of the vertex-sets and edge-sets of A and B, respectively. For easy description, for anysubset U � V , the subgraph ðU; ;Þ is simply denoted by U ;and for any vertex v 2 V , the subgraph ðfvg; ;Þ is simplydenoted by v.

Let G ¼ ðVG;EGÞ and F ¼ ðVF ;EF Þ be two undirectedgraphs. The (Cartesian) product of G and F , denoted byG� F , is defined as the undirected graph having vertex-set fxyjx 2 VG; y 2 VFg and edge-set fðx1y1; x2y2Þjðx1 ¼ x2

and ðy1; y2Þ 2 EF Þ or ðy1 ¼ y2 and ðx1; x2Þ 2 EGÞg. For easydescription, throughout this paper, the vertices of aproduct network G� F are illustrated as a two-dimen-sional matrix of jVGj rows and jVF j columns, each row fora vertex x 2 VG and each column for a vertex y 2 VF . Forany x 2 VG and y 2 VF , the vertex located at theintersection of the row for x and the column for y isthe vertex xy. Note that in the matrix, the set of verticesin each column induces a graph G; and the set of verticesin each row induces a graph F .

Throughout this paper, we let G ¼ ðVG;EGÞ be anundirected graph having n1 � 1 EDSTs and t1 � 0 nontreeedges, and let F ¼ ðVF ;EF Þ be an undirected graph havingn2 � 1 EDSTs and t2 � 0 nontree edges. We denote XX ¼fX1; X2; . . . ; Xn1

g as a set of n1 EDSTs in G and YY ¼fY1; Y2; . . . ; Yn2

g as a set of n2 EDSTs in F . The subgraph ofG whose vertex-set is VG and edge-set is the set of nontreeedges with respect to XX is denoted by NG. Similarly, thesubgraph of F whose vertex-set is VF and edge-set is the setof nontree edges with respect to YY is denoted by NF . Forconvenience, the above notation is summarized in Table 2.

In the remainder of this section, some preliminaryresults are presented.

Lemma 1. Let H ¼ ðV ;EÞ be a graph with jV j � 2. If H has nEDSTs, then jV j � 2� n.

Proof. Any spanning tree of H has jV j ÿ 1 edges. Thus,n � jEj=ðjV j ÿ 1Þ. Any undirected graph with jV jvertices has at most jV jðjV j ÿ 1Þ=2 edges. Thus,n � jEj=ðjV j ÿ 1Þ � jV j=2. Therefore, we conclude thatjV j � 2� n. tu

Lemma 2. Let H ¼ ðV ;EÞ be a graph with jV j � 2. If H hasn EDSTs and t > 0 nontree edges, then jV j � 2� nþ 1.

Proof. From jEj ¼ nðjV j ÿ 1Þ þ tand jEj � jV jðjV j ÿ 1Þ=2, wehave jV j � 2nþ 2t=ðjV j ÿ 1Þ. Since jV j and n are integersand t > 0, we conclude that jV j � 2n +d2t=ðjV j ÿ 1Þe� 2nþ 1. tu

Lemma 3. Let H ¼ ðV ;EÞ be a graph having t > 0 edges. If Hcontains no cycle, there exists a subset U � V of t vertices suchthat every vertex in U has a path to a vertex in V n U .

214 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 14, NO. 3, MARCH 2003

TABLE 1Results Obtained by Using the Proposed Constructions

Page 3: Constructing edge-disjoint spanning trees in product networks

Proof. Since H contains no cycle, all connected componentsin it are trees. By combining this and H having t edges, itis easy to see that the number of connected componentsin H is jV j ÿ t. Let K1; K2; . . . ; KjV jÿt be the components.From every Ki; 1 � i � jV j ÿ t, we arbitrarily select avertex ri. We set U ¼ V n fr1; r2; . . . ; rjV jÿtg. Clearly,jU j ¼ t. Consider a vertex v 2 U . Let Kl be the componentcontaining v, 1 � l � jV j ÿ t. Since Kl is a connectedcomponent, the vertex v has a path to the vertex rl, whichis in V n Uð¼ fr1; r2; . . . ; rjV jÿtgÞ. Thus, every vertex in Uhas a path to a vertex in V n U . tu

3 CONSTRUCTING EDGE-DISJOINT SPANNING

TREES WHEN t1 � n1 AND t2 � n2

In this section, we assume that t1 ¼ n1 and t2 ¼ n2 and showthat n1 þ n2 EDSTs can be constructed in G� F . Theproposed construction can be applied easily to the case t1 �n1 and t2 � n2 by simply ignoring some nontree edges.

Lemma 4. Let H ¼ ðV ;EÞ be a graph having n EDSTs andn nontree edges. There exists a set TT of n EDSTs in H suchthat the set of nontree edges (with respect to TT) alone does notconstitute any cycle in H.

Proof. All cycles mentioned in this proof are simple cycles.Let TT ¼ fT1; T2; . . . ; Tng be an arbitrary set of n EDSTs inH. Let NðTTÞ be the subgraph whose vertex-set is V andedge-set is the set of n nontree edges with respect to TT. IfNðTTÞ contains no cycle, the lemma holds. In thefollowing, we assume that there are cycles in NðTTÞand prove this lemma by transforming TT into another setof n EDSTs to satisfy the condition.

The idea of the transformation is to let some spanningtree in TT exchange an edge withNðTTÞ to get a new set TT0 ofn EDSTs such that NðTT0Þ has less cycles. Then, we setTT ¼ TT0 and repeat the transformation untilNðTTÞ containsno cycle. The new set TT0 is obtained as follows: Let C be acycle inNðTTÞ and ðu; vÞ be an edge in the cycle.NðTTÞmaycontain several connected components. Let K ¼ ðVK;EKÞbe the connected component that includes C. Since K is aconnected graph having at most n edges and there is acycle inK, we can easily conclude that jVK j � n and, thus,jVK n fu; vgj � nÿ 2. Since ðu; vÞ is a nontree edge, it is not

contained by any spanning tree in TT. Therefore, for eachTi; 1 � i � n, if we add the edge ðu; vÞ to it, a cycle Ci ¼ð. . . ; wi; u; v; . . .Þ occurs. Note that wi=2fu; vg; 1 � i � n.Since all spanning trees Ti; 1 � i � n, are edge-disjoint,allwi are different from each other; otherwise there are twoTi containing the same edge ðwi; uÞ. Since jVK n fu; vgj� nÿ 2,wi=2fu; vg, and everywi is distinct, 1 � i � n, thereexists a wj=2VK; 1 � j � n. We transform TT intoTT0 ¼ ðTT n fTjgÞ [ fT 0jg, where T 0j is obtained from Tj byexchanging ðwj; uÞ for ðu; vÞ. Clearly, T 0j is still a spanningtree and T 0j does not share any edge with all the otherTi; 1 � i � n and i 6¼ j. Thus, TT0 is a set of n EDSTs. Thegraph NðTT0Þ is obtained from NðTTÞ by removing ðu; vÞand adding ðwj; uÞ. The removal of ðu; vÞ reduces at leastone cycle from NðTTÞ. Since wj=2VK;wj is contained by aconnected componentK0 6¼ K ofNðTTÞ. Thus, the effect ofadding ðwj; uÞ into NðTTÞ is just to connect K and K0

together. Clearly, the connection creates no cycle. There-fore, NðTT0Þ contains less cycles than NðTTÞ, whichcompletes the proof. tuAccording to Lemma 4, we may assume without loss of

any generality that both NG and NF contain no cycle.Consider the subgraph NG. Its vertex-set is VG. Since NG hast1 ¼ n1 edges and contains no cycle, according to Lemma 3,there is a subset of VG, denoted by UG, such that jUGj ¼ n1

and in the subgraph NG every vertex in UG has a path to avertex in VG n UG. Similarly, there is a subset of VF , denotedby UF , such that jUF j ¼ n2 and in the subgraph NF everyvertex in UF has a path to a vertex in VF n UF . We note theproperties of UG, NG, UF , and NF as follows:

Property 1. jUGj ¼ n1; jUF j ¼ n2, every vertex in UG isconnected to a vertex in VG n UG via only those nontree edgesin NG, and every vertex in UF is connected to a vertex inVF n UF via only those nontree edges in NF .

Now, we are ready to describe the construction of n1 þn2 EDSTs in G� F . The first n1 ÿ 1 spanning trees areobtained by using fX2; X3; . . . ; Xn1

g and Y1 as follows: Let rbe an arbitrary vertex in UG. We compose a set of n1 ÿ 1pairs ði; uÞ, where 2 � i � n1 and u 2 UG=frg, such that notwo pairs have the same i or u. Then, for each composedpair ði; uÞ, a spanning tree ðXi � VF Þ [ ðu� Y1Þ is con-structed. (See Fig. 1.) The next n2 ÿ 1 spanning trees areobtained similarly by using fY2; Y3; . . . ; Yn2

g and X1. Let r0

KU ET AL.: CONSTRUCTING EDGE-DISJOINT SPANNING TREES IN PRODUCT NETWORKS 215

TABLE 2A Summary of Notation

Page 4: Constructing edge-disjoint spanning trees in product networks

be an arbitrary vertex in UF . We compose a set of n2 ÿ 1pairs of ði; uÞ, where 2 � i � n2 and u 2 UF n fr0g, such thatno two pairs have the same i or u. Then, for each composedpair ði; uÞ, a spanning tree ðVG � YiÞ [ ðX1 � uÞ is con-structed. (See Fig. 2.) The next spanning tree is constructedby using X1, Y1, and NF , which is

ðX1 � ðVF n UF ÞÞ [ ðr� Y1Þ [ ððVG n frgÞ �NF Þ:

(See Fig. 3.) The last spanning tree is constructed by usingX1, Y1, and NG, which is

ððVG n UGÞ � Y1Þ [ ðX1 � r0Þ [ ðNG � ðVF n fr0gÞÞ:

(See Fig. 4.)

Theorem 1. Let G be a graph having n1 EDSTs and t1 nontreeedges and F be a graph having n2 EDSTs and t2 nontree edges.If t1 ¼ n1 and t2 ¼ n2, the product G� F has n1 þ n2 EDSTsand n1 þ n2 nontree edges.

Proof. It is not difficult to check that the n1 þ n2 spanningtrees constructed above are mutually edge-disjoint.There are jVGj � n1 and jVF j � n2 edges, respectively, inG and F . Thus, there are jVGj � jVF j � ðn1 þ n2Þ edges inG� F . Each of the constructed trees has ðjVGj � jVF j ÿ 1Þedges. Thus, there are jVGj � jVF j � ðn1 þ n2Þ ÿ ðjVGj �jVF j ÿ 1Þðn1 þ n2Þ ¼ n1 þ n2 nontree edges. tu

Theorem 2. The number of constructed EDSTs in Theorem 1 isthe maximum.

Proof. By Theorem 1, the number of nontree edges of G� Fis n1 þ n2 after a set of n1 þ n2 EDSTs are constructed.According to Lemma 1, we have jVGjjVF j � 2ðn1 þ n2Þ,from which it is easy to conclude that n1 þ n2 edges arenot sufficient to construct a spanning tree in G� F . tuAs mentioned, our construction can be applied to the

case t1 � n1 and t2 � n2. However, in such a case, n1 þ n2 isno more guaranteed to be the maximum number of EDSTsthat can be constructed.

In Theorem 1, the number of EDSTs and the number ofnontree edges of G� F are the same, which is n1 þ n2. This

216 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 14, NO. 3, MARCH 2003

Fig. 1. The first n1 ÿ 1 spanning trees, 2 � i � n1 and u 2 UG n frg.

Fig. 2. The next n2 ÿ 1 spanning trees, 2 � i � n2 and u 2 UF n fr0g.

Fig. 3. The next spanning tree.

Fig. 4. The last spanning tree.

Page 5: Constructing edge-disjoint spanning trees in product networks

property is quite useful. It enables us to apply it over and

over again to product networks obtained by applying

repeatedly the cross operation on a given basic graph,

which is demonstrated in Section 5.

4 CONSTRUCTING EDGE-DISJOINT SPANNING

TREES WHEN t1 ¼ 0 AND t2 ¼ 0

It was assumed in our first construction that G and F ,

respectively, have t1 ¼ n1 and t2 ¼ n2 nontree edges. In this

section, we show that n1 þ n2 ÿ 1 EDSTs can be constructed

in G� F without using any nontree edges of G and F .In the construction to be proposed, the two trees X1 and

Y1 are taken care of especially. Consider the tree X1. We

arbitrarily select a vertex r 2 VG and orient X1 into a rootedtree with root r. Then, we partition VG n frg into two sets

V 1G and V 2G such that

jV 1Gj ¼ bðjVGj ÿ 1Þ=2c; jV 2Gj ¼ dðjVGj ÿ 1Þ=2e;

and no vertex in V 1G is an ancestor of any vertex in V 2G.Clearly, such a partition is simple and not unique. Let X1 bethe set of edges ðu; vÞ in X1 with u 2 V 1G and let X2 be theset of the other edges of X1. By definition, every vertex inV 1G is connected to a vertex in V 2G [ frg via only the edgesin X1. And, the vertices in V 2G [ frg are connected into atree by the edges in X2. By Lemma 1, both jV 1Gj and jV 2Gjare not smaller than n1 ÿ 1. Similarly, we arbitrarily select avertex r0 2 VF , partition VF n fr0g into two sets V 1F andV 2F , and define the two edge-sets Y 1 and Y 2. For easyunderstanding, the above symbols are illustrated in Fig. 5.

Now, we are ready to construct n1 þ n2 ÿ 1 EDSTs inG� F . The first n1 ÿ 1 spanning trees are constructed asfollows: Since jV 1Gj � n1 ÿ 1 and jV 2Gj � n1 ÿ 1, we cancompose a set of n1 ÿ 1 triples (a, b, i), where a 2 V 1G,b 2 V 2G, and 2 � i � n1, such that no two triples have thesame a, b, or i. Then, for each composed triple (a, b, i), weconstruct ðXi � VF Þ [ ða� ðVF ; Y 1ÞÞ [ ðb� ðVF ; Y 2ÞÞ. (SeeFig. 6.) The next n2 ÿ 1 spanning trees are constructedsimilarly. We compose a set of n2 ÿ 1 triples (a, b, i), wherea 2 V 1F , b 2 V 2F , and 2 � i � n2, such that no two tripleshave the same a, b, or i. Then, for each composed triple (a, b, i),we construct ðVG � YiÞ [ ððVG;X2Þ � aÞ [ ððVG;X1Þ � bÞ. (SeeFig. 7.) Finally, we construct the last spanning tree

ðX1 � r0Þ [ ðr� Y1Þ [ ððVG;X2Þ � V 2F Þ [ ððVG;X1Þ � V 1F Þ[ðV 1G � ðVF ; Y 2ÞÞ [ ðV 2G � ðVF ; Y 1ÞÞ:

(See Fig. 8.)It is not difficult to check that the n1 þ n2 ÿ 1 trees

constructed above are mutually disjoint. We obtain follow-

ing theorem:

Theorem 3. Let G be a graph having n1 EDSTs and F be a

graph having n2 EDSTs. The product network G� F has

n1 þ n2 ÿ 1 EDSTs.

KU ET AL.: CONSTRUCTING EDGE-DISJOINT SPANNING TREES IN PRODUCT NETWORKS 217

Fig. 5. r, V 1G, V 2G, X1, X2, r0, V 1F , V 2F , Y 1, and Y 2.

Fig. 6. The first n1 ÿ 1 spanning trees, where a 2 V 1G, b 2 V 2G, and

2 � i � n1.

Fig. 7. The next n2 ÿ 1 spanning trees, where a 2 V 1F , b 2 V 2F , and

2 � i � n2.

Page 6: Constructing edge-disjoint spanning trees in product networks

In the remainder of this section, we present two cases for

which the number of EDSTs of G� F in Theorem 3 is the

maximum. These two cases occur several times in Section 5.

Corollary 1. Let G be a graph having n1 EDSTs and no nontree

edge. Let F be a graph having n2 EDSTs and no nontree edge.

The product network G� F has n1 þ n2 ÿ 1 EDSTs and

ðjVGj ÿ n1ÞðjVF j ÿ n2Þ ÿ ðn1 ÿ 1Þðn2 ÿ 1Þ nontree edges. The

number n1 þ n2 ÿ 1 is the maximum.

Proof. In this case, we have jEGj ¼ n1ðjVGj ÿ 1Þ and

jEF j ¼ n2ðjVF j ÿ 1Þ. The numbers of vertices and edges

inG� F are jVGjjVF j and jVGjjEF j þ jEGjjVF j, respectively.

After constructing n1 þ n2 ÿ 1 EDSTs in G� F , there are

jVGjjEF j þjEGjjVF j ÿðn1 þ n2 ÿ 1Þ ðjVGjjVF j ÿ 1Þ ¼ ðjVGj ÿn1Þ ðjVF j ÿ n2Þ ÿðn1 ÿ 1Þðn2 ÿ 1Þ nontree edges. Since

ðjVGj ÿ n1Þ ðjVF j ÿ n2Þ ÿðn1 ÿ 1Þ ðn2 ÿ 1Þ edges are not

sufficient for constructing a spanning tree, the corollary

holds. tuCorollary 2. Let G be a graph having n1 EDSTs and n1 nontree

edges. Let F be a graph having n2 EDSTs and no nontree edge.

The product network G� F has n1 þ n2 ÿ 1 EDSTs and

jVGjjVF j ÿ 1þ n1 þ n2 ÿ n2jVGj nontree edges. The number

n1 þ n2 ÿ 1 is the maximum.

Proof. In this case, jEGj ¼ n1jVGj and jEF j ¼ n2ðjVF j ÿ 1Þ.After constructing n1 þ n2 ÿ 1 EDSTs in G� F , there are

jVGjjVF j ÿ 1þ n1 þ n2 ÿ n2jVGj nontree edges. Since

jVGj � 2n1 þ 1 by Lemma 2, we conclude that jVGjjVF j ÿ1þ n1 þ n2 ÿ n2jVGj is smaller than the number of edges

needed to construct a spanning tree in G� F . tu

5 APPLICATIONS

In the following sections, we demonstrate the usefulness of

the proposed constructions by applying them to well-

known instances of product networks.

5.1 Tori and Torus-Connected kk-ary Hypercubes

Stong [19] studied the Hamiltonian decomposition of theproduct of two Hamiltonian decomposable graphs. Byapplying his result to an n-dimensional torus, n edge-disjoint Hamiltonian cycles can be constructed, from whichwe conclude immediately that there are n EDSTs in ann-dimensional torus. The same result can be easily obtainedby applying our constructions to tori.

Theorem 4. An n-dimensional torus has n EDSTs and nnontree edges. The number of EDSTs is the maximum.

Proof. An n-dimensional torus is the product of n ringsR1; R2; . . . ; Rn of size at least three. The rings Ri are notnecessary to have the same size. Every ring has one edge-disjoint spanning tree and one nontree edge. Thus, byletting G ¼ R1 and F ¼ R2 in Theorem 1, we obtain thatR1 �R2 has two EDSTs and two nontree edges. Then, byletting G ¼ R1 �R2 and F ¼ R3 in Theorem 1, we obtainthat R1 �R2 �R3 has three EDSTs and three nontreeedges. Consequently, by repeatedly applying Theorem 1,we conclude that an n-dimensional torus has n EDSTs.Also, we conclude that the number n is the maximum.tuAn n-dimensional torus-connected k-ary hypercube [6],

k � 3, is a special case of an n-dimensional torus, in whichthe n rings are all of the same size k. We have the followingcorollary:

Corollary 3. An n-dimensional torus-connected k-ary hypercubehas n EDSTs and n nontree edges. The number of EDSTs isthe maximum.

5.2 Hypercubes, Meshes, and Mesh-Connectedkk-ary Hypercubes

By applying our constructions to hypercubes, the followingtheorem is obtained, which is the same as the result in [2].

Theorem 5. An n-dimensional hypercube has bn=2c EDSTs,where n � 2. The number of EDSTs is the maximum.

Proof. Let Q2 be a 2� 2 mesh. A 2k-dimensional hypercube,

denoted by ðQ2Þk, is a k-times product of Q2. Q2 has one

EDST and one nontree edge. Thus, by repeatedly applying

Theorem 1, we conclude that a 2k-dimensional hypercube

has k EDSTs and k nontree edges. A ð2kþ 1Þ-dimensional

hypercube is the product of ðQ2Þk and Q1, where Q1 is a

linear array of size 2. By letting G ¼ ðQ2Þk and F ¼ Q1 in

Corollary 2, we conclude that a ð2kþ 1Þ-dimensional

hypercube has k EDSTs. tuTheorem 6. An n-dimensional mesh has bn=2c EDSTs, wheren � 2.

Proof. An n-dimensional mesh is the product of n lineararrays. A two-dimensional mesh has one EDST and at leastone nontree edge. A 2k-dimensional mesh is a product ofk two-dimensional meshes. A ð2kþ 1Þ-dimensional mesh isthe product of a 2k-dimensional mesh and a linear array.Therefore, by using Theorems 1 and 2, we establish thetheorem easily. tuAn n-dimensional hypercube is a special case of an

n-dimensional mesh, in which the n linear arrays are all ofsize 2 [16]. Thus, the number bn=2c in Theorem 6 is themaximum if no further assumptions about the mesh aregiven. In the following, we show that more EDSTs can beobtained if it is known that some of the linear arrays are ofsize larger than 2.

218 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 14, NO. 3, MARCH 2003

Fig. 8. The last spanning tree.

Page 7: Constructing edge-disjoint spanning trees in product networks

Lemma 5. Let X ¼ ðVX;EXÞ be a graph and let Y ¼ ðVY ; EY Þ bea graph containing a spanning tree and at least one nontreeedge. Let X0 be the graph obtained from X by adding a newvertex and an edge connecting it to any vertex of X. If X � Yhas two EDSTs, X0 � Y also has two EDSTs.

Proof. Let J be a spanning tree in Y and ðy1; y2Þ be anontree edge of Y with respect to J . Let T1 and T2 betwo EDSTs in X � Y . Let v and ðv; uÞ, where u 2 VX, bethe vertex and the edge, respectively, added to X forobtaining X0. By definition, X0 � Y can be obtainedfrom X � Y by adding the following sets of verticesand edges: A ¼ fvyjy 2 VY g; B1 ¼ fðvy; uyÞjy 2 VY g, andB2 ¼ fðvy; vy0Þjðy; y0Þ 2 EY g. Since the graph ðA;B2Þ isequivalent to Y , it has the spanning tree J and thenontree edge ðy1; y2Þ. We construct the first tree inX0 � Y by choosing the edges of T1, the edges of J inðA;B2Þ, and the edge ðvy1; uy1Þ. Then, we construct thesecond tree by choosing the edges of T2, the edges ofB1 n fvy1; uy1g, and the edge ðvy1; vy2Þ. It is easy to seethat the two constructed trees are edge-disjoint. tu

Lemma 6. Let T1, T2, and T3 be three trees having size at leastthree. The product T1 � T2 � T3 has two EDSTs.

Proof. Let L1, L2, and L3 be linear arrays of three vertices.As depicted in Fig. 9, L1 � L2 � L3 has two EDSTs. Wecan obtain T1 from L1 by repeatedly adding a vertex andan edge. Any two-dimensional mesh has one spanningtree and at least one nontree edge. Thus, by repeatedlyapplying Lemma 5, we conclude that T1 � L2 � L3 hastwo EDSTs. Then, similarly, by repeatedly adding avertex and an edge to L2 and applying Lemma 5, weconclude that T1 � T2 � L3 has two EDSTs. Finally, byrepeatedly adding a vertex and an edge to L3 andapplying Lemma 5, we conclude that T1 � T2 � T3 hastwo EDSTs, which completes the proof. tu

The following lemma is obtained from Lemma 6immediately.

Lemma 7. A three-dimensional mesh has two EDSTs and at leasttwo nontree edges if each of its dimensions has size at leastthree.

Theorem 7. An n-dimensional mesh L1 � L2 � . . .� Ln has2mþ bðnÿ 3mÞ=2c EDSTs, where n � 2 and m is the largestinteger such that there are 3m Li having size at least three.

Proof. Without loss of generality, assume thatL1; L2; . . . ; L3m

have size at least three. By using Lemma 7 and Theorem 1,L1 � L2 � . . .� L3m has 2m EDSTs. If ðnÿ 3mÞ ¼ 1,L3mþ1 � L3mþ2 � . . .� Ln has one EDST, otherwise it hasbðnÿ 3mÞ=2c EDSTs by Theorem 6. In either case, weconclude that L1 � L2 � . . .� Ln has 2mþ bðnÿ 3mÞ=2cEDSTs by using Theorems 1 and 2. tuAn n-dimensional mesh-connected k-ary hypercube [3],

k � 3, is a special case of an n-dimensional mesh [3], inwhich the n linear arrays are all of the same size k. In thiscase, the expression 2mþ bðnÿ 3mÞ=2c in Theorem 7 can besimplified to b2n=3c. We have the following corollary:

Corollary 4. An n-dimensional mesh-connected k-ary hypercubehas b2n=3c EDSTs, where n � 2. In case k ¼ 3, the number ofEDSTs is the maximum.

5.3 Generalized Hypercubes, Mesh ConnectedTrees, and Hyper Petersen Networks

Let Km be a clique of m vertices, m � 2. An n-dimensionalgeneralized hypercube [6], [12] is the product of n cliques.We have the following:

Theorem 8. An n-dimensional generalized hypercube Km1�

Km2� . . .�Kmn

hasPn

j¼1 mj=2� �

ÿ f=2d e EDSTs, where

n � 2 and f is the number of even-size cliques Kmj. The

number of EDSTs is the maximum.

Proof. For any positive integer i, K2i can be decomposedinto i Hamiltonian paths and K2iþ1 can be decomposedinto i Hamiltonian cycles [4], which means that K2i hasi EDSTs and no nontree edge, and K2iþ1 has i EDSTsand i nontree edges. According to Corollary 1, theproduct of two even-size cliques K2i �K2i0 has iþ i0 ÿ1 EDSTs and iþ i0 ÿ 1 nontree edges. Therefore, byusing Theorem 1 and Corollary 1, it is easy to establishthe theorem. tuAn n-dimensional mesh connected tree [8] is the product

of n complete binary trees of the same height h � 2. Wehave the following:

Theorem 9. An n-dimensional mesh connected tree has b2n=3cEDSTs, where n � 2. In case all dimensions are trees of height2, the number of EDSTs is the maximum.

Proof. By Lemma 6, every three-dimensional mesh connectedtree has two EDSTs and at least two nontree edges.Therefore, using Theorem 1 and Corollary 1, we easilyconclude that an n-dimensional mesh connected tree has2bn=3c þ bðnÿ 3bn=3cÞ=2c EDSTs. Since 2bn=3c þ bðnÿ3bn=3cÞ=2c can be simplified into b2n=3c, the theoremholds. tuAn n-dimensional hyper Petersen network HPn is the

product of the well-known Petersen graph and Qðnÿ3Þ [5],where n � 3 and Qðnÿ3Þ denotes an ðnÿ 3Þ-dimensional

KU ET AL.: CONSTRUCTING EDGE-DISJOINT SPANNING TREES IN PRODUCT NETWORKS 219

Fig. 9. Two EDSTs in a 3� 3� 3 mesh.

Page 8: Constructing edge-disjoint spanning trees in product networks

hypercube. The cases n ¼ 3 and 4 of hyper Petersennetworks are depicted in Fig. 10. Note that HP3 is just thePetersen graph.

Theorem 10. An n-dimensional hyper Petersen network hasbn=2c EDSTs, where n � 3. The number of the EDST is themaximum.

Proof. As shown in Fig. 11, HP4 has two EDSTs and twonontree edges. Thus, the theorem holds for n ¼ 3 andn ¼ 4. For n > 4, HPn is the product of HP4 and Qðnÿ4Þ. Ifðnÿ 4Þ ¼ 1, Qðnÿ4Þ has one EDST and no nontree edge,otherwise it has bðnÿ 4Þ=2cEDSTs and at least bðnÿ 4Þ=2cnontree edges by Theorem 5. In either case, we concludethat HP4 �Qðnÿ4Þ has 2þ bðnÿ 4Þ=2c ¼ bn=2c EDSTs byusing Theorems 1 and 2. tu

6 CONCLUDING REMARKS

To conclude this paper, in the following, we present some

directions for further study. In order to obtain n1 þ n2

EDSTs in G� F , our first construction requires t1 � n1 and

t2 � n2. One direction for further study is to find other

constraints on t1 and t2 for which G� F is still possible to

have n1 þ n2 EDSTs. In case no further information is given,

the numbers of EDSTs in an n-dimensional mesh and an

n-dimensional mesh connected tree in Theorems 6 and 9 are

the maximum. However, as shown in Theorem 7, more

EDSTs can be obtained in an n-dimensional mesh if it is

known that the mesh under consideration has several

dimensions with size at least three. To construct more

EDSTs in an n-dimensional mesh or an n-dimensional mesh

connected tree under further assumption on the size of each

dimension is also worthy of further study. As pointed out in

[14] and [21], in order to develop an efficient broadcasting

scheme in a store-and-forward model, EDSTs with smaller

depths are preferred. Another direction for further study is

to consider the problem of constructing EDSTs with smaller

depths in various networks.

220 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 14, NO. 3, MARCH 2003

Fig. 10. Hyper Petersen networks. (a) HP3 (Petersen graph). (b) HP4.

Fig. 11. Two EDSTs in HP4.

Page 9: Constructing edge-disjoint spanning trees in product networks

ACKNOWLEDGMENTS

The authors express their gratitude to the anonymous

referees for their valuable comments, which greatly

improved the presentation of this paper. This work was

supported by the National Science Council of the Republic

of China, under grant NSC-91-2213-E-007-045. A prelimin-

ary version of this paper appeared in the Proceedings of the

2001 International Conference on Parallel and Distributed

Processing Techniques and Applications.

REFERENCES

[1] F. Bao, Y. Igarashi, and S.R. Ohring, “Reliable Broadcasting inProduct Networks,” Discrete Applied Math., vol. 83, pp. 3-20, 1998.

[2] B. Barden, R. Libeskind-Hadas, J. Davis, and W. Williams, “OnEdge-Disjoint Spanning Trees in Hypercubes,” Information Proces-sing Letters, vol. 70, pp. 13-16, 1999.

[3] S. Bettayeb, “On the k-ary Hypercube,” Theoretical ComputerScience, vol. 140, no. 2, pp. 333-339, 1995.

[4] J.-C. Bermond, “Hamiltonian Decompositions of Graphs, DirectedGraphs and Hypergraphs,” Annals of Discrete Math., vol. 3, pp. 31-38, 1978.

[5] S.K. Das, S.R. Ohring, and A.K. Banerjee, “Embeddings IntoHyper Petersen Network: Yet Another Hypercube-Like Intercon-nection Topology,” VLSI Design, vol. 2, no. 4, pp. 335-351, 1995.

[6] K. Day and A.-E. Al-Ayyoub, “The Cross Product of Interconnec-tion Networks,” IEEE Trans. Parallel and Distributed Systems, vol. 8,no. 2, pp. 109-118, 1997.

[7] V.V. Dimakopoulos and N.J. Dimopolulos, “A Theory for TotalExchange in Multidimensional Interconnection Networks,” IEEETrans. Parallel and Distributed Systems, vol. 9, no.7, pp. 639-649,1998.

[8] K. Efe and A. Fernandez, “Computational Properties of MeshConnected Trees: Versatile Architecture for Parallel Computa-tion,” Proc. Int’l Conf. Parallel Processing, pp. 72-76, 1994.

[9] A. Fernandez and K. Efe, “Generalized Algorithm for ParallelSorting on Product Networks,” IEEE Trans. Parallel and DistributedSystems, vol. 8, no. 12, pp. 1211-1225, 1997.

[10] A. Fernandez and K. Efe, “Efficient VLSI Layouts for Homo-geneous Product Networks,” IEEE Trans. Computers, vol. 46, no. 10,pp. 1070-1082, 1997.

[11] P. Fragopoulou and S.G. Akl, “Edge-Disjoint Spanning Trees onthe Star Network with Applications to Fault Tolerance,” IEEETrans. Computers, vol. 45, no. 2, pp. 174-185, 1996.

[12] P. Fragopoulou, P.S.G. Akl, and H. Meijer, “Optimal Commu-nication Primitives on the Generalized Hypercube Network,”J. Parallel and Distributed Computing, vol. 32, no. 2, pp. 173-187,1996.

[13] F. Harary, “On the Group of the Composition of Two Graphs,”Duke Math. J., vol. 26, 1959.

[14] T. Hasunuma, “On Edge-Disjoint Spanning Trees With SmallDepths,” Information Processing Letters, vol. 75, pp. 71-74, 2000.

[15] A. Itai and M. Rodeh, “The Multi-Tree Approach to Reliability inDistributed Networks,” Information and Computation, vol. 79,pp. 43-59, 1988.

[16] S.L. Johnsson and C.T. Ho, “Optimum Broadcasting andPersonalized Communication in Hypercubes,” IEEE Trans.Computers, vol. 38, no. 9, pp. 1249-1268, 1989.

[17] R. Libeskind-Hadas, D. Mazzoni, and R. Rajagopalan, “Tree-BasedMulticasting in Wormhole-Routed Irregular Topologies,” Proc.Merged 12th Int’l Parallel Processing Symp. and the Ninth Symp.Parallel and Distributed Processing, pp. 244-249, Apr. 1998.

[18] G. Sabidussi, “The Composition of Graphs,” Duke Math. J., vol. 26,pp. 693-696, 1959.

[19] R. Stong, “Hamilton Decompositions of Cartesian Products ofGraphs,” Discrete Math., vol. 90, pp. 169-190, 1991.

[20] J. Roskind and R. Tarjan, “A Note on Finding Maximum-CostEdge-Disjoint Spanning Trees,” Math. Operations Research, vol. 10,no. 2, pp. 701-708, Nov. 1985.

[21] H. Wang and D. Blough, “Construction of Edge-Disjoint SpanningTrees in the Torus and Application to Multicast in Wormhole-Routed Networks,” Proc. Int’l Conf. Parallel and DistributedComputing Systems, 1999.

Shan-Chyun Ku received the BS and PhDdegrees, respectively, in computer science fromNational Tsing Hua University, Taiwan, in June1996 and July 2001. Currently, he is working forFaraday Corporation. His research interestsinclude real-time OS, design and analysis ofalgorithms, and parallel computation.

Biing-Feng Wang received the BS degree incomputer science from the National Chiao TungUniversity, Taiwan, in June 1988 and the PhDdegree in computer science from the NationalTaiwan University in June 1991. In August 1993,he joined the faculty of the National Tsing HuaUniversity, where he now is a professor in theDepartment of Computer Science. He receivedthe Academia Sinica’s Young Scholar PaperAward and the K.T. Li Young Researcher Award

in 1999, the ISI Citation Classic Award in 2001, and the National ScienceCouncil’s Outstanding Research Award in 2002. His current researchinterests include design and analysis of algorithms and parallelcomputation. He is a member of the IEEE Computer Society.

Ting-Kai Hung received the BS and MSdegrees in computer science from the NationalTsing Hua University, Taiwan, in June 1998 andJune 2000, respectively. Currently, he is workingfor the Computer and Communications Re-search Laboratories of the Industrial TechnologyResearch Institute. His research interests in-clude design and analysis of algorithms, graphtheory, and parallel processing.

. For more information on this or any other computing topic,please visit our Digital Library at http://computer.org/publications/dlib.

KU ET AL.: CONSTRUCTING EDGE-DISJOINT SPANNING TREES IN PRODUCT NETWORKS 221