Abstract

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 admits two edge-disjoint Fibonacci trees of height , two edge-disjoint Fibonacci trees of height , two edge-disjoint Fibonacci trees of height 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, , has vertices each labelled with a binary string of length . Two vertices are adjacent if and only if their labels differ in exactly one position. Figure 1 shows hypercubes of dimensions , , and .

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 (underlying a parallel algorithm ) within the interconnection network topology (underlying a parallel computer ) 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 into (host) graph is a function such that if is an edge in , then and are connected by a path in . Dilation is one of the important parameters that measure the quality of an embedding. Defining mathematically, dilation , where denotes the length of the shortest path connecting two vertices and in in . The dilation measures the communication delay when graph is embedded on graph . If dilation equals , then it implies that there is no communication latency and is isomorphic to a subgraph of and we write . Since one aims to reduce the communication latency in a network, the goal of a parallel algorithm designer is to map the algorithm graph into the corresponding network such that .

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 [46]. A number of trees of a graph are said to be edge-disjoint if no two trees contain the same edge of . 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 [46].

It has been proved in [7] that a Fibonacci tree of height is a subgraph of a hypercube with dimension . Since the hypercube is not big enough to accommodate two copies of , we choose to embed at least two copies of edge-disjoint Fibonacci trees. In this paper, we prove that, for , the hypercube contains edge-disjoint copies of two , two , and two , where if is even and if is odd. This is denoted by . For any graph , an embedding is a labelling of the vertices of with binary strings of length . Clearly, if and only if and differ in exactly one position whenever is an edge in . 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 if its height is ) is given below.

Definition 1. , , where is a complete graph on vertices. For , is obtained by taking a copy of , a copy of , and a new vertex and joining to the roots of and .

Figure 2 shows a few examples of small Fibonacci trees and the recursive construction.

The above recursive definition implies that the number of vertices in is . On solving this recurrence relation, we get , where is the th number in the Fibonacci sequence, , , ; 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 , the hypercube contains two edge-disjoint Fibonacci trees and of height such that roots of and are labelled and , respectively.

Proof. We prove the result by induction on . To do so, it is sufficient to give two labellings and for the tree . For the basic case , the two labellings for each of and are given in Figures 3 and 4, respectively. In Figure 3(c) (resp., Figure 4(c)), we show the two trees and (resp., and ) inside (resp., ) as dashed and dotted lines, respectively.
For , we give a labelling procedure for and . We first provide the labelling for . By induction hypothesis we are given embeddings (labellings) and . For notational convenience, we denote by and by . We extend the labellings and to a labelling of by prefixing the labels of all the vertices of by and the labels of all the vertices of by and label the root of by ; see Figure 5(a). We note that the roots of and are labelled and and both are adjacent to the root of which is labelled . In a similar way, we next provide the labelling for . By induction hypothesis we are given embeddings (labellings) and . For notational convenience, we denote by and by . We extend the labellings and to a labelling of by prefixing the labels of all the vertices of by and the labels of all the vertices of by and label the root of by ; see Figure 5(b). The recursive labelling technique of (and hence ) does not alter the adjacency property of the vertices since (and hence ) is an injective extension of and ( and ). The trees and are the required two edge-disjoint copies of in .

Theorem 3. For , , where if is even and if is odd.

Proof. In the labelling technique of discussed in Theorem 2, the root is the only vertex whose label starts with . Hence, apart from the two copies of , the edges of are unused in . By recursion, contains , hence the theorem. As an illustration, referring to Figure 4, the hypercube apart from containing two shown in dashed and dotted lines, it also contains two as follows: since is isomorphic to a path on four vertices, we give two path labellings (1) and (2) .

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 [1214].

3. Conclusion

In this paper we proved that, for every , the hypercube of dimension contains two edge-disjoint copies of as subgraph (that is with dilation ). 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.