The Fibonacci tree is a rooted binary tree whose number of vertices admit a recursive definition similar to the Fibonacci numbers. In this paper, we prove that a hypercube of dimension h admits two edge-disjoint Fibonacci trees of height h, two edge-disjoint Fibonacci trees of height h-2, two edge-disjoint Fibonacci trees of height h-4 and so on, as subgraphs. The result shows that an algorithm with Fibonacci trees as underlying data structure can be implemented concurrently on a hypercube network with no communication latency.
1. Introduction
High speed computing is a key requirement for many applications of science and technology. Parallel computers perform high speed computing with thousands of processors operating parallelly and concurrently. The interconnection network of a parallel computer connects various components of the system and plays a crucial role in the computational process. A natural way to represent this interconnection network is to construct a graph where each processor of the system is represented by a vertex and each link connecting two processors is represented by an edge. This representation is the genesis for the interdisciplinary research involving engineering and computational aspects of parallel computers and graph theory.
Among the interconnection networks of parallel computers, the binary hypercube has received much attention. An important property of a hypercube, which makes it popular, is its ability to efficiently simulate the message routings of other interconnection networks. Defining mathematically, an n-dimension hypercube, Qn, has 2n vertices each labelled with a binary string of length n. Two vertices are adjacent if and only if their labels differ in exactly one position. Figure 1 shows hypercubes of dimensions 1, 2, and 3.
Hypercubes of small dimension.
Q1
Q2
Q3
The problem of efficiently implementing parallel algorithms on parallel computers has been studied as a graph embedding problem, which is to embed the communication graph G (underlying a parallel algorithm A) within the interconnection network topology H (underlying a parallel computer N) with minimum communication overhead. Graph embeddings are mathematical models capturing the issues involved in the implementation of parallel algorithms on a parallel computer (see [1]) and establishing equivalence between interconnection networks of two parallel computers (see [2, 3]).
Formally defining, an embedding ϕ of (guest) graph G(V,E) into (host) graph H(W,F) is a function ϕ:V→W such that if (u,v) is an edge in G, then ϕ(u) and ϕ(v) are connected by a path in H. Dilation is one of the important parameters that measure the quality of an embedding. Defining mathematically, dilation (ϕ)∶=max{distH(ϕ(u),ϕ(v)):(u,v)∈E}, where distH(x,y) denotes the length of the shortest path connecting two vertices x and y in W in H. The dilation measures the communication delay when graph G is embedded on graph H. If dilation equals 1, then it implies that there is no communication latency and G is isomorphic to a subgraph of H and we write G⊆H. Since one aims to reduce the communication latency in a network, the goal of a parallel algorithm designer is to map the algorithm graph G into the corresponding network H such that G⊆H.
From a computing perspective, trees form an important class of computational structures. They naturally arise in the design of parallel algorithms which require basic operations like merging, sorting, and searching. Hence, there is a large literature on embedding of various kinds of trees into the graphs of interconnection networks. In particular, embedding of binary trees into hypercubes has received special attention since trees serve as computational structures for parallel algorithms that employ, divide, and conquer paradigm.
Several researchers work on 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 is an important example [4–6]. A number of trees of a graph H are said to be edge-disjoint if no two trees contain the same edge of H. Besides being of theoretical interest, this problem has two practical applications. One is to enhance the ability of fault tolerance. One way to achieve fault tolerant interprocessor communication is by exploiting and effectively utilizing the disjoint paths that exist between pairs of source and destination. The other application is to develop efficient collective communication algorithms in distributed memory parallel computers [5]. Several researches have been done to recognise what trees and how many of them can be accommodated in the hypercube; see [4–6].
It has been proved in [7] that a Fibonacci tree Fh of height h is a subgraph of a hypercube with dimension ⌊0.75h⌋+1.5. Since the hypercube Q⌊0.75h⌋+1.5 is not big enough to accommodate two copies of Fh, we choose Qh to embed at least two copies of edge-disjoint Fibonacci trees. In this paper, we prove that, for h≥3, the hypercube Qh contains edge-disjoint copies of two Fh, two Fh-2,…, and two Fi, where i=2 if h is even and i=3 if h is odd. This is denoted by Qh⊇2Fh∪2Fh-2∪⋯∪2Fi. For any graph G, an embedding L:G→Qn is a labelling of the vertices of G with binary strings of length n. Clearly, G⊆Qn if and only if L(u) and L(v) differ in exactly one position whenever (u,v) is an edge in G. This labelling technique is widely used in our proofs of embedding.
2. Edge-Disjoint Embedding of Fibonacci Trees
A formal recursive definition of the Fibonacci tree (denoted by Fh if its height is h) is given below.
Definition 1.
F0∶=K1, F1∶=K2, where Ki is a complete graph on i vertices. For h≥2, Fh is obtained by taking a copy of Fh-1, a copy of Fh-2, and a new vertex R and joining R to the roots of Fh-1 and Fh-2.
Figure 2 shows a few examples of small Fibonacci trees and the recursive construction.
Examples of Fibonacci trees and recursive construction.
The above recursive definition implies that the number of vertices in Fh is |V(Fh)|=|V(Fh-1)|+|V(Fh-2)|+1. On solving this recurrence relation, we get |V(Fh)|=f(h+2)-1, where f(i) is the ith number in the Fibonacci sequence, f(0)=1, f(1)=1, f(n)=f(n-1)+f(n-2); this justifies the terminology Fibonacci tree. The number of vertices of the Fibonacci tree has helped to give a closed-form representation of the Fibonacci numbers; see [8].
Theorem 2.
For every h≥3, the hypercube Qh contains two edge-disjoint Fibonacci trees FhL and FhR of height h such that roots of FhL and FhR are labelled 0h and 0h-211, respectively.
Proof.
We prove the result by induction on h. To do so, it is sufficient to give two labellings BhL:FhL→Qh and BhR:FhR→Qh for the tree Fh. For the basic case h=3,4, the two labellings for each of F3L and F4L are given in Figures 3 and 4, respectively. In Figure 3(c) (resp., Figure 4(c)), we show the two trees F3L and F3R (resp., F4L and F4R ) inside Q3 (resp., Q4) as dashed and dotted lines, respectively.
For h≥5, we give a labelling procedure for FhL and FhR. We first provide the labelling for FhL. By induction hypothesis we are given embeddings (labellings) Bh-1L:Fh-1L→Qh-1 and Bh-2L:Fh-2L→Qh-2. For notational convenience, we denote Bh-1L(Fh-1L) by Bh-1L and Bh-2L(Fh-2L) by Bh-2L. We extend the labellings Bh-1L and Bh-2L to a labelling BhL of FhL by prefixing the labels of all the vertices of Fh-1L by 1 and the labels of all the vertices of Fh-2L by 01 and label the root of FhL by 0h; see Figure 5(a). We note that the roots of Fh-1L and Fh-2L are labelled 10h-1 and 010h-2 and both are adjacent to the root of FhL which is labelled 0h. In a similar way, we next provide the labelling for FhR. By induction hypothesis we are given embeddings (labellings) Bh-1R:Fh-1R→Qh-1 and Bh-2R:Fh-2R→Qh-2. For notational convenience, we denote Bh-1R(Fh-1R) by Bh-1R and Bh-2R(Fh-2R) by Bh-2R. We extend the labellings Bh-1R and Bh-2R to a labelling BhR of FhR by prefixing the labels of all the vertices of Fh-1R by 1 and the labels of all the vertices of Fh-2R by 01 and label the root of FhR by 0h-111; see Figure 5(b). The recursive labelling technique of FhL (and hence FhR) does not alter the adjacency property of the vertices since BhL (and hence BhR) is an injective extension of Bh-1L and Bh-2L (Bh-1R and Bh-2R). The trees FhL and FhR are the required two edge-disjoint copies of Fh* in Qh.
Embedding F3L and F3R in Q3.
B3L:F3L→Q3
B3R:F3R→Q3
F3L and F3R in Q3 are shown in dashed and dotted lines, respectively
Embedding F4L and F4R in Q4.
B4L:F4L→Q4
B4R:F4R→Q4
F4L and F4R in Q4 are shown in dashed and dotted lines, respectively
Two labellings BhL and BhR for Fh.
Labelling BhL:FhL→Qh
Labelling BhR:FhR→Qh
Theorem 3.
For h≥3, Qh⊇2Fh∪2Fh-2∪⋯∪2Fi, where i=2 if h is even and i=3 if h is odd.
Proof.
In the labelling technique of Fh discussed in Theorem 2, the root is the only vertex whose label starts with 00. Hence, apart from the two copies of Fh, the edges of 00Qh-2 are unused in Qh. By recursion, Qh-2 contains 2Fh-2∪2Fh-4∪⋯∪2Fi, hence the theorem. As an illustration, referring to Figure 4, the hypercube Q4 apart from containing two F4 shown in dashed and dotted lines, it also contains two F2 as follows: since F2 is isomorphic to a path on four vertices, we give two path labellings (1) 1110-0110-0010-1010 and (2) 0010-0011-0111-1111.
Remark 4.
An induced subgraph of the hypercube based on the Fibonacci numbers is called the Fibonacci Cube. This interconnection network was introduced by Hsu in [9]. Several topological properties of the Fibonacci cube have been studied over the recent years and various extensions have been introduced; see [10, 11]. Also, recently there has been some work done on graph indexing and we refer to [12–14].
3. Conclusion
In this paper we proved that, for every h≥3, the hypercube Qh of dimension h contains two edge-disjoint copies of Fh,Fh-2,…F2 as subgraph (that is with dilation 1). This result shows that an algorithm with Fibonacci tree as its underlying data structure can be made to run concurrently on a hypercube network with no communication latency. Thus, this mathematical result will have a significant interest in the fields of parallel computing and interconnection networks.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
BhattS. N.IpsenI. C. F.How to embed trees in hypercubes1985Yale University, Department of Computing ScienceLeightonF. T.1992San Mateo, Calif, USAMorgan KaufmannMR1137272MonienB.SudboroughH.Embedding one interconnection network in another19907257282WagnerS.WildM.Decomposing the hypercube Qn into n isomorphic edge-disjoint trees2012312101819182210.1016/j.disc.2012.01.0332-s2.0-84858800346BardenB.Libeskind-HadasR.DavisJ.WilliamsW.On edge-disjoint spanning trees in hypercubes1999701131610.1016/S0020-0190(99)00033-2ZBL1002.681032-s2.0-0033574357FinkJ. F.On the decomposition of n-cubes into isomorphic trees199014440541110.1002/jgt.3190140403MR1067234ChoudumS. A.RamanI.Embedding height balanced trees and Fibonacci trees in hypercubes2009301-2395210.1007/s12190-008-0155-zMR2496600ZBL1193.681872-s2.0-63949085266RamanI.A note on closed-form representation of Fibonacci numbers using Fibonacci trees20142014313292510.1155/2014/132925HsuW. J.Fibonacci Cubes. A new interconnection topology19934131210.1109/71.2056492-s2.0-0027307318KlavžarS.On median nature and enumerative properties of Fibonacci-like cubes20052991–314515310.1016/j.disc.2004.02.0232-s2.0-24344495505WuJ.Extended fibonacci cubes19978121203121010.1109/71.6400122-s2.0-0031337411SunR.ZhuZ.TanL.On the Merrifield-Simmons index and Hosoya index of bicyclic graphs with a given girth2012103465478MR2907355ZBL1265.054722-s2.0-84855707606ZhuZ.TanL.QiuZ.Tricyclic graph with maximal Estrada index201416236437210.1016/j.dam.2013.08.045MR31285402-s2.0-84888012399ZhuZ.TaoT.YuJ.TanL.On the Harary index of cacti201428349350710.2298/FIL1403493Z