Keywords

1 Introduction

Graph embedding has been an integral tool in efficient implementation of parallel algorithms on parallel computers with minimal communication overhead. A graph embedding comprises of an ordered pair of injective maps \(\prec f,p \succ \) from a guest graph \(G = (V(G),E(G))\) to a host graph \(H = (V(H),E(H))\) which is formulated as follows: f is a mapping from V(G) to V(H) and p assigns to each edge (ab) of G, a shortest path p(ab) in H [1, 7]. Figure 1 illustrates a graph embedding. The edge congestion of an embedding is defined by \(EC_{\prec f,p \succ }(e) = |{(a,b) \in E(G):e \in E(p(a,b)})|\) [6].

Fig. 1.
figure 1

Embedding of an enhanced hypercube G into rooted complete binary tree H

The layout \(L_{\prec f,p \succ } (G,H)\) of an embedding is defined as the sum of edge congestion of all the edges of H [3, 5]. The minimum layout of G into H is given by L(GH) = \(\min L_{\prec f,p \succ } (G,H)\). The minimum layout problem is to find the embedding that induces L(GH). When the host graph is a tree, the layout problem finds application in graph drawing, data structures and representations and networks for parallel systems [5, 10].

Maximum Induced Subgraph Problem [3]: Let \(G=(V(G),E(G))\) and \(S\subseteq V(G)\). Let \(I_{G}(S)=\{(u,v)\in E(G):u\in S\) and \(v\in S\}\) and for \(1 \le k \le |V(G)|\), let \(I_{G}(k)= \mathop {\text {max}}\limits _{S\subseteq V\text {, }\left| S\right| = k} \left| I_{G}(S)\right| \). Then the problem is to find \(S\subseteq V(G)\) with \(\left| S\right| =k\) such that \(I_{G}(k) = \left| I_{G}(S)\right| \). Such a set S is called an optimal set with respect to the maximum induced subgraph problem.

Min-cut Problem [3]: Let \(G=(V(G),E(G))\) and \(S\subseteq V(G)\). Let \(\varTheta _{G}(S)=\{(u,v) \in E:u\in S \ \mathrm{and} \ v\notin S\}\) and for \(1 \le k \le |V(G)|\), let \(\varTheta _{G}(k)= \mathop {\text {min}}\limits _{S\subseteq V\text {, }\left| S\right| =k} \left| \varTheta _{G}(S)\right| \). Then the problem is to find \(S\subseteq V(G)\) with \(\left| S\right| =k\) such that \(\varTheta _{G}(k) = \left| \varTheta _{G}(S)\right| \). Such a set S is said to be optimal with respect to the min-cut problem. For any graph G, \(\varTheta _{G}(V-S)=\varTheta _{G}(S)\) for all \(S\subseteq V(G)\). If G is an r-regular graph, then \(\varTheta _{G}(k) = rk-2I_{G}(k)\) for every \(k \in \{1,2,\ldots ,|V(G)|\}\).

The following results provide a method for partitioning the edges of the host graph which in turn can be effectively used to solve the minimum layout problem.

Lemma 1

(Congestion Lemma) [6]. Let G be an r-regular graph and \(\prec f,p\succ \) be an embedding of G into H. Let S be an edge cut of H such that the removal of edges of S splits H into 2 components \(H_{1}\) and \(H_{2}\) and \(EC_{\prec f,p\succ } (S)\) denote the sum of edge congestion over all the edges in S. Let \(G_{1} = G[f^{-1}(H_{1})]\) and \(G_{2} = G[f^{-1}(H_{2})]\). Suppose the following conditions hold.

  1. 1.

    For every edge \((a,b) \in G_{i}\), \(i = 1, 2\), p(ab) has no edges in S.

  2. 2.

    For every edge (ab) in G with \(a \in G_{1}\) and \(b \in G_{2}\), p(ab) has exactly one edge in S.

  3. 3.

    \(G_{1}\) is optimal with respect to the maximum induced subgraph problem.

Then \(EC_{\prec f, p \succ } (S)\) is minimum and \(EC_{\prec f, p \succ } (S) = \varTheta _{G}(|V(G_{1})|) =\varTheta _{G}(|V(G_{2})|)\).

Lemma 2

[6]. Let \(\prec f,p\succ \) be an embedding from G into H. Let \(\{S_{1}, S_{2}, \ldots , S_{p}\}\) be a partition of E(H) such that \(EC_{\prec f,p\succ }(S_{i})\) is minimum for all i. Then \(L_{\prec f,p\succ } (G,H)\) is minimum and \(L_{\prec f,p\succ } (G,H) = {\mathop {\sum }\limits ^{p}_{i=1}} EC_{\prec f, p \succ } (S_{i})\).

Definition 1

[10]. A circulant undirected graph \(G(n;\pm S)\), \(S \subseteq \) \(\{1,\ldots ,\left\lfloor n/2\right\rfloor \}\), \( n\ge 3\) is defined as a graph consisting of the node set \(V=\{0,1,\) \(\ldots ,\) \( n-1\}\) and the edge set \(E=\{(i,j):\left| j-i\right| \equiv s(mod \ n),\) \(s\in \pm S\}\).

In this paper, we confine our work to the circulant graph \(G(n;\pm S)\), where \(S = \{1,2,...,j\}\), \(1\le j<\left\lfloor n/2\right\rfloor \). For \(n\ge 3\), \(1\le j<\left\lfloor n/2\right\rfloor \), \(G(n;\pm \{1,2,...,j\})\) is a 2j-regular graph. Figure 2(a) illustrates a circulant graph.

Lemma 3

[8]. A set of k consecutive nodes induces an optimal set with respect to the maximum induced subgraph problem in \(G(n;\pm S)\) on k nodes.

Lemma 4

[8]. Let G be the circulant graph \( G(n;\pm S)\), \(n\ge 3\). Then for \(1\le k\le n\),

$$\begin{aligned} I_{G}(k)=\left\{ \begin{array}{lcl} k(k-1)/2 &{} ; &{} k\le j+1 \\ kj-j(j+1)/2 &{} ; &{} j+1<k\le n-j \\ \frac{1}{2}\{(n-k)^{2}+(4j+1)k-(2j+1)n\} &{} ; &{} n-j<k\le n\text { .} \end{array} \right. \end{aligned}$$
Fig. 2.
figure 2

(a) Circulant graph \(G(8;\pm \{1,2,3\})\) (b) Wounded lobster \(L_{4}\)

A height balanced tree T is a rooted binary tree in which for every node v, the difference between the heights of the left and right child denoted as \(v_{1}\) and \(v_{2}\) respectively is at most one [2].

Fibonacci trees are a type of height balanced trees which are built recursively in one of the following two ways.

Fibonacci Tree \(f_{h}\) [4]: The trees \(f_{1}\) and \(f_{2}\) consists of only the root node. For \(h \ge 3\), \(f_{h}\) is constructed by taking a new root node and attaching \(f_{h-1}\) on the left side and \(f_{h-2}\) on the right side of the root node by an edge as shown in Fig. 3(a).

Fibonacci Tree \(f^{'}_{h}\) [2]: The tree \(f^{1}_{1}\) consists of only the root node and \(f^{'}_{2}\) is formed by attaching a pendant node to the root node. For \(h \ge 3\), the left subtree of \(f^{'}_{h}\) is \(f^{'}_{h-1}\) and its right subtree is \(f^{'}_{h-2}\). Figure 3(b) illustrates \(f^{'}_{h}\) for \(h = 1,2,\ldots 5\).

Fig. 3.
figure 3

(a) \(f_{h}\) type Fibonacci trees (b) \(f^{'}_{h}\) type Fibonacci trees

Let \(|V(f_{h})| = m_{h}\) and \(|V(f^{'}_{h})| = m^{'}_{h}\). Then, \(m_{h} = 2F_{h}-1\) and \(m^{'}_{h} = F_{h+2}-1\), where \(F_{h}\) denotes the Fibonacci number.

Definition 2

[9]. A lobster is a tree with the property that the removal of pendant nodes leaves a caterpillar. A wounded lobster \(L_{n}\) is a lobster satisfying the following conditions:

  1. (i)

    There are \(2^{n-2}\) spine nodes and every spine node is adjacent to exactly one node of degree 2 and one node of degree 1.

  2. (ii)

    Removal of pendant nodes incident at nodes of degree 2 leaves a caterpillar.

Figure 2(b) illustrates a wounded lobster.

There are several techniques for traversing the nodes of a tree according to the order in which the nodes are visited. In this paper we confine our study to postorder.

figure a

2 Main Results

In this section we embed the circulant graph into Fibonacci trees and wounded lobster to minimize their layouts.

Table 1. Labeling algorithm

Theorem 1

The minimum layout of circulant graphs \(G = G(m_{h};\pm S)\) and \(G^{'} = G(m^{'}_{h};\pm S)\) into the Fibonacci trees is given by (a) \(L(G, f_{h}) = F_{h-2}. \varTheta _{G}(m_{3})\) \(+ F_{h-3}.\varTheta _{G}(m_{4}) + \ldots + F_{2}.\varTheta _{G}(m_{h-1}) + 2|S|\) and \((b) L(G{'}, f^{'}_{h}) = F_{h-1}. \varTheta _{G^{'}}(m^{'}_{2}) + F_{h-2}.\varTheta _{G^{'}}(m^{'}_{3}) + \ldots + 2 \varTheta _{G^{'}}(m^{'}_{h-2}) + \varTheta _{G^{'}}(m^{'}_{h-1}) + 2|S|\).

Proof

We split the proof into three parts comprising of labeling the guest and host graphs, followed by the proposal of embedding and layout computation.

Guest and Host Labeling: Label the circulant graph and the two types of Fibonacci trees as in the pattern given in Table 1.

Proposed Embedding: Define an embedding \(\prec f,p \succ \) from \(G(m_{h};\pm S)\) into \(f_{h}\) and \(G(m^{'}_{h};\pm S)\) into \(f^{'}_{h}\) such that \(f(x) = x\).

Layout Computation: We split the proof into two cases.

Proof for (a): For \(1 \le i \le m_{h}-1\), let \(S_{i}\) be an edge cut of \(f_{h}\) such that its removal disengages \(f_{h}\) into two components \(X_{i}\) and \(\overline{X}_{i}\) as shown in Fig. 4(a), with the node set \(V_{i}\) of \(X_{i}\) being as follows.

For \(1 \le i \le m_{h-1}\),

$$\begin{aligned} V_{i} = {\left\{ \begin{array}{ll} \begin{array}{l l} \{0,1, \ldots , i-1\}, &{} if \ i = m_{g}, 1 \le g \le h-1 \\ \{m_{a}, m_{a}+1, \ldots , i-1\}, &{} if \ i = m_{a} + m_{b}, 1 \le b < a \le h-1 \\ \{i-1\}, &{} otherwise. \end{array} \end{array}\right. } \end{aligned}$$

For \(m_{h-1} + 1 \le i \le m_{h} - 1\),

Let \(G_{i}\) be the graph induced by \(\{f^{-1}(u): u \in V_{i}\}\). It can be noted that \(X_{i}\) is consecutively labeled for all i and hence by Lemma 3, \(V_{i}\) is an optimal set with respect to the maximum induced subgraph problem. \(S_{i}\) also satisfies conditions (i) and (ii) of Lemma 1. In addition, \(\{S_{i}\}_{i=1}^{m_{h}-1}\) forms a partition of \(E(f_{h})\). Hence by Lemma 2, \(L_{\prec f,p\succ }(G, f_{h})\) is minimum.

Let \(m_{h}-1 = F_{h} + F_{h-2} + F_{h-3} + F_{h-4} + \ldots F_{2}\), where \(m_{h}-1\) represents the number of edge cuts of \(f_{h}\) and \(F_{h}, F_{h-2}, F_{h-3}, \ldots , F_{3}, F_{2}\) denote the number of node sets \(V_{i}\) of cardinality \(m_{2}, m_{3},\ldots , m_{h-2}\) and \(m_{h-1}\) respectively.

Layout: \(L(G, f_{h}) = \mathop {\sum }\limits ^{m_{h}-1}_{i=1} EC_{\prec f,p \succ } (S_{i}) = \mathop {\sum }\limits ^{m_{h}-1}_{i=1} \varTheta _{G} (|V_{i}|) = \mathop {\sum }\limits ^{F_{h}}_{i=1} \varTheta _{G} (m_{2}) + \mathop {\sum }\limits ^{F_{h-2}}_{i=1} \varTheta _{G}\) \((m_{3}) + \mathop {\sum }\limits ^{F_{h-3}}_{i=1} \varTheta _{G} (m_{4}) + \ldots + \mathop {\sum }\limits ^{F_{3}}_{i=1} \varTheta _{G} (m_{h-2}) + \mathop {\sum }\limits ^{F_{2}}_{i=1} \varTheta _{G} (m_{h-1}) = F_{h-2}. \varTheta _{G}(m_{3}) + F_{h-3}.\varTheta _{G}(m_{4}) + \ldots + F_{2}.\varTheta _{G}(m_{h-1}) + 2|S|\).

Proof for (b): Let \(S^{'}_{i}\), \(1 \le i \le m_{h}-1\) be an edge cut of \(f^{'}_{h}\) such that removal of \(S^{'}_{i}\) disconnects \(f^{'}_{h}\) into two components \(Y_{i}\) and \(\overline{Y}_{i}\) as depicted in Fig. 4(b) where the node set \(V^{'}_{i}\) of \(Y_{i}\) is defined by replacing \(m_{g}, m_{a}, m_{b}\) and \(m_{h-1}\) in \(V_{i}\) of case (a) by \(m^{'}_{g}, m^{'}_{a}, m^{'}_{b}\) and \(m^{'}_{h-1}\) respectively.

Let \(G^{'}_{i}\) be the graph induced by \(\{f^{-1}(a): a \in V^{'}_{i}\}\). Clearly \(X_{i}\) is labeled consecutively for all i and hence by Lemma 3, \(V^{'}_{i}\) is an optimal set with respect to the maximum induced subgraph problem. \(S^{'}_{i}\) also satisfies the remaining two conditions of Lemma 1. In addition, \(\{S^{'}_{i}\}_{i=1}^{m^{'}_{h}-1}\) forms a partition of \(E(f^{'}_{h})\). Hence by Lemma 2, \(L_{\prec f,p\succ }(G, f^{'}_{h}) = L(G, f^{'}_{h})\).

Let \(m^{'}_{h}-1 = F_{h} + F_{h-1} + F_{h-2} + \ldots F_{2}\), where \(F_{h}, F_{h-1}, F_{h-2}, \ldots , F_{3}, F_{2}\) denote the number of nodes sets \(V^{'}_{i}\) of cardinality \(m^{'}_{1}, m^{'}_{2},\ldots , m^{'}_{h-2}\) and \(m^{'}_{h-1}\) respectively.

Layout: \(L(G^{'}, f^{'}_{h}) = \mathop {\sum }\limits ^{m^{'}_{h}-1}_{i=1} EC_{\prec f,p \succ } (S^{'}_{i}) = \mathop {\sum }\limits ^{m^{'}_{h}-1}_{i=1} \varTheta _{G^{'}} (|V^{'}_{i}|) = \mathop {\sum }\limits ^{F_{h}}_{i=1} \varTheta _{G^{'}} (m^{'}_{1}) + \mathop {\sum }\limits ^{F_{h-1}}_{i=1} \varTheta _{G^{'}} (m^{'}_{2}) + \ldots + \mathop {\sum }\limits ^{F_{3}}_{i=1} \varTheta _{G^{'}} (m^{'}_{h-2}) + \mathop {\sum }\limits ^{F_{2}}_{i=1} \varTheta _{G^{'}} (m^{'}_{h-1}) = F_{h-1}. \varTheta _{G^{'}}(m^{'}_{2}) + F_{h-2}.\varTheta _{G^{'}}\) \((m^{'}_{3}) + \ldots + 2 \varTheta _{G^{'}}(m^{'}_{h-2}) + \varTheta _{G^{'}}(m^{'}_{h-1}) + 2|S|\).

Theorem 2

The minimum layout of \(G=G(2^{n};\pm S)\) into the wounded lobster \(L_{n}\) is given by \(L(G,L_{n}) = \frac{1}{3}\{2^{n-1}(12j(2^{n-4}+1) + 2^{n-3}(3-2^{n})-7)\}.\)

Proof

Guest and Host Labeling: Label \(G(2^{n};\pm S)\) in the clockwise direction as described in Table 1. Label \(L_{n}\) using postorder tree traversal order from 0 to \(2^{n}-1\).

Proposed Embedding: Define an embedding \(\prec f,p \succ \) from \(G(2^{n};\pm S)\) into \(L_{n}\) such that \(f(x) = x\).

Layout Computation: Table 2 gives three sets of edge cuts covering \(E(L_{n})\) and the node set of the components obtained by the removal of these edge cuts as depicted in Fig. 4(c).

Table 2. Edge cuts of \(L_{n}\)

Let \(G_{r}\), \(G^{'}_{r}\) and \(G^{''}_{r}\) be the inverse image of \(Y_{r}\), \(Y^{'}_{r}\) and \(Y^{''}_{r}\) respectively under \(\prec f,p \succ \). By Lemma 3, the node set of all the three inverse images are optimal in G with respect to the maximum induced subgraph problem. All three edge cuts \(S_{r}\), \(S^{'}_{r}\) and \(S^{''}_{r}\) also satisfy the remaining two conditions of Lemma 1. In addition, \(\{S_{r}, r = 1,2,\ldots ,2^{n-1}\} \cup \{S^{'}_{r}, r = 1,2,\ldots ,2^{n-2}\} \cup \{S^{''}_{r}, r = 1,2,\ldots ,2^{n-2}-1\}\) forms a partition of \(E(L_{n})\). Hence by Lemma 2, the layout induced by the embedding \(\prec f,p \succ \) is minimum.

From Lemmas 2 and 4, \(L(G, L_{n}) = \mathop {\sum }\limits ^{2^{n-1}}_{r=1} EC_{\prec f,p \succ }(S_{r}) + \mathop {\sum }\limits ^{2^{n-2}}_{r=1} EC_{\prec f,p \succ }(S^{'}_{r}) + \mathop {\sum }\limits ^{2^{n-2}-1}_{r=1} EC_{\prec f,p \succ }(S^{''}_{r}) = \mathop {\sum }\limits ^{2^{n-1}}_{r=1} \varTheta _{G}(|V(Y_{r})|) + \mathop {\sum }\limits ^{2^{n-2}}_{r=1} \varTheta _{G}(|V(Y^{'}_{r})|) + \bigg \{\mathop {\sum }\limits ^{2^{n-3}}_{r=1} \varTheta _{G}(|V(Y^{''}_{r})|) + \mathop {\sum }\limits ^{2^{n-2}-1}_{r=2^{n-3}+1} \varTheta _{G}(|V(Y^{''}_{r})|) \bigg \} = \frac{2^{n-1}}{3}\left\{ \right. 12j\) \((2^{n-4}+1) + 2^{n-3}(3-2^{n})-7\left. \right\} .\)

Fig. 4.
figure 4

Edge cuts of (a) \(f_{5}\) (b) \(f^{'}_{5}\) (c) \(L_{4}\)

3 Conclusion

In this paper we have embedded and found the minimum layout of the circulant graph into certain classes of height balanced trees like Fibonacci trees and wounded lobster by using edge partitioning techniques and isoperimetric methods.