An Algorithm for Identifying the Isomorphism of Planar Multiple Joint and Gear Train Kinematic Chains

Isomorphism identification of kinematic chains is one of the most important and challenging mathematical problems in the field of mechanism structure synthesis. In this paper, a new algorithm to identify the isomorphism of planar multiple joint and gear train kinematic chains has been presented. Firstly, the topological model (TM) and the corresponding weighted adjacency matrix (WAM) are introduced to describe the two types of kinematic chains, respectively. Then, the equivalent circuit model (ECM) of TM is established and solved by using circuit analysis method. The solved node voltage sequence (NVS) is used to determine the correspondence of vertices in two isomorphism identification kinematic chains, so an algorithm to identify two specific types of isomorphic kinematic chains has been obtained. Lastly, some typical examples are carried out to prove that it is an accurate, efficient, and easy mathematical algorithm to be realized by computer.


Introduction
Isomorphism identification is one of indispensable steps in the structural synthesis of kinematic chains, so a lot of studies have been done in this field.Until now, many methods have been presented for planar simple joint kinematic chains, such as the characteristic polynomial methods, which were developed in the papers [1][2][3][4][5][6][7][8] for detecting isomorphic kinematic chains by typical topological graphs.Although most of these methods are efficient, counterexamples have been found against them [8].The max-(min-) code [9,10], degreecode [11], and standard-code methods [12,13] which are based on code number may be effective, but they are inadequate in efficiency.The Hamming number approach [14][15][16] is introduced for isomorphism identification, but the counterexamples also are found against them.The adjacent chain table method [17] seems hard to be realized by computer.The fuzzy logic method [18] also displays some new ideas for isomorphism identification and structural analysis of simple joint kinematic chains, but it needs more storage space.The method of eigenvectors and eigenvalues of adjacency matrices [19][20][21][22] detects isomorphism through computation of eigenvectors and eigenvalues as well as some permutation operations.The method of finding a unique representation of graphs to identify isomorphism kinematic chains is presented by Ding and Huang [23,24].In addition, some unconventional methods, such as genetic algorithm [25] and artificial neural network approach [26], are also introduced to pursue the issue.
So far, isomorphism identification of kinematic chains studied most is about those planar simple joint chains, and identification technique for this kind of chains is comparatively mature.However, besides simple joint chains, planar kinematic chains also include multiple joint kinematic chains and gear train kinematic chains.The two special types of kinematic chains can be used in a lot of mechanism design problems.As we know, isomorphism identification methods used in the simple joint chains are always not satisfying these two specific types of kinematic chains.In the field of isomorphism identification of multiple joint kinematic chains, adjacent chain table method was introduced in the paper [27].Song et al. [28] presented the spanning tree method of identifying isomorphism and topological symmetry for multiple joint kinematic chains, but this method was not easily achieved by computer.Liu and Yu [29] presented a representation and isomorphism identification of planar multiple joint kinematic 2 Mathematical Problems in Engineering  chains based on the converted adjacent matrix, but converted adjacent matrix not only increased the order of matrix but also added the complexity of isomorphism identification process.In the structural synthesis process of gear train kinematic chains, correctly identifying graph isomorphism is an important step which generates new structural types.Papers [30][31][32] try to do the structural synthesis of gear train kinematic chains.One of the main reasons for the incorrect identification or inconsistency in results is that there is a lack of efficient isomorphism tests.The purpose of paper [33] is to present an efficient methodology through using the loop and hamming number concept to detect the isomorphism of gear train kinematic chains in an unambiguous way.So, from the researches above, finding a useful method to solve the problem of isomorphism identification of planar multiple joint and gear train kinematic chains is the existing research content and further study is necessary.
In this paper, a new algorithm based on the equivalent circuit analysis for isomorphism identification of planar multiple joint and gear train kinematic chains is presented.Firstly, weighted-double-color-contracted-graph (WDCCG) and corresponding weighted adjacency matrix (WAM) are introduced to describe the two special types of kinematic chains, respectively.Corresponding equivalent circuit model (ECM) of the WDCCG is established, which uses circuit analysis method to obtain the node voltages of every vertex in WDCCG.The solved node voltage sequence (NVS) is used to determine correspondence vertices of two isomorphism identification kinematic chains.Then, a new algorithm to determine isomorphism of the two types of kinematic chains is proposed.

Topological Model of Multiple Joint Kinematic Chains.
Before further discussion, the following common concepts are introduced as follows.
Simple Joint.If two links are connected by a revolute joint, then a simple joint is formed.For example, a simple joint  is formed by connecting links 5 and 6, which is shown in Figure 1(a).
Multiple Joint.If there are more than two links connected by revolute joints at the same location, then a multiple joint is formed.A multiple joint composed by  links contains ( − 1) revolute joints.For example, a multiple joint a is formed by connecting links 1, 2, and 9, as shown in Figure 1(b), and it contains 2 revolute joints.
A planar simple joint kinematic chain is a kinematic chain only composed of simple joints, if there is a kinematic chain containing multiple joint, called a multiple joint kinematic chain, for example, a multiple joint kinematic chain which is shown in Figure 2(a).
In a multiple joint kinematic chain, because a multiple joint  composed of  links contains ( − 1) simple joints, defined multiple joint factor   of a multiple joint  is as follows: ( And the total multiple joint factors  of a kinematic chain can be obtained by adding all multiple joint factors of a kinematic chain together as follows: So as for a multiple joint kinematic chain as shown in Figure 2(a), it has two multiple joints  and ; these joints , , , , ℎ, , , and  are simple joints.Multiple joint  is formed by connecting four links, 6, 7, 8, and 10, so its corresponding multiple joint factor is   = 2. Multiple joint  is formed by connecting three links, 4, 5, and 10, so its corresponding multiple joint factor is   = 1.And the total multiple joint factors of this kinematic chain is  = 3.
As we know, topological model (TM) of multiple joint kinematic chain can be represented by the double color graph (DCG) as shown in Figure 2(b) [23].But it has too many vertices (number of vertices equal to the number of links and joints of a kinematic chain), so more storage space is needed in the process of structural analysis by computer.In this paper, a weighted double color contracted graph (WDCCG) is introduced to represent the topological structure of kinematic chains.The WDCCG model which wiped off all of the simple joints and simple joint links form the multiple joint kinematic chain can improve the efficiency of isomorphism identification.The graph is established as follows: solid vertices "e" denote multiple joint links and hollow vertices "I" denote multiple joints.If two multiple joint links are connected by simple joints and simple joint links, connect two corresponding solid vertices with a weighted edge (weighted value equal to the number of simple joints between two vertices).If one multiple joint link is connected with one multiple joint or two multiple joints are connected by simple joints and simple joint links, connect them with a weighted edge as well (weighted value also equal to the number of simple joints between two vertices).For example, Figure 2(c) is the WDCCG of multiple joint kinematic chain as shown in Figure 2(a).

Topological Model of Gear Train Kinematic Chain.
In this paper, topological model (TM) of gear train kinematic chains can be represented by two topological graphs.Firstly, double color graph (DCG) is established as follows: represent the gears and planet carrier with solid vertices "e," gear joints with hollow vertices "Δ," and revolute joint with hollow vertices "I."And connect corresponding solid vertex and hollow vertex with an edge when a gear or a planet carrier is connected with a gear joint or a revolute joint.For example, Figure 3(b) is the DCG corresponding to gear train kinematic chain as shown in Figure 3(a).But it also has too many vertices; then, a weighted double color contracted graph (WDCCG) is introduced to represent gear train kinematic chain.Because the gear train kinematic chain contains two types of kinematic pairs, namely, revolute joint and gear joints, the WDCCG model wiped off all of the simple joints and can be established as follows: solid vertices "e" denote gears of chain, hollow vertices "Δ" denote gear joints, and hollow vertices "I" denote multiple revolute joints.If two gears are connected directly by a revolute joint, connect two corresponding solid vertices with a 2-weighted edge.If two gears are connected directly by a gear joint, connect two corresponding solid vertices with a 3-weighted edge.If a gear is connected with a multiple revolute joint, also connect corresponding solid vertex and hollow vertex with a 1-weighted edge.For example, Figure 3(c) is the WDCCG of the gear train kinematic chain as shown in Figure 3(a).

Weighted Adjacency Matrix.
Obviously, a multiple joint or gear train kinematic chain and its WDCCG are one-toone correspondent to each other.The WDCCG of a kinematic chain can be represented by a vertex-vertex weighted adjacency matrix (WAM) while the elements of WAM are defined as follows: where  is the number of vertices in WDCCG.

Isomorphism Identification Algorithm
3.1.Equivalent Circuit Model.As we know, when two multiple joint kinematic chains or two gear trains kinematic chains are isomorphic, their WDCCGs are exactly the same, their vertices and edges are in one-to-one correspondence with each other, and the vertices and edges in correspondence keep the same incidence and weighted relation.According to this definition, the necessary and sufficient condition for isomorphism of the two types of kinematic chains is that they have the same WAM; that is,  =   .Equivalent circuit model (ECM) of WDCCG is established by its each edge, which is replaced by conductance equal to the weighted value of corresponding edge   .

Theorem 1. If two WDCCGs corresponding to the same type kinematic chains are isomorphic, then their corresponding ECMs are identical.
For example, two isomorphism multiple joint kinematic chains are shown in Figures 4(a Complete excitation (CE) of an ECM is established as follows: in an ECM with  nodes, firstly, set a node ( + 1) to be a reference node; then, connect the reference node ( + 1) with every other node   ( = 1, 2, . . ., ) of the ECM whose conductance values are equal to the sum of weighted values of the node edges.Secondly, apply the same current source 1 A between node (+1) and other nodes   ( = 1, 2, . . ., ) of the ECM, respectively, in directions of the currents going from node ( + 1) to other nodes   , ( = 1, 2, . . ., ), respectively.
According to circuit theory, two identical circuits under the same CE have the same response.And their node voltages can be solved by the nodal method of circuit analysis.The nodal method of circuit analysis can be expressed as follows: in a circuit network, choose a node as a reference node; the voltage difference between each node and the reference node is known as the node voltage of the node.For a circuit network with  nodes, which has ( − 1) node voltages, if the node  is the reference node, the nodal voltage equation can be expressed as where   ( = 1, 2, . . .,  − 1) is called the self admittance of a node , the value of which is the sum of the admittance of all branches that are connected to the node ;   ( = 1, 2, . . ., − 1;  = 1, 2, . . ., −1) is called the mutual admittance of node  and node , whose value is the sum of the branch admittance between node  and node ; and   ( = 1, 2, . . .,  − 1) is called the algebraic sum of the current source for the inflow node  (inflow is positive; outflow is negative).For example, an ECM with 4 nodes is shown in Figure 6(a).Apply the CE of reference node 5 as shown in Figure 6(b).By nodal method of circuit analysis equations ( 6), node voltages V 1 , V 2 , V 3 , and V 4 can be expressed as follows: Figure 6: An ECM with 4 nodes and its CE by reference node 5.

6
Mathematical Problems in Engineering Then, the node voltages V 1 , V 2 , V 3 , and V 4 can be obtained by solving the above equations (7).Therefore, the following conclusion can be obtained.

Theorem 2. If two WDCCGs corresponding to the same type of kinematic chains are isomorphic, their two corresponding
ECMs  and   can be established and excited by the same CE as above, respectively.Then, the node voltages of each correspondence node of two ECMs  and   are the same.
From Theorem 2, node voltages of each correspondence node in these two ECMs are the same as follows: 1691, and V 3 = V 2 = 0.1537.When arranging the obtained node voltages in descending order with the same node voltages staying together, this set is called the node voltage sequence (NVS) and denoted as where the variables V 1 , V 2 , . . ., V  1 represent node voltages of hollow vertex.The variables V ( 1 +1) , V ( 1 +2) , . . ., V  represent node voltages of solid vertex.
If two identical ECMs are stimulated by the same CE as above, then the NVSs in correspondence are the same.For example, two identical ECMs as showed in Figures 5(a) and 5(b), the NVS and vertex codes can be obtained, respectively, as follows: = [(0.1691,0.1627) , (0.1839, 0.1691, 0.1537)] , = [(0.1691,0.1537) , (0.1839, 0.1691, 0.1627)] .(12) If the NVSs of two ECMs are not the same, then the two WDCCGs are not isomorphic.On the contrary, if they are the same, correspondence vertices in these two WDCCGs can be determined by the element values of NVS.Then, perform the row exchanges of WAM   to determine if they are isomorphic.Because the NVS can reduce the number of row exchanges to several ones or only just one, this is a very effective method.For example, by the NVS() and NVS() of two ECMs shown in Figures 5(a) and 5(b), the vertices in correspondence are -, -, 1-3, 2-1, 3-2; then, through exchanging the row of WAM   , we obtain  =   , which are isomorphic. (2) (1) (1) (1) (1) (1) (2) (1) (1) (3) (2) (1) (1) According to the above method, their corresponding NVS and vertex codes can be obtained as follows: By the NVS() and NVS(), the vertices of these two WDCCGs in correspondence can be obtained as follows: -, 1-1, 2-6, 3-2, 4-5, 5-4, 6-3, and through exchanging the row of WAM   one time, we obtain isomorphic  =   .

Algorithm.
Here, a direct algorithm is given to determine isomorphism of planar multiple joint and gear train kinematic chains, and it can be expressed as follows.
Step 1. Input the vertex codes and WAMs ,   of two WDCCGs corresponding to the same type of kinematic chains.
Step 2. Assign vertices codes of  and   in two groups: the hollow vertexes to be the first group and the solid vertexes to be another group.
Step 3. Calculate NVS(), NVS(), and their vertex codes of the two ECMs with the same CE, respectively.Compare NVS() and NVS(): if equivalence cannot be seen, it is determined that they are not isomorphic and program stops; otherwise, it is determined that they could be isomorphic.Then, check the NVS() and NVS() to see if the values in two vertex code groups are all distinct: if yes, go to Step 4; if no, go to Step 6.  Step 4. Take the NVS(), NVS(), and their vertex codes to determine the correspondence of vertices according to the values that are in correspondence.
Step 5.According to the corresponding vertices obtained and the vertex codes to form new WAM   1 , rewrite WAM   .If  =   1 , it is determined that they are isomorphic; otherwise, they are not isomorphic and program stops.
Step 6.According to the corresponding vertices obtained, the NVS() and NVS() have the same values in the corresponding two vertex code groups.Just adjust the position order of vertices of the same group in   to obtain vertex codes to from new adjacency matrix   1 .If  =   1 , it is determined that they are isomorphic and program stops; if  ̸ =   1 , keep on adjusting the position order of the aforementioned vertices in   of the vertex code groups for all possibilities.And if  ̸ =   1 always, it is determined that they are not isomorphic and program stops.

Examples
Example 1. Two 10-link multiple joint kinematic chains are shown in Figures 9(a The direct process to determine isomorphism of these two kinematic chains can be expressed as follows.
Compare NVS() and NVS() and equivalence cannot be seen.It is determined that they are not isomorphic and program stops.Step 3. Calculate NVS(), NVS(), and their vertex codes of two ECMs with the same CE, respectively, as follows: = [(0.2591,0.2547) , (0.3784, 0.2515, 0.2511, 0.2309, 0.2122, 0.2029, 0.1961)] , Compare NVS() and NVS() and equivalence cannot be seen.So it is determined that they are not isomorphic and program stops.(c) and 12(d), respectively.The direct process to determine isomorphism of these two kinematic chains is as follows.

Algorithm Complexity Analysis
This paper presents a relatively good algorithm for determination of kinematic chains isomorphism with multiple joint and gear train.It is feasible for introducing the WDCCG and WAM; to describe these two types of kinematic chains, they dramatically reduce the number of vertices and order of corresponding adjacency matrix .
The analysis of computational complexity of this isomorphic identification algorithm is as follows: when there are no equivalent node voltages in NVS, time consumption is basically dedicated to solving the linear equation sets.If a kinematic chain possesses  vertices, the order of the node voltage equations is  − 1.Since the adjoint circuit is a linear resistance circuit, the node voltage equations form a linear algebra equation set of orders  − 1, which has a computational complexity of (( − 1) 3 ) for its solution.Since it needs to solve at most 2 adjoint circuits in our proposed method, the computational complexity is of order (2( − 1) 3 ) < ( 4 ).Thus, the proposed method has a computational complexity of a polynomial order.When there are equivalent node voltages in NVS, the correspondence of only a part of the vertices cannot be determined.Thus, in the worst situation, the proposed method is more efficient than those where row/column exchanges are performed blindly.
In this paper, this algorithm is tested and compared with the internationally recognized faster method for planar simple joint kinematic chains isomorphic identification [20], and they are tested in the same software and hardware environment.The test results are shown in Figure 13 (the average time of each vertex is 20 times of the kinematic chain withmultiple joints); test results show that when the vertex of the kinematic chain is increased, the algorithm proposed in this paper is more efficient than the algorithm proposed by He et al.The proposed algorithm by us is very suitable for the isomorphism of the topological graph of kinematic chains, and the algorithm is very efficient at the same time.

Conclusions
In this paper, an algorithm for topological isomorphism identification of planar multiple joint and gear train kinematic chains is introduced.Firstly, a weighted-double-color-contracted-graph (WDCCG) and a weighted adjacency matrix (WAM) are introduced to describe the planar multiple joint and gear train kinematic chains, respectively.They dramatically reduce the number of vertices and order of the represented adjacency matrix.
Secondly, isomorphism identification method of these two types of kinematic chains is carried out by the equivalent circuit models (ECMs) of WDCCGs with the same complete excitation (CE) and then uses the solved node voltage sequence (NVS) to determine the corresponding vertices of two WDCCGs.
Finally, an algorithm to identify isomorphic kinematic chains is obtained.It is an efficient and easy method to be realized by computer.And this algorithm also can be used in the isomorphism identification of planar simple joint kinematic chains with minor changes.

Notations
,   : The incidence matrix of kinematic chain   : The elements of incidence matrix   : C o n d u c t a n c ev a l u eo fe d g ei nt h eE C M   : Theweightedvalueofth edge ,   : Variable of equivalent circuit model : The

Figure 1 :
Figure 1: The structural of simple joint and multiple joint.

Figure 2 :
Figure 2: A multiple joint kinematic chain and its TM described.

Figure 3 :
Figure 3: A gear train kinematic chain and its TM described.
) and 4(b); their WDCCGs are shown in Figures4(c) and 4(d), respectively.According to the description above, their corresponding ECMs are shown in Figures5(a) and 5(b), respectively.There are two identical circuits and nodes of these two ECMs are in one-to-one correspondence.

Figure 7 :
Figure 7: Two ECMs with the same CE, respectively.
) and 8(b), and their WDCCGs as shown in Figures8(c) and 8(d), respectively.Their corresponding WAMs are  and   , as follows:

Figure 8 :
Figure 8: Two gear train kinematic chains and their WDCCGs.

Example 4 .
Two 9-gear train kinematic chains are shown in Figures 12(a) and 12(b).Their corresponding WDCCGs are depicted in Figures 12

Figure 13 :
Figure 13: The test results of the algorithm proposed in this paper and the algorithm proposed by He et al.

Table 1 :
Node voltages of two ECMs with the same CE.
Compare NVS() and NVS() and equivalence can be seen.And the node voltages in two vertex code groups are not all distinct, so go to Step 6.