Constructing Independent Spanning Trees on Transposition Networks

In interconnection networks, data distribution and fault tolerance are crucial services. This study proposes an effective algorithm for improving connections between networks. Transposition networks are a type of Cayley graphs and have been widely used in current networks. Whenever any connection node fails, users want to reconnect as rapidly as possible, it is urgently in need to construct a new path. Thus, searching node-disjoint paths is crucial for finding a new path in networks. In this article, we expand the target to construct independent spanning trees to maximize the fault tolerance of transposition networks.


I. INTRODUCTION
In modern, networks have extensively and progressively increased in speed. Enterprises are concerned with user experience. Moreover, stability is a growing concern. Once a connection node, such as a router, has failed, a network's most crucial problem is to use some other path to restore connectivity. Node-disjoint paths can be found to solve such problems. Whenever a node fails on the path to a source node, systems can rapidly discover a new path to the source node. However, every node may connect to several node-disjoint paths, elegant and inelegant paths may overlap. As long as a node has failed, the records of other nodes may be invalid, and thus, some living nodes may be unsearchable. Independent spanning trees can be constructed to solve network connectivity problems.
A set of spanning trees in a graph G are vertex (resp., edge) independent if they are rooted at the same vertex r, and for each vertex v ∈ V (G)\{r}, the paths from v to r are vertex (resp., edge) disjoint [20]. Independent spanning trees guarantee that for every node there exists a path to all other nodes in different node-disjoint spanning trees. The strategy of constructing multiple independent spanning trees in networks can be used for fault-tolerant broadcasting and The associate editor coordinating the review of this manuscript and approving it for publication was Yue Zhang . secure distribution [2], [14]. Once we construct k independent spanning trees, we can obtain k node-disjoint paths for a node. These independent spanning trees can ensure fault tolerance, and this is because such a network can survive with k − 1 faulty components.
A Cayley graph [1], is a graph that satisfies = (G, S), for G is a finite group of V ( ) and S is a subset of G with E( ) = {(g, sg)|g∈G, s∈S} [29]. The transposition network [6], [9]- [11], [16], [25] is a subclass of Cayley graphs. An n-transposition network refers to a network whose nodes are permutations of n symbols, and a node is adjacent to another node with an address that differs to arbitrary two-digit transposition. According to the properties of Cayley graphs, an n-transposition network is a symmetric graph [1]. Consider to symmetry properties of transposition networks, such a network has a part of structure similar to a bubble-sort network, star network, and hypercube [21], [22]. Although research has been conducted on node-disjoint paths of transposition networks [24], the literature on the construction of independent spanning trees for transposition networks is scant. In this article, we present a novel algorithm for constructing maximal independent spanning trees for transposition networks.
The remainder of this article is organized as follows. Section II provides definitions of transposition networks and introduces some necessary properties. Section III presents the proposed algorithm for constructing independent spanning trees for transposition networks. Section IV provides a demonstration of the validity of the proposed algorithm. Finally, the conclusion are provided in Section V.

II. PRELIMINARIES
This section provides definitions of transposition networks and some other relevant symbols.
Definition 1: Independent Spanning Trees constitute a set of spanning trees that are rooted on the same node r in a graph G such that any arbitrary node except r forms node-disjoint paths to the root. Example 1: Consider, for example, Figure 1, according to the graph in Figure 1(a), we construct three spanning trees, as illustrated shown in Figure 1 Figure 1(c), and Figure 1(d). When we select a fixed root node r = 123 and any other arbitrary node v, such as 321, the paths from v to r of the three spanning trees are as follows:  of node-disjoint paths. Thus, the three spanning thees form a set of independent spanning trees.
Definition 2: An n-transposition network, denoted as T n , contains n! nodes. Each node is labeled with an unique address that belongs a 1, 2, . . . , n set of permutations. A node v that belongs to a transposition network is adjacent to nodes whose addresses switch any two arbitrary digits with the digits in the address of v. Figure 1(a) and Figure 2 present examples of T 3 and T 4 , respectively. Note that the networks can be presented in other forms than those in Figure 1(a) and Figure 2.
For a node v, we define v i as the ith digit of the node. Thus, v = v 1 v 2 . . . v n . For the neighbor of v, N (v) can be presented as follows: Example 2: Consider, for example, a node v = 1234 in T 4 ; the neighbor of v can be calculated using equation 1: Through the preceding calculation, we obtain six neighbors of v. According to definition 2, every node in an ntransposition network is labeled with a unique address of n digits. Every digit can switch places with any other n − 1 digits. Therefore, we can deduce the following property: Property 1: [22] An n-transposition network has connectivity n(n−1) 2 . Through property 1, we can calculate the total edges of transposition network G, . VOLUME 8, 2020 Property 2: [22] An n-transposition network is a bipartite graph.
Example 3: Figure 1(a) displays an example of T 3 . We can easily redraw the graph to the graph presented in Figure 3.
The bipartite graph is conducive to problem-solving. Property 3: [21] An n-transposition network is vertex and edge transitive.
Through property 3, the automorphism of transposition networks simplifies constructions of independent spanning trees that we can select a fixed node as root.

III. CONSTRUCTING INDEPENDENT SPANNING TREES ON T n
This section introduces the proposed algorithm for constructing independent spanning trees on T n . According to property 3, every transposition network is vertex and edge transitive, we select the address 12 . . . n as the common root of all independent spanning trees on T n for consistency. For clarity, we set the root node as r, and for convenience, we write v = 1234 as representing setting 1234 as the address of node v.
According to property 1, an n-transposition network has a connectivity of n(n−1) 2 , we deduce that exists n(n−1) 2 node-disjoint paths from a node to root. Therefore, we assume that T n comprises maximum independent spanning trees n(n−1) 2 because every path from a node to root in different independent spanning trees remains independent. To specify an independent spanning tree on T n , we define T n (i) as the ith independent spanning tree on T n , where i ∈ {1, 2, . . . , n(n−1) 2 }.

A. COMMON FUNCTIONS FOR CONSTRUCTION
For constructing independent spanning trees, we propose an algorithm, namely Transform, that can implement a transposition operation, with v being the selected node, p being the first selected position of the node, and q being the second selected position of the node.
To switch two selected digits, namely 2 and 4, of node v for the purpose of deriving a neighbor of node v, we can substitute p and q with the positions of the digits in the TRANSFORM algorithm, respectively. The position of digit 2 is 1 and the position of digit 4 is 4. Thus, p = 1 and q = 4, and we can obtain the address 4132.
To prevent confusion regarding whether a digit is meant as a literal integer or a position index, we propose an algorithm, namely Location, to determine the position of the digit as its solution, with v being the selected node, d being the selected digit, and n being the dimension of transposition network n in which v is set: To construct independent spanning trees, we must specify the neighbor selection procedure. The Select algorithm (Algorithm 3) can select different neighbors of a node based on a selected vertex v, the identification i of the spanning tree, and the dimension of the transposition network n. The algorithm can ensure the selection of different neighbors with the same v and n for each identification i of a spanning tree.
We subsequently present the construction of independent spanning trees on transposition networks of low dimension, and expand the dimension by induction. Because T 1 is a singleton graph and T 2 is a path graph on two vertices, the problem is trivial. Therefore, we start our construction on a three-dimensional transposition network. Before describing the algorithm, we introduce the following definitions, which are the foundations of our algorithms.
Definition 3: The function CREATE_TREE(r) creates a graph with root node r.
Definition 4: Let v be a node in a graph G. The function ADD_LINK(v, u) adds a new node u to G, with u being connected with v.
Definition 5: Let s be a vector of nodes in a graph G. The function GET_eLEMENT(s) returns a node in the queue s. Based on T 3 , it is difficult to observe any regularity between the three independent spanning trees directly according to Figure 1. From another perspective, we can reconstruct the set of independent spanning trees in the form of bipartite graphs. Figure 4 shows the results, which correspond to those in Figure 1 Figure 1(c), and Figure 1(d). According to the derived results, we can design a top-down algorithm, namely Construct_T3, for constructing independent spanning trees for T 3 , as presented in Algorithm 4. Note that r represents the root, i represents the identification of the spanning tree, and n represents dimension 3.
We can classify the construction process executed using the algorithm into two cases.
Only one spanning tree is constructed in Case 1, as illustrated in Figure 4(a).
Step 1 Select Transform(r, 1, 2) as the only children c of the root.
Step 2 Select all neighbors of c, except for r, as the children of c, assuming that the children are set as S.
Step 3 Select Transform(v, 1, 2) as the children of every node for v ∈ S. Notably, although T 3 seems to be a simple case, the construction algorithm plays a crucial role in constructing high-dimensional transposition networks. Due to the top-down nature of the construction algorithm, whether the spanning trees constructed by the algorithm include all nodes may be unclear. Therefore, we propose an algorithm, namely Parent_T3 (Algorithm 5). Parent_T3 returns the parent of node v except for the root; it is based on the selected node v, identification of the spanning tree i, and the dimension of the transposition network n. Note that we always select r = 12 . . . n as the root for consistency.

C. CONSTRUCTING INDEPENDENT SPANNING TREES ON T n
Next, for T n with n ≥ 4, the construction of independent spanning trees requires special technique to address the problem.
Definition 7: In T n , an i-container, i = 1, 2, . . . , n (n refers to the dimension of the network) represents a set that includes all the nodes for which the last digit equals i.
The container concept is essential for constructing independent spanning trees on T n . Figure 5 shows an example  for containers on T 4 , nodes in a dotted circle are classified as same container.
According to the group method in definition 7, we define a concept about transposition position: Definition 8: A fixed node in every container is adjacent to a node with the same transposition position, and the transposition position of a node is the node that takes a particular TRANSFORM operation on the fixed node.
In this article, we selected root and Transform(v, 1, 2) for v ∈ N (r) in any other container as fixed nodes. Example 5: Taking T 4 as the example. Consider 4-container and 3-container, we selected root and TRANSFORM(v, 1, 2), namely v = 2143, as fixed nodes. As we implement TRANSFORM operation to both fixed nodes, such as TRANSFORM(v, 1, 3), we will receive v 1 = 3214 and v 2 = 4123 respectively. v 1 and v 2 is said taking same transposition position (see Figure 6).
Based on our algorithm, we can distinguish three cases: Case 1: (Select(r, i, n)) n = r n ; the children of the root do not belong to the n-container.    Step 1 First, select a node that does not belong to the n-container as the only child c of the root (see Figure 7). Step 2 Next, select all neighbors of c in the current container as the children of c (see Figure 8).
Step 3 Next, select all neighbors of Transform(c, 1, 2) in the current container as the children (see Figure 9). Step 4 Finally, select all neighbors of the nodes in the current container (see Figure 10).   Case 2: Select(r, i, n) = Transform(r, 1, 2) and (Select(r, i, n)) n = r n ; the children of the root belong to the n-container, except for the node in Special Case.
Step 1 First, inside the n-container, construct a tree that exhibits the same behavior as that of T 3 Case 2 (see Figure 11). Note that the node v = Transform(r, 1, 2) belongs to the special case and is thus not selected.
Step 2 Next, select all neighbors of Select(r, i, n) as the children of Select(r, i, n) (see Figure 12).

Step 3 Finally, execute selection and construction
processes similar to those in T 3 Case 2 (see Figure 13). Special case: Select(r, i, n) = Transform(r, 1, 2); the children of the root are denoted Transform(r, 1, 2) and are treated as a special case.
Step 1 First, inside the n-container, construct a tree that exhibits same behavior that of T 3 Case 1 (see Figure 14). Step 2 Next, for Transform(r, 1,2) and N (Transform (r, 1, 2)) in the n-container, select all   neighbors in any other container as their children (see Figure 15). Step 3 Finally, for the nodes v selected in Step 2, select Transform(v, 1, 2) as the children (see Figure 16).
With the cases above, we design algorithm 6 presenting the constructions of independent spanning trees on T n with n ≥ 4, with v representing the selected node, i representing the identification of the spanning tree, and n representing the dimension of the transposition network.
Algorithm 7 shows the Parent function for n ≥ 4, with v representing the selected node, i representing the identification of the spanning tree, and n representing the dimension of the transposition network. Note that we always retain the same root node for consistency. Table 1 lists every node and its parent in every independent spanning tree. Figures 17-19 show examples of Case 1, Case 2, and Special case pertaining to the construction of independent spanning trees for T 4 using our algorithm. VOLUME 8, 2020 Algorithm 6 CONSTRUCT_T n (r, i, n) 1,2) and w n = r n then

IV. PROOF OF VALIDITY
This section demonstrates the validity of the algorithm. Because of the few nodes of T 3 , we can check the independence of spanning trees directly. We start our proof with n ≥ 4.
Lemma 1: Every pair of nodes in any two different containers have no share neighbors.
Proof: Because the last digits of the addresses of the nodes inside a container are the same, every node remains unique as we hide its last digit. To move to another container, the last digit of the address must be changed because it is not return p equal to the last digit in the container at the destination. Therefore, we search the target container and make appropriate exchanges for the final digits. Because all nodes in a container are unique, the addresses of the nodes remain unique when we exchange the last digits. Theorem 1: For n ≥ 4, T n−1 is a part of T n . Proof: Consider the container problem; we can obtain all nodes of T 3 in a 4-container. The relation between nodes remains the same as we hide the last digits of the addresses (neighbors are still in relation of transposition). Therefore, T 3 is a part of T 4 . We can obtain all nodes of T n−1 in any i-container, i = 1, 2, 3, . . . , n. A transposition operation from a node to another node in the same container never switch with the last digit. We can consider it as an n−1-transposition  network because relation between nodes remains transposition with ignoring the last digits. Therefore, for n ≥ 4, T n−1 is a part of T n .   inside the container can be subtracted; a node can connect to n(n−1) 2 − (n−1)(n−2) 2 = n − 1 nodes outside the current container. According to Lemma 1, we can conclude that for all the nodes in a container, each node does not share neighbors in any other container, which means all the neighbors are unique. Because a container contains (n − 1)! nodes, we can directly multiply it: (n − 1) × (n − 1)! = (n − 1)(n − 1)! nodes. After adding back the number of nodes in the container, we can obtain the number of all nodes in a transposition network.
Theorem 2: For n ≥ 4, the independent spanning trees of T n−1 are a part of the independent spanning trees of T n .
Proof: On the basis of Algorithm 7, we implement a version of algorithm 4 designed for T 3 inside a container. Because Algorithm 4 forms independent spanning trees, we can conclude that the independent spanning trees of T 3 are a part of the independent spanning trees of T 4 (see Figure 20). We can expand the proof by enlarging the bipartite set of a container for higher dimensions. In a container for every container base construction, the algorithm always do an T 3 -like construction. The spanning trees of T n are clearly expansion of T n−1 by connecting nodes to central nodes. Because the basic algorithm remains the same, we can conclude that for n ≥ 4, the independent spanning trees of T n−1 are a part of the independent spanning trees of T n .
Proof: We prove the correctness of our algorithm with the following cases.  1, 2). We can prove its independence because Special case is independent of Case 2 (according to Algorithm 4), and also independent of Case 1 because every node created in Case 1 in the starting container is a leaf node. Next, we walk through all neighbors of TRANSFORM(r, 1, 2) and TRANSFORM(N (r), 1, 2). Compared with Case 2, when we construct a node-disjoint path back to the root, we can walk through the neighbor of the root and then back to the root in Case 2. By contrast, in Special case, we can walk through the neighbor of the aforementioned node, and can walk through TRANSFORM(r, 1, 2) and then back to the root. This thus renders the two cases independent of each other. Next, we can walk through the neighbor of the node in the previous step through TRANSFORM (v, 1, 2). In Case 1, under the condition of neighbors of TRANSFORM(r, 1, 2), we observe the same transposition position.
Because the node TRANSFORM(v, 1, 2) equals the neighbor of the root, it is valid to construct because Case 1 entails walking through the node and back to the root. However, Special case entails starting from the node and walking through TRANSFORM(v, 1, 2) and back to TRANSFORM(r, 1, 2), which verifies the independence of the two cases. Through our algorithm, we can precisely construct one independent spanning tree through Special case. On the basis of the preceding proof, we can conclude that all spanning trees in all cases are independent of each other. Furthermore, through mathematical calculations, the total independent spanning trees constructed in ther three cases are (n − 1) + ( (n−1)(n−2) 2 − 1) + (1) = (n)(n−1) 2 . Therefore, we can conclude that for n ≥ 4, T n (1), T n (2), . . . , T n ( n(n−1) 2 ) are n(n−1) 2 independent spanning trees of T n constructed by the CONSTRUCT_T n (r, i, n) algorithm. Proof: Because every node and every directed edge are traversed once, the time complexity of of the algorithm in an n-transposition network is the summation of the numbers of nodes and directed edges. The number of nodes is n! and the number of directed edges is n! × n(n−1) 2 . The time complexity is O(n! + n! × n(n−1) 2 ) = O(n! × (1 + n(n−1) 2 )) = O(n 2 × n!).

V. CONCLUSION
In this article, we study the problem of searching and constructing independent spanning trees on transposition networks, which are vital for interconnection networks. The present study is the first to construct maximal independent spanning trees on transposition networks. Appealing topics for future work can involve determining low-cost methods for constructing independent spanning trees. It is a challenge to pursue the goal of reducing the heights of ISTs (the longest path from the root to any leaf) and the time complexity of the algorithm. Moreover, many problems involving Cayley graphs and other interconnection networks remain unsolved. We expect that our algorithm can make notable contributions to graph theory.