• 沒有找到結果。

超立方體及局部扭轉超立方體之獨立擴張樹之建造

N/A
N/A
Protected

Academic year: 2021

Share "超立方體及局部扭轉超立方體之獨立擴張樹之建造"

Copied!
43
0
0

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

全文

(1)

國 立 交 通 大 學

應用數學系

碩 士 論 文

超立方體及局部扭轉超立方體之獨立擴張樹之建造

Constructing independent spanning trees for

hypercubes and locally twisted cubes

研 究 生:劉宜君

指導教授:陳秋媛 教授

(2)

致 謝

求學過程中,每進一個新的階段都會到不同縣市就讀,新竹市是我唯一例外的縣 市!倒也不是因為新竹市有多迷人,而是國立交通大學應用數學系真的是個相當棒的學 習環境。系上的教授個個學識淵博、關心學生,而且同學之間都會相互關心照應。兩年, 如白駒過隙般的短暫!還記得大家一起修課、一起在教室討論著作業該如何寫、問題該 如何解。當我們想破了一顆又一顆的腦袋後還是想不透時,大家就默默的跑去找教授討 論的情景。在這樣常常一起討論的日子裡,大家一個一個上台發表自己的想法與解法的 同時、累了休息打屁聊天的同時,一起唸書準備考試的同時,我感覺到了同學之間牢不 可破的情誼與學習的快樂。感謝組合組所有的同學讓我覺得修課是如此的開心、與同學 的聯繫是如此的緊密。還要感謝系上所有的教授細心的指導,尤其是傅恆霖教授總是能 簡單明瞭的傳授所有的知識!還有符麥克教授,我修課期間常常去研究室打擾到很晚, 但教授還是很開心且不厭其煩的講解與指導,真的非常的感恩。也有幾次不小心模仿了 教授被發現但卻笑笑的就過了,所以在此也要感謝教授的寬宏大量呢! 再來要感謝我的指導教授陳秋媛以及同門的學長、同學與學弟們。秋媛教授非常關 心我們的生活與態度,也很耐心的指導我們研究!以前學習課內知識對我來說就只是容 易與不容易的分別而已。然而在教授的指導之下學習與研究居然變的有趣,讓我願意主 動去想更多而不只是單純接收知識而已。有些原本對我來說不容易且也不喜歡的部份, 也讓我不害怕進而願意主動去學習,而不只是被動消極的認為自己的能力就只能如此。 以上的經驗與成長對我來說都是相當重要的!還要感謝國元學長不吝於討論與幫忙,看 到覺得不錯且適合我的論文還會印給我;感謝鈺傑學長常常跑來研究室關心我們的研 究,還會幫忙看或提供想法!感謝志文、子宏、信昌、松育、慧棻、士慶、思綸、思賢 與健峰,研究路上的討論與相伴。還有其他的研究生們,舜婷、帥氣簡科科文昱大哥、 小張、阿華田、娃娃音、光祥、哲皓、冠霖與廷彰等,平常都受到你們的照顧了。 還要感謝諮商中心的志工們!在學期間常會跑到中心的沙發打滾、哀嚎還有休息, 中心的大家總是能給予關心與支持,讓我又充滿了向前的力氣。尤其是怡文、小翊常陪 我聊天,還有丙丙跟我組成的研究生支持團體。你們是我在這段最忙亂、最低潮的時間 裡最重要的支柱,當然也還要感謝三不五時就會被我吵的輔國與敬達還有我那去當兵的 好姐妹昱丞,你們都是很重要的朋友。當然不能忘了常常會為大家帶來三餐的柏佑啦。 也要感謝一直都關心與掛念著我的國高中朋友們,謝死猪、玉米、小狐貍、俞秀、 秀貞、淑煖、靜蘭還有懷升;感謝大學好友中偶而想到會來找我的笨大樹還有會帶食物 給我的小賢。還有佔了很重~份量的、常常餵胖我,但少少帶我出去玩樂運動的小馬, 雖然當兵變笨後偶而會覺得有點煩,但平常都很照顧、關心與包容我。 最後要感謝我父母的支持讓我無後顧之憂的念書,也把我養的頭好壯壯使我擁有耐 操健壯的身心面對未來的路。還有常會稍來問候的姐姐、三不五時就很愛找我聊天的妹 妹還有悶騷愛裝酷的帥弟,你們是我最大的後盾。雖然當我們發現論文要改的東西實在 太多了卻不能改天,不過當要感謝的人太多了,總是可以謝天的吧!感謝上天賜給我這 麼多關心我的人還有這麼好的環境讓我成長學習。在此謹以寥寥數句表達感謝之意!

(3)

超立方體及局部扭轉超立方體之獨立擴張樹之建造

研究生:劉宜君

指導老師:陳秋媛 教授

國 立 交 通 大 學

應 用 數 學 系

摘 要

在網路中使用多棵獨立擴張樹對於資料廣播有相當多的好處,例如:可以提高容錯以及 頻寬等;因此,在各種的網路結構上,建造多棵獨立擴張樹,一直以來都被廣泛地研究。 Zehavi 和 Itai 在文獻[26]中,對於建造多棵獨立擴張樹提出了兩個猜測。「點猜測」闡述 的是:在一個點連通度為 n 的圖上,能以圖中任一點為樹根,產生 n 棵點獨立擴張樹; 「邊猜測」闡述的是:在一個邊連通度為 n 的圖上,能以圖中任一點為樹根,產生 n 棵 邊獨立擴張樹。在文獻[16] 中,Khuller 和 Schieber 證明了點猜測能涵蓋邊猜測。局部 扭轉超立方體是超立方體的變形。最近,Hsieh 和 Tu 在文獻[10]中,提出了一個能在 n 維局部扭轉超立方體上,建造以 0 為樹根的 n 棵邊獨立擴張樹的演算法。因為局部扭轉 超立方體不具點對稱性質,Hsieh 和 Tu 所提出的演算法無法解決局部扭轉超立方體的邊 猜測。在這篇論文中,我們提出了一個可以在局部扭轉超立方體上,以任一點為樹根, 建構 n 棵點獨立擴張樹的演算法;我們的演算法證明了局部扭轉超立方體符合點猜測, 當然,也證明了局部扭轉超立方體符合邊猜測。此外,我們的演算法也能在超立方體上 得到一樣的結果。 關鍵詞:資料廣播、演算法設計與分析、點獨立擴張樹、局部扭轉超立方體、超立方體、 平行演算法。 中 華 民 國 九 十 八 年 六 月

(4)

Constructing independent spanning trees for

hypercubes and locally twisted cubes

Student: Yi-Jiun Liu

Advisor: Chiuyuan Chen

Department of Applied Mathematics National Chiao Tung University

Hsinchu, Taiwan 30050

Abstract

The use of multiple independent spanning trees (ISTs) for data broadcasting in networks provides a number of advantages such as the increase of fault-tolerance and bandwidth. Thus the designs of multiple ISTs in several classes of networks have been widely investigated. In [27], Zehavi and Itai stated two versions of the

n independent spanning trees conjecture. The vertex (edge) conjecture is that any n-connected (n-edge-connected) graph has n vertex-ISTs (edge-ISTs) rooted at an

arbitrary vertex r. In [16], Khuller and Schieber proved that the vertex conjecture implies the edge conjecture. Recently, in [12], Hsieh and Tu proposed an algorithm to construct n edge-ISTs rooted at vertex 0 for an n-dimensional locally twisted cube

LT Qn, which is a variant of the hypercube. Since LT Qnis it not vertex-transitive,

Hsieh and Tu’s result does not solve the edge conjecture for the locally twisted cube. In the thesis, we confirm the vertex conjecture (and hence also the edge conjecture) for the locally twisted cube by proposing an algorithm to construct n vertex-ISTs rooted at any vertex for the LT Qn. We also confirm the vertex conjecture (and

hence also the edge conjecture) for the hypercube.

Keywords: Data broadcasting; Design and analysis of algorithms; Vertex-disjoint spanning trees; Locally twisted cubes; Hypercubes; Parallel algorithm.

(5)

Contents

Abstract (in Chinese) i Abstract (in English) ii

Contents iii

List of Figures iv List of tables iv

1 Introduction 1

2 Some preliminaries and our algorithm 4 3 Applying our algorithm to locally twisted cubes 12 3.1 Vertex 0 as the common root . . . 14 3.2 Vertex 1 as the common root . . . 20 4 Applying our algorithm to hypercubes 32 5 Concluding remarks 34

(6)

List of Figures

1 The n-dimensional general cube GQn. . . 5

2 (a) LT Q3. (b) A symmetric drawing of LT Q3. . . 6

3 LT Q4 and its F = {f3, f2, f1, f0}. The ordinary lines (depicted as color

blue), the most solid lines (depicted as color green), the second solid lines (depicted as color black), and the dashed lines (depicted as color red) are perfect matchings f3, f2, f1, and f0, respectively. . . 6

4 Two examples of Algorithm 1: constructing 4 ISTs T0, T1, T2 and T3 for

LT Q4. The edges depicted as color red are obtained from f0, color black

are from f1, color green are from f2, and color blue are from f3. (a) The

common root is 1. (b) The common root is 0. . . 9 5 An illustration for the proof of Lemma 12. . . 21

List of Tables

1 The connectivity, edge-connectivity and diameters of Qn and its variants. . 3

(7)

1

Introduction

This thesis considers the problem of constructing n independent spanning trees rooted at an arbitrary vertex of an n-dimensional locally twisted cube or hypercube. Graph terminology and notation used in this thesis are standard; see [4] and [23] except as indicated.

All graphs in this thesis are simple undirected graphs. Let G be a graph with vertex set V (G) and the edge set E(G). Let x, y ∈ V (G). A path from x to y is denoted as

x, y-path. Two x, y-paths P and Q are internally edge-disjoint if E(P ) ∩ E(Q) = ∅. Two x, y-paths P and Q are internally vertex-disjoint if they are internally edge-disjoint and V (P ) ∩ V (Q) = {x, y}. A subgraph T of G is a spanning tree of G if T is a tree and

V (T ) = V (G). Two spanning trees T and T0 of G are vertex-independent (resp.,

edge-independent) if T and T0 are rooted at the same vertex, say r, and for each v ∈ V (G), the

r, v-path in T and the r, v-path in T0 are internally vertex-disjoint (resp., internally

edge-disjoint). A set of spanning trees of G are vertex-independent (resp., edge-independent) if they are pairwise vertex-independent (resp., pairwise edge-independent).

Recently, the problems of constructing multiple vertex-independent spanning trees (vertex-ISTs) and constructing multiple edge-independent spanning trees (edge-ISTs) for a given graph have received much attention. In [27], Zehavi and Itai stated two versions of the n independent spanning trees conjecture:

(Vertex Conjecture) Any n-connected graph has n vertex-ISTs rooted at an arbitrary vertex r.

(Edge Conjecture) Any n-edge-connected graph has n edge-ISTs rooted at an arbitrary vertex r.

Zehavi and Itai [27] also raised the question: It would be interesting to show that either the vertex conjecture implies the edge conjecture, or vice versa. Later, Khuller and Schieber [16] successfully proved that the vertex conjecture implies the edge conjecture, i.e., if any n-connected graph has n vertex-ISTs, then any n-edge-connected graph has n

(8)

edge-ISTs. Khuller and Schieber’s proof also works for the directed case. For the directed case, Edmonds [7] solved the edge conjecture. Khuller and Schieber [16] pointed out that the vertex conjecture for directed graphs is the strongest conjecture since it implies all the other conjectures.

The vertex and the edge conjectures have been confirmed only for n ≤ 4. In [15], Itai and Rodeh gave a linear-time algorithm for constructing two edge-ISTs in a 2-edge-connected graph; they also solved the vertex conjecture for n = 2. In [27], Zehavi and Itai solved the vertex conjecture for n = 3, but they did not proposed an algorithm for constructing three vertex-ISTs. In [6], Cheriyan and Maheshwari proposed an O(|V (G)|2

)-time algorithm for constructing three vertex-ISTs in a 3-connected graph. In [5], Curran et al. proposed an O(|V (G)|3)-time algorithm for constructing four vertex-ISTs in a

4-connected graph. When n ≥ 5, both the vertex and the edge conjectures are still open. It has been proven that the vertex (or the edge) conjecture holds for several restricted classes of graphs or digraphs, such as planar graphs [9, 10, 17, 18], maximal planar graphs [19], product graphs [20], chordal rings [14, 24], de Bruijn and Kautz digraphs [8, 11], and hypercubes [22, 26].

The design of vertex- and edge-ISTs has applications to reliable communication pro-tocols. For example, a rooted spanning tree in the underlying graph of a network can be viewed as a broadcasting scheme for data communication and fault-tolerance can be achieved by sending n copies of the message along the n independent spanning trees rooted at the source node [1]. For other applications, see [3] for the multi-node broad-casting problem, [21] for one-to-all broadbroad-casting, and [2] for n-channel graphs, reliable broadcasting, and secure message distribution.

This thesis considers the problem of constructing n vertex-ISTs rooted at an arbitrary vertex of an n-dimensional locally twisted cube LT Qn or an n-dimensional hypercube

Qn (these cubes will be defined later). Since we focus on vertex-ISTs, in the remaining

discussion, we will simply use ISTs to denote vertex-ISTs unless otherwise specified. Note that the development of algorithms for constructing ISTs tends toward pursuing two

(9)

research goals: one is to design efficient construction schemes (for example, [14, 17, 19, 24] propose linear-time algorithms) and the other is to reduce the heights of ISTs (for example, [11, 22, 24] propose the idea of height improvements). Let G be an n-connected graph, let T be a spanning tree of G rooted at vertex r, and let d(T ; r, v) denote the depth of vertex v in T . The average path length of a set S = {T0, T1, . . . , Tn−1} of n ISTs rooted

at vertex r in G is defined to be Pn−1

i=0

P

v∈V (G)\{r}d(Ti; r, v)/n.

A set S of n ISTs rooted at vertex r in G (if this set exists) is called optimal if the average path length of S is the minimum among all possible sets of n ISTs rooted at r in G.

The hypercube is one of the most popular interconnection networks due to its simple structure and ease of implementation. However, it has been shown that the hypercube does not achieve the smallest possible diameter for its resources. Therefore, many variants of the hypercube have been proposed. The most well-known variants are twisted cubes (TQ), crossed cubes (CQ), and M¨obius cubes (MQ), and locally twisted cubes (LTQ). In the following table, we list the connectivity, edge-connectivity and diameters of Qn and

its variants. It is well known that a hypercube Qn is n-connected. Since Qn is itself a

Table 1: The connectivity, edge-connectivity and diameters of Qn and its variants.

G\properties κ(G) λ(G) diameter Qn n n n T Qn n n d(n + 1)/2e CQn n n d(n + 1)/2e in 0-MQn, d(n + 2)/2e for n ≥ 4 MQn n n in 1-MQn, d(n + 1)/2e for n ≥ 1 2 if n = 3 LT Qn n n 3 if n = 4 d(n + 3)/2e if n ≥ 5

product graph, the algorithm proposed by Obokata et al. [20] can be used to construct

n ISTs for Qn. As to the construction of the height-reduced ISTs on Qn, Tang et al. [22]

modified the algorithm in [20] and proposed an O(n2n)-time algorithm for constructing

(10)

the algorithms in [20] and [22] are designed by a recursive fashion and such a construction forbids the possibility that the algorithm could be parallelized; Yang et al. therefore proposed a parallel construction for an optimal set of n ISTs for Qn.

Although Qn is a product graph, it is not known whether its variants are also product

graphs. For example, it is not known whether the locally twisted cube LT Qnis a product graph. The locally twisted cube was proposed by Yang et al. in [25]; the motivation of proposing such a variant is that a better hypercube variant should be conceptually closer to hypercube than other existing variants. In locally twisted cubes, the labels of any two adjacent vertices differ in at most two successive bits. In [12], Hsieh and Tu proposed an algorithm to construct n edge-ISTs for LT Qn. Do notice that Hsieh and Tu did not solve the edge conjecture for the locally twisted cube since their algorithm uses vertex 0 as the common root of edge-ISTs and a locally twisted cube is not vertex-transitive. For example, in LT Q5, vertex 1 can reach any vertex within 3 steps but vertex 0 has to take 4 steps to reach vertex 30.

The sequential algorithm in [22] and the parallel algorithm in [26] obtain an optimal set of n ISTs. However, these algorithms work only for hypercubes. In this thesis, we outline an approach to construct n vertex-ISTs rooted at an arbitrary vertex of an n-dimensional locally twisted cube or hypercube. Thus we confirm both the vertex and the edge conjectures for the locally twisted cube and hypercube.

This thesis is organized as follows. In Section 2, we give some definitions and notations. In Section 3, we outline an approach to construct n vertex-ISTs rooted at an arbitrary vertex of an n-dimensional general cube. In Sections 4 and 5, we prove that our approach constructs n ISTs for LT Qnand Qn, respectively. The final section concludes this thesis.

2

Some preliminaries and our algorithm

In the remaining discussion, ⊕ denotes the bitwise XOR operation. As a reference, 0 ⊕ 0 = 0, 0 ⊕ 1 = 1, 1 ⊕ 0 = 1, 1 ⊕ 1 = 0.

(11)

If u = (un−1 un−2 · · · u0)2 and v = (vn−1 vn−2 · · · v0)2, then we define

u ⊕ v = (un−1⊕ vn−1 un−2⊕ vn−2 · · · u0⊕ v0)2.

Also, u ⊕ v ⊕ w = (u ⊕ v) ⊕ w.

The n-dimensional hypercube Qn is a graph with 2n vertices and n · 2n−1 edges such

that its vertices are n-tuples with entries in {0, 1} and its edges are the pairs of n-tuples that differ in exactly one position. Thus Q1 is the complete graph with two vertices 0

and 1, and Qn (n ≥ 2) is built from two copies of Qn−1 as follows: Let k ∈ {0, 1} and let

kQn−1 denote the graph obtained by prefixing the label of each vertex of one copy of Qn−1

with k; connect each vertex (0xn−2. . . x1x0)2 of 0Qn−1 with the vertex (1xn−2. . . x1x0)2

of 1Qn−1 by an edge.

We now define a generalization of Qn. The n-dimensional general cube GQn is defined

recursively as follows (see Figure 1). GQ1 is Q1, and GQn (n ≥ 2) is built from two

GQn−1’s (not necessarily identical) as follows: Let k ∈ {0, 1} and let kGQn−1 denote the

graph obtained by prefixing the label of each vertex of one of the two GQn−1’s with k; add

a perfect matching between 0GQn−1 and 1GQn−1, i.e., each vertex in 0GQn−1 is adjacent

to exactly one vertex in 1GQn−1.

… ... 1 0 n GQ 1GQn1 a perfect matching n GQ

Figure 1: The n-dimensional general cube GQn.

The n-dimensional locally twisted cube LT Qn is defined recursively as follow. LT Q1

is Q1, and LT Q2 is the graph consisting of four vertices labeled with 00, 01, 10, and

11, respectively, and connected by the four edges (00, 01) (00, 10), (01, 11), and (10, 11). LT Qn (n ≥ 3) is built from two identical LT Qn−1’s as follows: connect each vertex

(0xn−2xn−3· · · x0)2 of 0LT Qn−1 with the vertex (1(xn−2⊕ x0)xn−3· · · x0)2 of 1LT Qn−1 by

(12)

000 010 001 100 011 110 111 101 (b) 010 000 001 011 110 100 111 101 (a)

Figure 2: (a) LT Q3. (b) A symmetric drawing of LT Q3.

Figure 3: LT Q4 and its F = {f3, f2, f1, f0}. The ordinary lines (depicted as color blue),

the most solid lines (depicted as color green), the second solid lines (depicted as color black), and the dashed lines (depicted as color red) are perfect matchings f3, f2, f1, and

f0, respectively.

We assume conventionality of the vertex prefixing method kGQn−1 which will be

used repeatedly in the definitions of specific hypercube variants late in this thesis unless otherwise specified. It have been shown that crossed cubes, M¨obius cubes, and locally twisted cubes are the examples of GQn; see [13]. Note that the two GQn−1’s in GQn are

not necessarily identical. For instance, for crossed cubes and locally twisted cubes, the two GQn−1’s are identical; but for M¨obius cubes, they are not.

Recall that GQn (n ≥ 2) is built recursively by adding a perfect matching between

0GQn−1 and 1GQn−1; denote this perfect matching by fn−1. Then 0GQn−1 and 1GQn−1

are built recursively by adding a perfect matching between 00GQn−2 ∪ 10GQn−2 and

(13)

of graphs. Specifically, G ∪ H is the graph with vertex set V (G) ∪ V (H) and edge set

E(G) ∪ E(H). In general, let us define Li = {b

1b2· · · bi|bj ∈ {0, 1} for j = 1, 2, . . . , i} and

L0 = ² (the empty string). Let f

n−idenote the perfect matching between

S

x∈Li−1x0GQn−i

and Sx∈Li−1x1GQn−i and let

F = {fn−1, fn−2, . . . , f0}

be the set of perfect matchings used to build GQn. See Figure 3 for an illustration of F.

The following lemma is obvious and its proof is omitted.

Lemma 1. Let F = {fn−1, fn−2, . . . , f0} be the set of perfect matchings used to build

GQn. Then for every 0 ≤ i < n and every v = (vn−1vn−2· · · v0)2 ∈ V (GQn), fi will not

affect bits vn−1, vn−2, . . . , vi+1 of v.

Before going further, we give the F of the hypercube and the locally twisted cube. For convenience, videnotes the complement of vi. First consider Qn. Let v = (vn−1vn−2· · · v0)2

V (Qn). Then F = {fn−1, fn−2, . . . , f0} in which fi is defined by

fi(v) = (vn−1vn−2· · · vi+1vivi−1· · · v0)2. (1)

Now consider the locally twisted cube. The adjacency relation of LT Qn has been

worked out by [13]; see the following.

Lemma 2. [13] For every v = (vn−1vn−2. . . v0)2 ∈ V (LT Qn), the n vertices y0, y1, . . . , yn−1

adjacent to v are: y0 = (vn−1vn−2vn−3· · · v2v1v0)2, y1 = (vn−1vn−2vn−3· · · v2v1v0)2, y2 = (vn−1vn−2vn−3· · · v2 (v1⊕ v0) v0)2, ... yn−2 = (vn−1vn−2 (vn−3⊕ v0)vn−4 · · · v1v0)2, yn−1 = (vn−1 (vn−2⊕ v0) vn−3· · · v2v1v0)2. Let v = (vn−1vn−2· · · v0)2 ∈ V (LT Qn). By Lemma 2, F = {fn−1, fn−2, . . . , f0} of LT Qn is defined by fi(v) =    (vn−1vn−2· · · v1v0)2 if i = 0, (vn−1vn−2· · · v2v1v0)2 if i = 1,

(vn−1vn−2· · · vi+1vi (vi−1⊕ v0) vi−2vi−3· · · v0)2 if 2 ≤ i ≤ n − 1.

(14)

In the remaining discussion, (u, v) denotes the edge between u and v; T0, T1, . . . , Tn−1

denote subsets of edges of the given GQn; and r denotes the root of n IST. The vertex

fi(r) will be the son of r in Ti. Moreover, v ∈ V (Ti) means that v is an endpoint of an

edge in Ti, and v ∈ V (Ti) \ {r, fi(r)} means that v ∈ V (Ti) and v is neither the root nor

the son of the root. Now we are ready to propose an algorithm for constructing n ISTs of a given GQn.

Algorithm 1 Construct n ISTs for GQn.

Input: F = {fn−1, fn−2, . . . , f0} used to build the given GQn and a vertex r of the GQn.

Output: n ISTs T0, T1, . . . , Tn−1 rooted at r.

1: for each processor i (0 ≤ i ≤ n) do in parallel

2: son ← fi(r);

3: S ← {son};

4: for m = i + 1 to i + n do

5: S0 ← ∅;

6: for each vertex v ∈ S do

7: u ← fm mod n(v); 8: Ti ← Ti∪ {(v, u)}; 9: S0 = S0∪ {u}; 10: endfor 11: S ← S ∪ S0; 12: endfor 13: end for

Call the for-loop in lines 4 to 12 in the algorithm the outer for-loop for convenience. Also, call the for-loop in lines 6 to 10 in the algorithm the inner for-loop for convenience. Two examples of Algorithm 1 are given in Figure 4. If we replace do in parallel with do in sequential, then Algorithm 1 becomes a sequential algorithm. If a top-down fashion is insisted on, then Algorithm 1 can be modified to Algorithm 2 by adding lines 3, 14∼16 and replacing i + n with i + n − 1 in Algorithm 1. Algorithm 2 builds n ISTs of a GQn

in a top-down fashion; the algorithms in [12, 26] construct spanning trees in a bottom-up fashion. A top-down fashion is preferred since these n ISTs are used for broadcasting messages from the top (the root) of the trees.

We have a lemma.

Lemma 3. For each i ∈ {0, 1, . . . , n−1}, Ti constructed by Algorithm 1 has the properties

(15)

13 12 7 11 5 3 2 0 0 6 4 2 15 9 3 5 1 0 11 7 6 14 1 5 12 13 9 11 10 13 12 15 14 8 6 7 4 5 9 11 10 8 4 5 2 3 9 15 14 8 8 14 12 10 2 4 6 0 0 6 7 4 5 2 3 1 9 11 1 0 13 12 15 14 8 1 8 14 1 5 12 1 3 10 1 1 9 3 2 5 4 7 6 0 8 1 4 15 12 13 10 11 9 1 3 5 4 7 6 0 2 1 4 8 15 1 2 13 10 11 9 1 3 2 5 4 7 6 0 1 m i 2 m i 3 m i 4 m i 0 T T1 T2 T3 3 7 4 5 6 1 2 0 14 12 13 8 9 10 11 15 3 1 5 4 7 6 2 0 14 1 2 13 8 9 10 11 1 5 1 5 4 7 6 3 2 14 12 13 8 9 10 1 1 15 0 1 3 9 8 11 10 15 14 12 0 2 3 6 7 4 5 1 0 T T1 T2 T3 (b) (a)

Figure 4: Two examples of Algorithm 1: constructing 4 ISTs T0, T1, T2 and T3 for LT Q4.

The edges depicted as color red are obtained from f0, color black are from f1, color green

are from f2, and color blue are from f3. (a) The common root is 1. (b) The common root

is 0.

(i) (r, fi(r)) ∈ Ti;

(ii) for each v ∈ V (G) \ {r, fi(r)}, if v ∈ V (Ti), then the path from fi(r) to v in Ti uses

each perfect matching in F at most once.

Proof. Property (i) follows from line 3. Property (ii) follows from the fact that fm mod n

used in the for-loop between lines 7 and 11 are distinct.

(16)

Algorithm 2

1: for each processor i (0 ≤ i ≤ n) do in parallel

2: son ← fi(r);

3: Ti ← {(r, son)};

4: S ← {son};

5: for m = i + 1 to i + n − 1 do

6: S0 ← ∅;

7: for each vertex v ∈ S do

8: u ← fm mod n(v); 9: Ti ← Ti∪ {(v, u)}; 10: S0 = S0∪ {u}; 11: endfor 12: S ← S ∪ S0; 13: endfor

14: for each vertex v ∈ S \ {son} do

15: Ti ← Ti∪ {(v, fi(v))};

16: endfor 17: end for

n ISTs rooted at r for LT Qn and Qn, respectively. Do notice that for Qn and LT Qn,

f−1

n−1 = fn−1, fn−2−1 = fn−2, . . . , f0−1 = f0.

Thus in the remaining discussion, we will simply write fi instead of fi−1. The following

definitions are crucial for the subsequent proofs.

Definition 4. Consider arranging the elements 0, 1, . . . , n − 1 on a circle in a clockwise

manner. For all 0 ≤ i ≤ n − 1, define Oi to be an ordered set

Oi = {i, i − 1, i − 2, . . . , i − n + 1}.

Here i − k means (i − k) mod n, where k = 1, 2, . . . , n − 1.

Notice that Oi can be viewed as the ordered set formed by taking the elements out

from the circle in a counterclockwise manner by letting i to be the first element. For example, if n = 6, then O0 = {0, 5, 4, 3, 2, 1}, O1 = {1, 0, 5, 4, 3, 2}, O2 = {2, 1, 0, 5, 4, 3},

O3 = {3, 2, 1, 0, 5, 4}, O4 = {4, 3, 2, 1, 0, 5}, and O5 = {5, 4, 3, 2, 1, 0}.

Definition 5. For all 0 ≤ i ≤ n − 1 and v ∈ V (Ti), define Ci(v, fi(r)) as follows.

(17)

(an−1an−2. . . a0)2. Suppose v and fi(r) has a total of m different bits. Define Ci(v, fi(r))

to be an ordered set containing all the indices of these m different bits, listed according to the order given in Oi.

We give some examples for Ci(v, fi(r)). Note that when r = 0, the son of the root

in Ti is 2i, i.e., fi(r) = 2i. Suppose n = 6 and v = (101011)2. Then C0(v, 20) =

{5, 3, 1}, C1(v, 21) = {0, 5, 3}, C2(v, 22) = {2, 1, 0, 5, 3}, C3(v, 23) = {1, 0, 5}, C4(v, 24) =

{4, 3, 1, 0, 5}, and C5(v, 25) = {3, 1, 0}.

Definition 6. Suppose Ci(v, fi(r)) = {cm−1, cm−2, . . . , c0}, |Ci(v, fi(r))| ≥ 2 and j 6∈

Ci(v, fi(r)). We say that j is between cu and cu−1 with respect to Oi if when 0, 1, . . . , n − 1

are arranged on a circle, the location of j on the circle is between cu and cu−1. Suppose j

is between cu and cu−1 with respect to Oi. Then when j is put into Ci(v, fi(r)), j will be

put into Ci(v, fi(r)) according to its original position in Oi.

Continue the above example. Then 4 6∈ C1(v, 21) and 4 is between cu = 5 and cu−1 = 3

with respect to O1; 2 6∈ C1(v, 21) and 2 is between 3 and 0 with respect to O1; 4, 3 and

2 are not in C3(v, 23) and all of them are between 5 and 1 with respect to O3. Since

O3 = {3, 2, 1, 0, 5, 4}, if we put 4 into C3(v, 23), then we obtain {1, 0, 5, 4}; if we put 2 into

C3(v, 23), then we obtain {2, 1, 0, 5}.

Definition 7. For all 0 ≤ i ≤ n − 1 and v ∈ V (Ti), define Pi(v, fi(r)) to be an ordered set

of all the indices of perfecting matchings used in the v, fi(r)-path in Ti, listed according

to the order from v to fi(r).

Take LT Q4 and Figures 4 for an example. Then O0 = {0, 3, 2, 1}, O1 = {1, 0, 3, 2},

O2 = {2, 1, 0, 3}, O3 = {3, 2, 1, 0}. Consider r = 1 and T1. Then the son of the root is

f1(1) = 3 = (0011)2. Now suppose v = 6 = (0110)2. Then v ∈ T1, C1(v, f1(1)) = {0, 2}

and P1(v, f1(1)) = {1, 0, 2}. Moreover, the path from v to f1(1) is

(0110)2 f1−1=f1 → (0100)2 f0−1=f0 → (0101)2 f2−1=f2 → (0011)2.

(18)

3

Applying our algorithm to locally twisted cubes

The purpose of this section is to prove that T0, T1, . . . , Tn−1 generated by Algorithm 1

are n ISTs for the locally twisted cube. It is not difficult to see that LT Qn is

vertex-transitive when n ≤ 2. LT Q3 is vertex-transitive can be observed from Figure 3. We now

prove that LT Qn is not vertex-transitive for n ≥ 4. For n = 4, let the Nk(r) be the set

of vertices that can be reached by r in at most k steps. Consider the number of vertices in N2(r) that reaches only one vertex in N1(r) and only one vertex in N3(r). For r = 0,

there is only one such vertex; however, for r = 1, there are two such vertices. Thus LT Q4

is not vertex-transitive. For n ≥ 5, LT Qn is not vertex-transitive since the BFS tree with

root 0 is of height dn+3

2 e while the BFS tree with root 1 is of height d

n+1

2 e.

We say that two vertices u, v ∈ V (G) are symmetric if there is a bijection h : V (G) →

V (G) such that h(u) = v and (x, y) ∈ E(G) if and only if (h(x), h(y)) ∈ E(G). A

graph G satisfies the odd-even-transitive property if each pair of odd-numbered vertices are symmetric and each pair of even-numbered vertices are also symmetric.

We now prove that the locally twisted cube satisfies the odd-even-transitive property. Based on this property, we assume without loss of generality that r = 0 or r = 1 as the common root. Then, we will prove that T0, T1, . . . , Tn−1 generated by Algorithm 1 are n

ISTs for the locally twisted cube.

Theorem 8. The locally twisted cube LT Qn satisfies the odd-even-transitive property.

Proof. It suffices to prove that (i) if v is an odd-numbered vertex and v 6= 1, then v and

1 are symmetric, and (ii) if v is an even-numbered vertex and v 6= 0, then v and 0 are symmetric. Let F = {fn−1, fn−2, . . . , f0} be defined by equation (2). Then each edge in

LT Qn is of the form (u, fi(u)) for some fi ∈ F.

First consider (i). Let v = (vn−1vn−2· · · v0)2 ∈ V (LT Qn) be an odd-numbered vertex

and v 6= 1. Define a function h1 as follows:

h1(u) = v ⊕ u ⊕ 1 for all u = (un−1un−2· · · u0)2 ∈ V (LT Qn).

(19)

E(LT Qn). Then

h1(u) = (vn−1⊕un−1 vn−2⊕un−2 · · · v1⊕u1 u0)2

and

h1(fi(u)) =

½

(vn−1⊕un−1 vn−2⊕un−2 · · · v1⊕u1 1⊕u0)2 if i = 0

(vn−1⊕un−1 vn−2⊕un−2 · · · v2⊕u2 v1⊕u1 1⊕u0)2 if i = 1

and if 2 ≤ i ≤ n − 1, then

h1(fi(u)) = (vn−1⊕un−1vn−2⊕un−2· · · vi+1⊕ui+1vi⊕ui (vi−1⊕ui−1⊕u0) vi−2⊕ui−2· · · v1⊕u1 u0)2.

Note that vi⊕ ui = vi⊕ ui no matter ui = v1 or ui 6= vi. Therefore

h1(fi(u)) = fi(h1(u))

and hence (h1(u), h1(fi(u))) ∈ E(LT Qn).

Now consider (ii). Let v = (vn−1vn−2· · · v0)2 ∈ V (LT Qn) be an even-numbered vertex

and v 6= 0. Define a function h0 as follows:

h0(u) = v ⊕ u for all u = (un−1un−2· · · u0)2 ∈ V (LT Qn).

It is not difficult to see that h0 is a bijection from V (LT Qn) to V (LT Qn). Let (u, fi(u)) ∈

E(LT Qn). Then

h0(u) = (vn−1⊕un−1 vn−2⊕un−2 · · · v1⊕u1 u0)2

and

h0(fi(u)) =

½

(vn−1⊕un−1 vn−2⊕un−2 · · · v1⊕u1 u0)2 if i = 0

(vn−1⊕un−1 vn−2⊕un−2 · · · v2⊕u2 v1⊕u1 u0)2 if i = 1

and if 2 ≤ i ≤ n − 1, then

(20)

Again, vi⊕ ui = vi ⊕ ui no matter ui = v1 or ui 6= vi. Therefore

h0(fi(u)) = fi(h0(u))

and hence (h0(u), h0(fi(u))) ∈ E(LT Qn).

By Theorem 8, we assume without loss of generality that r = 0 or r = 1 as the common root. In subsections 3.1 and 3.2, we will prove that T0, T1, . . . , Tn−1 generated

by Algorithm 1 are n ISTs rooted at r = 0 and r = 1 for LT Qn, respectively. For

convenience, in the remaining discussion, define I(a, b), where a ≥ b, to be an ordered sequence such that

I(a, b) =

½

a, a − 1, . . . , b + 1 if a > b, a if a = b.

3.1

Vertex 0 as the common root

Throughout this subsection, let T0, T1, . . . , Tn−1 be the output of Algorithm 1 when

the input is the F of LT Qn and the root is r = 0. The purpose of this subsection is to

prove that T0, T1, . . . , Tn−1 are n ISTs rooted at r = 0 for LT Qn.

Lemma 9. T0, T1, . . . , Tn−1 are n spanning trees rooted at r for LT Qn when r = 0.

Proof. It suffices to prove that each Ti (0 ≤ i ≤ n − 1) is a spanning tree rooted at r = 0.

Consider the set S used in line 6 in the algorithm. From the inner for-loop, we know that Algorithm 1 uses vertices in S to generate edges in Ti and each v ∈ S generates exactly

one edge (u, v) ∈ Ti, where u = fm mod n(v). We now claim that:

Claim: At the start of the k-th iteration of the outer for-loop, |S| = 2k−1.

Proof of the claim. This claim is true when k = 1 since line 3 sets S = {son} and hence |S| = 1 = 20. We now prove that if this claim is true before the k-th iteration of the outer

for-loop, then it remains true before the next iteration. There are two cases.

Case 1: k ∈ {1, 2, . . . , n − 1}. Set t = (i + k) mod n for easy writing. The k-th outer

(21)

v ∈ S. Notice that the t-th bit of each vertex v ∈ S is 0 and the t-th bit of each vertex

in S0 is 1. Therefore S ∩ S0 = ∅ before the execution of line 11. Thus at the start of the

next iteration of the outer for-loop, |S| = 2k.

Case 2: k = n. The n-th outer for-loop uses the perfect matching fi to generate

exactly one edge (u, v) ∈ Ti for each each v ∈ S. Notice that the i-th bit of each vertex

v ∈ S is 1 and the i-th bit of each vertex in S0 is 0. Therefore S ∩ S0 = ∅ before the

execution of line 11. Thus at the start of the next iteration of the outer for-loop, |S| = 2k.

From the above, when the outer for-loop terminates, k = n + 1 and |S| = 2n; therefore

Ti is a spanning subgraph. Also, at the end of the k-th iteration of the outer for-loop,

|S| = 2k−1 new edges are generated; thus T

i has a total of 20+ 21+ · · · + 2n−1 = 2n− 1

edges. Ti is connected since each newly generated edge in Algorithm 1 is incident to an

edge that is already generated. Thus Ti is a spanning tree rooted at r = 0.

When r = 0, the son of the root in Ti is fi(0) and

fi(0) = 2i.

For any v ∈ V (Ti) \ {0, fi(0)}, the v, fi(0)-path in Ti can be determined by Pi(v, fi(0)),

which can be determined by the ordered set

Ci(v, fi(0)) = {cm−1, cm−2, . . . , c0}

as follows. Suppose v = (vn−1vn−2· · · v0)2. When v0 = 0, since r = 0, we have

Pi(v, fi(0)) =      Ci(v, fi(0)) if i = 0,

{cm−1 = 0, I(cm−2, cm−3), . . . , I(c3, c2), I(c1, c0)} if i 6= 0 and m − 1 is even,

{cm−1 = 0, I(cm−2, cm−3), . . . , I(c2, c1), I(c0, 0)} if i 6= 0 and m − 1 is odd.

(3)

When v0 = 1, since r = 0, the set Ci(v, fi(0)) must contain the value 0 if i 6= 0; so we

assume ce = 0 if i 6= 0. Thus when r = 0 and v0 = 1,

Pi(v,fi(0)) =         

{I(cm−1,cm−2), I(cm−3,cm−4), . . . , I(c1, c0)} if i = 0, m is even,

{I(cm−1,cm−2), I(cm−3,cm−4), . . . , I(c2, c1), I(c0, 0)} if i = 0, m is odd,

{I(cm−1,cm−2),I(cm−3,cm−4), . . . ,I(ce+2, ce+1),ce,ce−1,. . .,c0} if j 6= 0, m−e is odd, {I(cm−1,cm−2), I(cm−3,cm−4), . . . ,I(ce+1, 0), ce, ce−1, . . . , c0} if i 6= 0, m−e is even.

(22)

In the following, we give some examples for Pi(v, fi(0)). Consider LT Q4. Then f0(0) =

20= 1, f

1(0) = 21= 2 and f2(0) = 22= 4. Thus the son of the root in T0 is 1, in T1 is 2 and

in T2 is 4. For v = (1010)2 ∈ T0, we have C0(v, 1) = {0, 3, 1} and P0(v, 1) = {0, I(3, 1)} =

{0, 3, 2}; so the v, 1-path in T0 is (1010)2 f0−1=f0 → (1011)2 f3−1=f3 → (0111)2 f2−1=f2 → (0001)2.

For v = (1100)2 ∈ T1, we have C1(v, 2) = {1, 3, 2} and P1(v, 2) = {1, 3, 2}; so the v, 2-path

in T1 is (1100)2 f−1 1 =f1 → (1110)2 f−1 3 =f3 → (0110)2 f−1 2 =f2 → (0010)2.

For v = (0001)2 ∈ T2, we have C2(v, 4) = {2, 0} and P2(v, 4) = {I(2, 0), 0} = {2, 1, 0}; so

the v, 4-path in T2 is (0001)2 f2−1=f2 → (0111)2 f1−1=f1 → (0101)2 f0−1=f0 → (0100)2.

Lemma 10. T0, T1, . . . , Tn−1 are n vertex-independent trees rooted at r for LT Qn when

r = 0.

Proof. It suffices to prove that any two Ti and Tj with 0 ≤ i < j ≤ n − 1 are

vertex-independent, i.e., for each v ∈ V (LT Qn), the r, v-path in Ti and the r, v-path in Tj

are internally vertex-disjoint. The son of the root in Ti is fi(r) and in Tj is fj(r). Let

v = (vn−1vn−2· · · v0)2 be an arbitrary vertex in LT Qn. In the following, we assume

v 6∈ {r, fi(r), fj(r)} since if v ∈ {r, fi(r), fj(r)}, then the r, v-path in Ti and the r, v-path

in Tj are clearly internally vertex-disjoint.

Since fi(r) 6= fj(r), the r, v-path in Ti and the r, v-path in Tj are internally

vertex-disjoint if and only if the v, fi(r)-path in Ti and the v, fj(r)-path in Tj are internally

vertex-disjoint. In the following, we will only prove that the v, fi(r)-path in Ti and the

v, fj(r)-path in Tj are internally vertex-disjoint. Let V1 be an ordered set that contains

the internal vertices of the v, fi(r)-path in Ti listed from v to fi(r). Let V2 be an ordered

set that contains the internal vertices of the v, fj(r)-path in Tj listed from v to fj(r). We

(23)

Claim: V1∩ V2 = ∅.

Proof of the claim. Suppose this claim is not true and there exists a vertex a ∈ V1 ∩ V2.

Recall that fi(0) = 2i and fj(0) = 2j. Let

Ci(v, 2i) = {cm−1, cm−2, . . . , c0}. (5)

There are four cases.

Case 1: vi = 1 and vj = 1. Then there must exist a u such that cu = j. Thus

Cj(v, 2j) = {cu−1, cu−2, . . . , c0, i, cm−1, cm−2, . . . , cu+1}. (6)

By (3) and (4) and (5), cm−1 is the first element in Pi(v, 2i). Let x ∈ V1. Then the (cm−1)-th

bit of x is vcm−1 only when (i) (cm−1+ 1) ∈ Pi(v, 2i), (ii) cm−1+ 1 ≥ 2 and (iii) there exists q = (qn−1qn−2· · · q0)2 ∈ V1 such that x = fcm−1+1(q) and q0 = 1. We now prove that (i),

(ii) and (iii) will not occur simultaneously; hence for all x ∈ V1, the (cm−1)-th bit of x is

vcm−1. If |Ci(v, 2i)| = 1, then (i) can not occur. Suppose |Ci(v, 2i)| ≥ 2 and both (i) and

(iii) occur; that is, there exists q = (qn−1qn−2· · · q0)2 ∈ V1 such that x = fcm−1+1(q) and q0 = 1. By (5), cm−1+ 1 is the last element in Pi(v, 2i). Since q0 = 1, I(c0, 0) ⊆ Pi(v, 2i).

By Lemma 3 and by the fact that I(c0, 0) = {c0, c0 − 1, . . . , 1}, we have cm−1 + 1 = 1;

thus (ii) does not occur and consequently the (cm−1)-th bit of all the vertices in V1 is

vcm−1. Since vi = 1, the i-th bit of all the vertices in V1 is 1. By (3) and (4) and (6), the

(cm−1)-th bit of those vertices in V2 with the i-th bit being 1 is vcm−1. Thus V1∩ V2 = ∅. Case 2: vi = 0 and vj = 0. Then cm−1 = i. If |Ci(v, 2i)| = 1, then Ci(v, 2i) =

{i}, which implies that v = 0; this contradicts with the assumption that v 6= 0. Thus |Ci(v, 2i)| ≥ 2 and there must exist a u such that j is between cu and cu−1 with respect

to Oi. Thus

Cj(v, 2j) =

½

{j, cu−1, cu−2, . . . , c0, cm−2, cm−3, . . . , cu+1, cu} if u 6= 0,

{j, cu−1, cu−2, . . . , c0, cm−2, cm−3, . . . , cu+1} if u = 0.

(7) By (3) and (4) and (5), the i-th bit of all vertices in V1 is 1. By (3) and (4) and (7), the

(24)

and the j-th bit of a are both 1. When I(cu, cu−1) * Pi(v, 2i), each vertex in V1 has its

j-th bit to be 0. When I(c0, cm−2) * Pj(v, 2j), each vertex in V2 has its i-th bit to be

0. Thus the existence of a implies that I(cu, cu−1) ⊆ Pi(v, 2i) and I(c0, cm−2) ⊆ Pj(v, 2j).

Note that I(cu, cu−1) ⊆ Pi(v, 2i) implies that i = 0 and hence v0 = 0 (since case 2 requires

vi = 0). However, I(c0, cm−2) ⊆ Pj(v, 2j) implies v0 = 1, which contradicts with v0 = 0.

Thus no such a exists and V1∩ V2 = ∅.

Case 3: vi = 0 and vj = 1. Then cm−1 = i and there must exist a u such that cu = j.

If |Ci(v, 2i)| = 1, then Cj(v, 2i) = ∅, which implies that v = 2j; this contradicts with the

assumption that v 6= 2j. Thus

Cj(v, 2j) = {cu−1, cu−2, . . . , c0, cm−2, cm−3, . . . , cu+1}. (8)

By (3) and (4) and (5), the i-th bit of all vertices in V1 is 1. Suppose V1 ∩ V2 6= ∅ and

a ∈ V1 ∩ V2. Then the i-th bit of a is 1. When I(c0, cm−2) * Pj(v, 2j), each vertex in

V2 has its i-th bit to be 0. Thus the existence of a implies that I(c0, cm−2) ⊆ Pj(v, 2j)

which further implies v0 = 1. Since I(c0, cm−2) ⊆ Pj(v, 2j), V2 has only one vertex

x = (xn−1xn−2· · · x0)2 such that xi = 1 and x = fi+1(q) for some q ∈ V2. The existence

of a implies that x = a. Since v0 = 1, Pi(v, 2i) starts with I(i, cm−2), i.e., Pi(v, 2i) is of

the form {I(i, cm−2), . . .}. By (4), cm−3 is the first element after I(i, cm−2) in Pi(v, 2i).

Recall that Pi(v, 2i) is an ordered set of all the indices of perfecting matchings used in

the v, 2i-path in T

i listed according to the order from v to 2i. Thus the first vertex in V1

can be obtained by applying the first perfect matching obtained from the first element in P(v, 2i) to v, the second vertex in V

1 can be obtained by applying the second perfect

matching obtained from the second element in P(v, 2i) to the first vertex in V

1, and so

on. Thus we can partition V1 into V1,a and V1,b such that V1,a consists of those vertices in

V1 before fcm−3 is applied and V1,b = V1− V1,a. Let y = (yn−1yn−2· · · y0)2 be an arbitrary

vertex in V1,a. Then bits yiyi−1· · · ycm−2 are different from vivi−1· · · vcm−2 in exactly two

bits. However, bits xixi−1· · · xcm−2 are identical to vivi−1· · · vcm−2. Thus x 6∈ V1,a. On the

other hand, xcm−3 = vcm−3 but the (cm−3)-th bit of all the vertices in V1,b is vcm−3; thus x 6∈ V1,b. Since x 6∈ V1,a and x 6∈ V1,b, we have x 6∈ V1. Since x = a, it follows that a 6∈ V1.

(25)

Thus no such a exists and V1∩ V2 = ∅.

Case 4: vi = 1 and vj = 0. Then there must exist a u such that j is between cu and

cu−1 with respect to Oi. Thus

Cj(v,2j) =

(

{j, i, cu−1, cu−2, . . . ,c0, cm−1, cm−2, . . . ,cu} if i is between cu and cu−1 respect to Oi,

{j, cu−1, cu−2, . . . ,c0, i, cm−1, cm−2, . . . , cu} if otherwise. (9)

By (3) and (4) and (9), the j-th bit of all vertices in V2 is 1. Since vi = 1, the i-th bit of

all the vertices in V1 is 1. Suppose V1 ∩ V2 6= ∅ and a ∈ V1∩ V2. Then the i-th bit and

the j-th bit of a are both 1. By (9), case 4 consists of two subcases. In each subcase, we will prove that no such a exists. Since a does not exist, V1∩ V2 = ∅.

Subcase 4.1: i is between cu and cu−1with respect to Oi. Then V2 has only one vertex

fj(v) with its i-th bit and j-th bit both being 1. By (3) and (4) and (5), cm−1 is the first

element in Pi(v, 2i). Thus the (cm−1)-th bit of those vertices in V1 with the j-th bit being

1 is vcm−1. However, by (3) and (4) and (9), the (cm−1)-th bit of fj(v) is vcm−1. Thus no

such a exists.

Subcase 4.2: i is not between cu and cu−1 with respect to Oi. If |Ci(v, 2i)| = 1, then

Ci(v, 2i) = {c0}; since vj = 0, we have c0 6= j, which implies that each vertex in V1 has

its j-th bit to be 0 and consequently no such a exists. Now suppose |Ci(v, 2i)| ≥ 2. Then

when I(cu, cu−1) * Pi(v, 2i), each vertex in V1 has its j-th bit to be 0. Thus the existence

of a implies that I(cu, cu−1) ⊆ Pi(v, 2i). Since I(cu, cu−1) ⊆ Pi(v, 2i), V1 has only one

vertex x = (xn−1xn−2· · · x0)2 such that xj = 1 and x = fj+1(q) for some q ∈ V1. The

existence of a implies that x = a. By (3) and (4) and (9), the (cm−1)-th bit of those

vertices in V2 with the i-th bit being 1 is vcm−1. However, the xcm−1 = vcm−1. So if x ∈ V1, x 6∈ V2. Then, by (3) and (4) and (5), the j-th bit of all the vertices in V1\ {x} is 0. By

(3) and (4) and (9), the j-th bit of all the vertices in V2 is 1. Thus no such a exists.

Since V1∩ V2 = ∅, we have this lemma.

Theorem 11. T0, T1, . . . , Tn−1 are n n ISTs rooted at r for LT Qn when r = 0.

(26)

3.2

Vertex 1 as the common root

Throughout this subsection, let T0, T1, . . . , Tn−1 be the output of Algorithm 1 when

the input is the F of LT Qn and the root is r = 1. The purpose of this subsection is to

prove that T0, T1, . . . , Tn−1 are n ISTs rooted at r = 1 for LT Qn. For S ⊆ V (LT Qn),

define fi(S) to be

fi(S) = {fi(v) | for all v ∈ S}.

This definition will be used in the following proofs.

Lemma 12. T0, T1, . . . , Tn−1 are n spanning trees rooted at r for LT Qn when r = 1.

Proof. The proof of this lemma is similar to that of Lemma 9 except that r = 0 is replaced

by r = 1 and the proof of the claim is modified as follows.

Proof of the claim. This claim is true when k = 1 since line 3 sets S = {son} and hence

|S| = 1 = 20. We now prove that if this claim is true before the k-th iteration of the

outer for-loop, then it remains true before the next iteration. According to which Ti is

considered, there are three possibilities.

1. Suppose T0 is considered. Then i = 0 and there are two cases.

Case 1: k ∈ {1, 2, . . . , n−1}. The proof of this case is the same as Case 1 in Lemma 9. Case 2: k = n. The proof of this case is the same as Case 2 in Lemma 9 except that:

the i-th bit of each vertex v ∈ S is 0 and the i-th bit of each vertex in S0 is 1.

2. Suppose Tn−1 is considered. Then i = n − 1 and there are two cases.

Case 1: k ∈ {1, 2, . . . , n − 1}. The proof of this case is the same as Case 1 in Lemma 9

except that: when k = n − 1, the (n − 2)-th bit of each vertex v ∈ S is 1 and the (n − 2)-th bit of each vertex in S0 is 0.

Case 2: k = n. The proof of this case is the same as Case 2 in Lemma 9.

3. Suppose Ti is considered, where i ∈ {1, 2, . . . , n − 2}. Then there are two cases.

Case 1: k ∈ {1, 2, . . . , n − 1}. The proof of this case is the same as Case 1 in Lemma 9

except that: when k = n − 1, the (n − 2)-th bit of each vertex v ∈ S is 1 and the (n − 2)-th bit of each vertex in S0 is 0.

(27)

Case 2: k = n. This is the last (the n-th) iteration of the outer for-loop of Algorithm 1.

Before the n-th iteration of the outer for-loop, |S| = 2n−1and a total of 20+21+· · ·+2n−2=

2n−1−1 edges have been put into T

i; these edges form a connected subgraph since each

newly generated edge in Algorithm 1 is incident to an edge that is already generated. Thus S induces a tree. Partition S into S0 and S1 such that

S0 = {all the vertices in the subtree rooted at f

i+1(fi(1))} and S1 = S \ S0.

See Figure 5 as an illustration.

1 (1) i f 1( (1))  i i f f 2( 1( (1)))   i i i f f f 2( (1))  i i f f 0 0 S 0 0 ( ) i f S 0 1 S 0 1 ( ) i f S 1 0 S 1 0 ( ) i f S 1 1

S

1 1 ( ) i f S 0 S 1 S

Figure 5: An illustration for the proof of Lemma 12.

By (2) and by Lemma 3, we have: (i) the i-th bit of all the vertices in S0 is 0 and hence

the i-th bit of all the vertices in fi(S0) is 1, and (ii) the i-th bit of all the vertices in S1

is 1 and hence the i-th bit of all the vertices in fi(S1) is 0. Notice that

S0 = f

i(S0) ∪ fi(S1).

By (i) and (ii), to prove that S ∩ S0 = ∅, it suffices to prove that

S0∩ f

(28)

Suppose i = n−2. Then the (n−1)-bit of all the vertices in S0and f

n−2(S0) is 1; however, the

(n−1)-bit of all the vertices in S1 and f

n−2(S1) is 0. Thus when i = n−2, S0∩fn−2(S1) = ∅

and S1 ∩ f

n−2(S0) = ∅. Now suppose i ∈ {1, 2, . . . , n − 3}. Partition S0 into S00 and S10

such that

S0

0 = {all the vertices in the subtree rooted at fi+2(fi+1(fi(1)))} and S10 = S0 \ S00.

Partition S1 into S1

0 and S11 such that

S1

0 = {all the vertices in the subtree rooted at fi+2(fi(1))} and S11 = S0\ S01.

By (2) and by Lemma 3, the pair of the (i+1)-th and the i-th bit of all the vertices in S0 0

and fi(S11) is (0,0); in fi(S00) and S11 is (0,1); in S10 and fi(S01) is (1,0) and in fi(S10) and

S1

0 is (1,1). Thus to prove (10), it suffices to prove that

S00∩ fi(S11) = ∅, S11∩ fi(S00) = ∅, S01∩ fi(S10) = ∅ and S10∩ fi(S01) = ∅. (11)

For each v = (vn−1, vn−1, . . . , v0)2 ∈ V (LT Qn) such that v 6= 0, define q to be the index

so that vq is the leftmost nonzero bit, i.e., vn−1= vn−2 = · · · = vq+1 = 0 and vq= 1 (since

v 6= 0, q exists). For v = 0, define q to be −1. By (2) and by Lemma 3, we have Table 2.

We now use two claims to prove (11).

Table 2: The value of q for every vertex in the given set.

S0

0 ∪ fi(S00) S11∪ fi(S11) S01∪ fi(S01) S10∪ fi(S10)

q ≥ i + 2 q ≤ i + 1 or q ≥ i + 3 q ≥ i + 3 q = i + 1 or q ≥ i + 3

Claim A: S0

0 ∩ fi(S11) = ∅ and S11∩ fi(S00) = ∅. This claim holds since:

By Table 2, each vertex in S1

1∩ fi(S11) with q ≤ i + 1 does not belong to S00∪ fi(S00) since

every vertex in S0

0 ∪ fi(S00) has q ≥ i + 2. By Table 2, each vertex in S00 ∪ fi(S00) with

q = i + 2 does not belong to S1

1 ∩ fi(S11) since each vertex in S11 ∩ fi(S11) has q 6= i + 2.

From the above, we may focus on vertices with q = i + 3 or q > i + 3. Note that each vertex in S0

0 ∪ fi(S00) with q = i + 3 will have its (i + 2)-th bit to be 0; however, from

Table 2, we know that each vertex in fi(S11) ∪ S11 with q ≥ i + 3 will have its (i + 2)-th bit

to be 1. Therefore, each vertex in S0

(29)

It remains to consider vertices with q > i + 3. Note that the bit string of those bits from the q-th bit to the (i + 2)-th bit of all the vertices in S0

0 ∪ fi(S00) is one of the strings in

L0 = { 1 q−i−2 00s z }| { 00 · · · 0 | {z } q−i−1 bits , 1 q−i−4 00s z }| { 00 · · · 0 11 | {z } q−i−1 bits , 1 q−i−5 00s z }| { 00 · · · 0 101 | {z } q−i−1 bits , 1 q−i−6 00s z }| { 00 · · · 0 1001 | {z } q−i−1 bits , . . . , 101 q−i−5 00s z }| { 00 · · · 0 1 | {z } q−i−1 bits , 11 q−i−4 00s z }| { 00 · · · 0 1 | {z } q−i−1 bits }.

However, the bit string of those bits from the q-th bit to the (i + 2)-th bit of all the vertices in S1

1 ∪ fi(S11) is one of the strings in

L1 = { 1 q−i−3 00s z }| { 00 · · · 0 1 | {z } q−i−1 bits , 1 q−i−4 00s z }| { 00 · · · 0 10 | {z } q−i−1 bits , 1 q−i−5 00s z }| { 00 · · · 0 100 | {z } q−i−1 bits , 1 q−i−6 00s z }| { 00 · · · 0 1000 | {z } q−i−1 bits , . . . , 101 q−i−4 00s z }| { 00 · · · 0 | {z } q−i−1 bits , 11 q−i−3 00s z }| { 00 · · · 0 | {z } q−i−1 bits }.

It is not difficult to see that L0∩ L1 = ∅. Hence we have Claim A.

Claim B: S0

1 ∩ fi(S01) = ∅ and S01∩ fi(S10) = ∅. The proof of Claim B is similar to that

of Claim A except that S0

0 ∪ fi(S00) is replaced by S01∪ fi(S01) and S11∪ fi(S11) is replaced

by S0

1 ∪ fi(S10).

By Claims A and B, we have (11) and hence have (10). Therefore S ∩ S0 = ∅ before

the execution of line 11. Thus at the start of the next iteration of the outer for-loop,

|S| = 2k.

We now have this lemma.

When r = 1, the son of the root in Ti is fi(1), where

fi(1) =    0 if i 6= 0, 3 if i = 1, 2i+ 2i−1+ 1 if 2 ≤ i ≤ n − 1. (12) For any v ∈ V (Ti) \ {1, fi(1)}, the v, fi(1)-path in Ti can be determined by Pi(v, fi(1)),

which can be determined by the ordered set

Ci(v, fi(1)) = {cm−1, cm−2, . . . , c0}

as follows. Let ce−1 be the first (from left to right) member in Ci(v, fi(1)) that is larger

than i. Suppose v = (vn−1vn−2· · · v0)2. When i = 0, since r = 1, we have

(30)

When i 6= 0 and v0 = 0, since r = 1, we have ce= 0 and Pi(v, fi(1)) =     

{cm−1, cm−2,. . ., ce,I(ce−1,ce−2), I(ce−3,ce−4),. . .,I(c1, c0)} if e is even,

{cm−2, cm−3,. . ., ce,I(ce−1,ce−2), I(ce−3,ce−4),. . .,I(c0, i)} if e is odd, cm−1= i,

{i, cm−1, cm−2,. . ., ce,I(ce−1,ce−2), I(ce−3,ce−4),. . .,I(c0, i)} if e is odd, cm−16= i.

(14)

When i 6= 0 and v0 = 0, in order to obtain Pi(v, fi(1)) from Ci(v, fi(1)), we need to define

C1

i, Ci2 and ζi(v, fi(1)). Define Ci2 to be the ordered sequence

C2

i = ce−1, ce−2, . . . , c0

and define C1

i to be the ordered sequence

C1 i =    cm−1, cm−2, . . . , ce if |Ci2| is even, i, cm−1, cm−2, . . . , ce if |Ci2| is odd and cm−1 6= i cm−2, cm−3, . . . , ce if |Ci2| is odd and cm−1 = i.

Defined ζi(v, fi(1)) to be the ordered sequence

ζi(v, fi(1)) =          {C1

i, Ci2} if |Ci1| is even and |Ci2| is even,

{C1

i, Ci2, i} if |Ci1| is even and |Ci2| is odd,

{C1

i, 0, Ci2} if |Ci1| is odd and |Ci2| is even,

{C1

i, 0, Ci2, i} if |Ci1| is odd and |Ci2| is odd.

(15)

Suppose

ζi(v, fi(1)) = {ςu, ςu−1, . . . , ς0}.

Then when i 6= 0 and v0 = 1, since r = 1, we have

Pi(v, fi(1)) = {I(ςu, ςu−1), I(ςu−2, ςu−3), . . . , I(ς1, ς0), }. (16)

In the following, we give some examples for Pi(v, fi(1)). Consider LT Q5. Then f1(1) =

21+ 1 = 3, f

2(1) = 22+ 21+ 1 = 7 and f3(1) = 23+ 22+ 1 = 13. Thus the son of the root

in T1 is 3, in T2 is 7 and in T3 is 13. For v = (10000)2 ∈ T1, we have C1(v, 3) = {1, 0, 4}

and P1(v, 3) = {0, I(4, 1)} = {0, 4, 3, 2}; so the v, 3-path in T1 is

(10000)2 f0−1=f0 → (10001)2 f4−1=f4 → (01001)2 f3−1=f3 → (00101)2 f2−1=f2 → (00011)2.

For v = (11010)2 ∈ T2, we have C2(v, 7) = {2, 0, 4, 3} and P2(v, 7) = {2, 0, I(4, 3)} =

{2, 0, 4}; so the v, 7-path in T2 is (11010)2 f2−1=f2 → (11110)2 f0−1=f0 → (11111)2 f4−1=f4 → (00111)2.

(31)

For v = (11101)2 ∈ T3, we have C3(v, 13) = {4}, C32 = {4}, C31 = {3}, ζj(v, fj(1)) =

{3, 0, 4, 3} and P3(v, 13) = {I(3, 0), I(4, 3)} = {3, 2, 1, 4}; so the v, 13-path in T3 is

(11101)2 f3−1=f3 → (10001)2 f2−1=f2 → (10111)2 f1−1=f1 → (10101)2 f4−1=f4 → (01101)2.

Lemma 13. T0, T1, . . . , Tn−1 are n vertex-independent trees rooted at r for LT Qn when

r = 1.

Proof. It suffices to prove that any two Ti and Tj with 0 ≤ i < j ≤ n − 1 are

vertex-independent. Let v = (vn−1vn−2· · · v0)2 be an arbitrary vertex in LT Qn. We assume

v 6∈ {r, fi(r), fj(r)} since if v ∈ {r, fi(r), fj(r)}, then the r, v-path in Ti and the r, v-path

in Tj are clearly internally vertex-disjoint. By the same arguments used in the proof of

Lemma 10, it suffices to prove that the v, fi(r)-path in Ti and the v, fj(r)-path in Tj are

internally vertex-disjoint. Let V1 and V2 be defined as in Lemma 10. We now claim that:

Claim: V1∩ V2 = ∅.

Proof of the claim. Suppose this claim is not true and there exists a vertex a ∈ V1 ∩ V2.

Let

Ci(v, fi(1)) = {cm−1, cm−2, . . . , c0}. (17)

There are four cases.

Case 1: 0 = i < j ≤ n − 1. The proof of this case is divided into two parts, depending on v0 = 1 or v0 = 0. Suppose v0 = 1. Then 0 6∈ Cj(v, fj(1)). Thus the 0-th bit of all the

vertices in V2 is 1. By (13) and (17), 0 is the first element in C0(v, f0(1)); this implies

that the 0-th bit of all the vertices in V1 is 0. Thus V1 ∩ V2 = ∅. Suppose v0 = 0. Then

0 6∈ C0(v, f0(1)). Thus the 0-th bit of all the vertices in V1 is 0; this implies that the 0-th

bit of a is 0. There are two possibilities: j = 1 or j > 1.

1. j = 1. Note that either 1 ∈ P1(v, f1(1)) or 1 6∈ P1(v, f1(1)). Suppose 1 6∈ P1(v, f1(1)).

Then 0 is the first element in P1(v, f1(1)); this implies that the 0-th bit of all the vertices

in V2 is 1. Thus no such a exists and V1 ∩ V2 = ∅. Suppose 1 ∈ P1(v, f1(1)). Then 1

(32)

0-th bit of all the vertices in V2\ {f1(v)} is 1. The existence of a implies that f1(v) = a.

Suppose v1 = 0. Then 1 6∈ C0(v, f0(1)); this implies that the 1-st bit of all the vertices

in V1 is 0. However, it is obvious that the 1-st bit of f1(v) is 1. Therefore f1(v) 6∈ V1.

Thus no such a exists and V1 ∩ V2 = ∅. Suppose v1 = 1. Since 1 ∈ P1(v, f1(1)), there

must exist some k > 1 such that vk = 1; this implies that cm−1 6= 1. By (13) and (17),

the (cm−1)-th bit of all the vertices in V1 is vcm−1. However, the (cm−1)-th bit of f1(v) is vcm−1. Therefore f1(v) 6∈ V1. Thus no such a exists and V1∩ V2 = ∅.

2. j > 1. By (13), (14), (15), (16) and (17), we have: cm−1 is the first element in

Ci(v, fi(1)), cm−1 ∈ Cj(v, fj(1)), 0 ∈ Cj(v, fj(1)), and cm−1 appears after 0 in the ordered

set Cj(v, fj(1)). Thus the (cm−1)-th bit of all the vertices in V1 is vcm−1. However, the

(cm−1)-th bit of those vertices with the 0-th bit being 0 in V2 is vcm−1. Thus no such a

exists and V1∩ V2 = ∅.

Case 2: 1 = i < j ≤ n − 1. The proof of this case is divided into two parts, depending on v0 = 0 or v0 = 1.

1. v0 = 0. Then it is not difficult to see (by comparing the j-th and the 0-th bits of

fj(v) and all the vertices in V1) that fj(v) 6∈ V1. Thus a can not be fj(v). It remains

to consider those vertices in V2\ fj(v). The remaining proof is further divided into two

parts, depending on vj−1 = 0 or vj−1 = 1.

1.1. vj−1 = 0. Since v0 = 0 and vj−1 = 0, j − 1 ∈ Pj(v, fj(v)). Since v0 = 0 and

j − 1 ∈ Pj(v, fj(v)), the (j − 1)-th bit of all the vertices in V2\ fj(v) is 1. However, the

(j − 1)-th bit of all the vertices in V1 is 0. Thus no such a exists and V1∩ V2 = ∅.

1.2. vj−1= 1. We claim that: the bits from vj−2 to v2 are all 0, i.e., vj−2 = vj−3 = · · · =

v2 = 0. Suppose this claim is not true and let k be the largest number between j − 2 and

2 (inclusive) such that vk = 1. By (17) and (14), the (j − 1)-th and the k-th bits of all the

vertices in V2\ fj(v) is 1 and 0, respectively. However, the (j − 1)-th bit of those vertices

in V1 with k-th bit being 0 is 0. Thus vj−2 = vj−3 = · · · = v2 = 0. So the 1-st bit of all

the vertices in V1 is 1 and the 1-st bit of all the vertices in V2\ fj(v) is 0. Thus no such

(33)

2. v0 = 1. The proof of this part is further divided into six parts as follows.

2.1. j = 2, v1 = 1 and v2 = 1. Since v0 = 1 and v1 = 1 and v2 = 1,

Cj(v, fj(1)) = (cm−1, cm−2, . . . , c1).

Suppose m is even. Then

Pi(v, fi(1)) = {I(cm−1, cm−2), . . . , I(c1, c0= 2)}

and

Pj(v, fj(1)) = {I(2, 0), I(cm−1, cm−2), . . . , I(c1, 2)}.

By (15) and (16), the 2-nd bit of all the vertices in V1 are 1. However, the 2-nd bit of all

the vertices in V2 are 0. Thus no such a exists and V1∩ V2 = ∅. Suppose m is odd. Then

Pi(v, fi(1)) = {1, I(cm−1, cm−2), . . . , I(c0, 1)}

and

Pj(v, fj(1)) = {I(cm−1, cm−2), . . . , I(c2, c1)}.

By (15) and (16), the 1-st bit of all the vertices in V1 is 0. However, the 1-st bit of all the

vertices in V2 is 1. Thus no such a exists and V1 ∩ V2 = ∅.

2.2. j = 2, v1 = 0 and v2 = 1. Since v0 = 1 and v1 = 0 and v2 = 1, we have cm−1 = 1,

c0 = 2 and

Cj(v, fj(1)) = {cm−1, cm−2, . . . , c1}.

Suppose m − 1 is odd. Then

Pi(v, fi(1)) = {I(cm−2, cm−3), . . . , I(c0, 1)}

and

Pj(v, fj(1)) = {1, I(cm−2, cm−3), . . . , I(c2, c1)}.

By (15) and (16), the 1-st bit of all vertices in V1 are 0. However, the 1-st bit of all

vertices in V2 is 1. Thus no such a exists and V1 ∩ V2 = ∅. Suppose m − 1 is even. Then

數據

Table 1: The connectivity, edge-connectivity and diameters of Q n and its variants.
Figure 3: LT Q 4 and its F = {f 3 , f 2 , f 1 , f 0 }. The ordinary lines (depicted as color blue), the most solid lines (depicted as color green), the second solid lines (depicted as color black), and the dashed lines (depicted as color red) are perfect m
Figure 4: Two examples of Algorithm 1: constructing 4 ISTs T 0 , T 1 , T 2 and T 3 for LT Q 4
Figure 5: An illustration for the proof of Lemma 12.

參考文獻

相關文件

In this section, we consider a solution of the Ricci flow starting from a compact manifold of dimension n 12 with positive isotropic curvature.. Our goal is to establish an analogue

Theorem 1.5.9 finite dimensional vector space linearly independent set 大 basis; spanning

• to assist in the executive functions of financial resource management (such as procurement of goods and services, handling school trading operations, acceptance of donations,

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

策 – 引導資源 促進參與與發展 訂立「 財政預算 」政策 1.3 應對學生人口下降 – 訂. 立處理超額教師機制 凝聚團隊及擴充財政

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.

Both problems are special cases of the optimum communication spanning tree problem, and are reduced to the minimum routing cost spanning tree (MRCT) prob- lem when all the

• Any node that does not have a local replica of the object periodically creates a QoS-advert message contains (a) its δ i deadline value and (b) depending-on , the ID of the node