A scalable algorithm for the decomposition of minimally rigid graph

The rigid graph needs to be decomposed to solve the multi-equilibrium problem of the multi-agent formation control based on navigation function method. In this paper, a theorem and a scalable algorithm based on the Henneberg sequence of graphs are proposed for the decomposition of minimally rigid graph. The theorem demonstrates that if graph G(V, E) is a minimally rigid graph, then it can be decomposed as G = Gt ∪ Gc, where G t is a spanning tree of G and G c contains the remaining edges and their vertices. Moreover, the scalable algorithm is given to construct G t = (V t , E t ) and G c = (V c , E c ), and assign the edges in E c to n -- 2 distinct vertices in a scalable way via communication. Furthermore, a lemma is given to show when the number of vertices is less than eight, any edge can be chosen as the initialized edge, and the scalable algorithm mentioned above is always feasible. Finally, the effectiveness of the scalable algorithm is verified by numerical simulation.


Introduction
In recent years, multi-agent formation control has attracted the attention of multidisciplinary researchers due to its great advantages in specific applications, such as exploration, rescue, and surveillance. Formation control is a control technique in which many robots maintain a certain formation shape and adapt to environmental constraints while arriving at a destination. A formation system can be described from three main aspects: 1 the geometrical shape, the communication topology, and the control strategy. There have been three approaches describing multi-agent formation, that is, displacementbased formation control, 2-6 distance-based formation control, [7][8][9] and bearing-only formation control. [10][11][12][13] Among the three approaches, distance-based formation control is regarded as a more ideal distributed approach, since the collision between the neighboring agents can be avoided. In the distance-based formation control, graph rigidity was crucial for the formation control, since it could maintain the specified geometry, as discussed in the work by Eren et al. 14 It is showed that if the communicated topology graph is rigid, the formation shape could be maintained. Therefore, how to achieve a globally stable rigid formation is crucial, and it has been extensively studied by many researchers.
The existing control law, such as the one proposed in the works by Eren et al. 14 and Krick et al., 15 only has local validity for small perturbations around the desired formation, and the multiple equilibria problem still existed. Dimarogonas and Johansson 9 show that the global stability to the desired formation can be achieved with negative gradient control law. However, the desired formation is assumed to be a tree, which is restrictive. So far, the multi-equilibrium problem for rigid formation with n, n . 3 agents has not been well addressed. Inspired by the works by Dimarogonas and Johansson 9 and Krick et al., 15 the paper by Wang et al. 16 proposes an adaptive perturbation method for three agents, demonstrating that three agents could achieve the globally stable formation. This result is then extended to multi-agent system with n agents, 17 and Trinh et al. 18 propose that in the absence of undesired stable equilibrium points and limit cycles, the multiagent system could achieve the desired formation shape using the perturbed gradient method. Since the globally stable rigid formation can be achieved if and only if the communicating topology graph is a tree. Inspired by this, the minimally rigid graph can be decomposed as G = G t [ G c , where G t is a spanning tree of graph G and G c contains the remaining edges and their vertices. It is expected that we can design a control strategy to drive the agents to the desired distance set in G c , and then, distances of remaining edges in G t will converge to the desired values using the standard gradient control strategy. Actually, the n À 2 edges of G c can be assigned to n À 2 distinct agents which will be controlled by the novel gradient method, and the remaining two agents will be driven by the standard negative gradient control law. The n À 2 distinct agents, say agent i, chooses any neighbor l to determine the desired distance between the two agents. Therefore, it is crucial to know how to arrange n À 2 agents to n À 2 edges and how to choose the neighbor l of the agent i by which the desired distance is determined. Moreover, it is important to give an algorithm to show how to construct G t = (V t , E t ) and G c = (V c , E c ) and how to assign the edges in E c to n À 2 distinct vertices in a scalable way via communication. This paper aims to solve these questions, thus the fully distributed control strategy for globally stable rigid formation can be obtained.
In this paper, a theorem based on the Henneberg sequence of graphs shows that the decomposition as G = G t [ G c is feasible, and then, n À 2 edges in G c can be assigned to n À 2 distinct vertices to determine the desired distance between the two neighboring agents. Furthermore, a scalable algorithm is given to show that G t = (V t , E t ) and G c = (V c , E c ) can be constructed in a local sense; at the same time, the edges in E c can be assigned to n À 2 distinct vertices in a scalable way via communication. Finally, a lemma is given to show when the number of vertices is less than eight, any edge can be chosen as the initialized edge, and the scalable algorithm mentioned above is always feasible.

Preliminaries
The information architecture of the formation system with n agents can be modeled as a graph G = fV, Eg. V(G) = fv 1 , v 2 , . . . , v n g denotes the vertex set, which represents agent 1, 2, . . . , n. And we model the edge set E(G) & V(G)3V(G) as the information structure. The edge (v i , v j ) 2 E(G) denotes that agent i can obtain information from agent j. That is, the agent j is a neighbor of agent i, and N i denotes the set of all neighbors of agent i. According to the graph G = fV, Eg, the weighted adjacency matrix A 2 f0, 1g n3n can be defined as If a ij = a ji for all i, j 2 f1, . . . , ng, the weighted graph G is undirected. Each edge e ij 2 E in graph G is assigned to a constant d ij = d ji , which means the desired distance that agents i, j should preserve. Let D = fd ij : i 2 V, j 2 N i g. Then, a desired formation is represented as the framework fG, Dg. If all distance constraints specified by D are satisfied and all distances between any pair of vertices in G remain unchanged during the continuous displacement, then the formation fG, Dg is said to be rigid. Note that the rigid formation fG, Dg defined here is equivalent to the rigid graph G defined in the work by Asimow and Roth. 19 A graph G is said to be minimally rigid if it is rigid and has no graphs with the same vertices but fewer edges. 20 In this paper, if the information architecture graph G is minimally rigid, the formation fG, Dg is minimally rigid. The following lemma gives the numerical relationship between the number of nodes and the number of edges in the minimally rigid graph. 21 The construction of minimally rigid graphs usually consists of two graph operations: vertex addition operation and edge splitting operation. Let j and k be two different vertices of a minimally rigid graph G(V, E). A vertex addition operation involves adding a vertex i and connecting it to j and k, as shown in Figure 1(a). Let j, k, and l be the three vertices of a minimally rigid graph, and there is an edge between j and k. An edge splitting operation includes deleting this edge, adding a vertex i, and connecting it to j, k, and l, as shown in Figure 1(b). A sequence of graphs G 2 , G 3 , . . . , G jVj is called a Henneberg sequence, which satisfies the following conditions: the graph G 2 is the complete graph with two vertices, and each graph G i (i53) can be obtained from G iÀ1 by either a vertex addition operation or an edge splitting operation. 22 (a) (b) Figure 1. Representation of (a) vertex addition operation and (b) the edge splitting operation.
The following result gives a constructive method to form a minimally rigid graph.
Lemma 2. Every minimally rigid graph on more than one vertex can be obtained as the result of a Henneberg sequence. Moreover, all the graphs of such a sequence are minimally rigid. 22 Scalable algorithm for the decomposition of graph G Since the global stability of the multi-agent rigid formation can be achieved if and only if the topology is a tree, we need to decompose the rigid formation G as where G t is a spanning tree of G and G c contains the remaining edges and their vertices. Then, the globally stable rigid formation can be achieved by designing an appropriate control algorithm. It is expected that we can design a control strategy to drive the agents to the desired distance set in G c , and then, distances of remaining edges in G t will converge to the desired values using the standard gradient control strategy. Supposing that the minimally rigid graph has n vertices, then there are n À 1 edges in G t . And by Lemma 1, there are n À 2 edges in G c . That is, n À 2 distinct agents should be arranged to look after the distances of n À 2 edges, and then, the n À 2 edges can achieve the desired distances using the novel control algorithm. Now, we explain how to arrange n À 2 agents to n-2 distinct edges and how to choose the neighbor l of the agent i by which the desired distance is determined. The next theorem shows that the minimally rigid graph can always accomplish such an assignment. Theorem 1. Suppose the graph G(V, E) is minimally rigid graph. There exists a decomposition G = G t [ G c , such that n À 2 edges in G c can be assigned to n À 2 distinct vertices.
Proof. We can prove Theorem 1 by induction. For jVj = 2, E(G c ) is empty, and there is no edge to be assigned. For jVj = 3, G c contains only one edge, and the theorem is obviously true. Let us suppose the theorem is true for jVj = n À 1, that is, for any minimally rigid graph G nÀ1 (V, E) with jVj = n À 1, there exists a decomposition G nÀ1 = G t(nÀ1) [ G c(nÀ1) such that n À 3 edges in subgraph G c (n À 1) can be assigned to n À 3 distinct vertices of G nÀ1 . Now, let us consider the case jVj = n. By Lemma 2, any minimally rigid graph G n (V, E) with jVj = n can be obtained from a minimally rigid graph G nÀ1 (V, E) with jVj = n À 1 by performing either a vertex addition operation or an edge splitting operation. We discuss two cases as follows.
Case 1. The graph G n is obtained by performing a vertex addition on G nÀ1 . Let j and k be two distinct vertices of a minimally rigid graph G nÀ1 . Let G t(nÀ1) be the spanning tree of G nÀ1 supporting the induction hypothesis. Then, we can obtain a spanning tree G t(n) of graph G n from G t(nÀ1) by adding only one newly added edge, say e ij . Thus, we have G c(n) = G c(nÀ1) + e ik . Since all the edges in G c(nÀ1) have been assigned to n À 3 distinct vertices of G nÀ1 , we just need to assign the edge e ik to the new vertex i. The theorem is true in this case.
Case 2. The graph G n is obtained by performing an undirected edge splitting on G nÀ1 .
Suppose that j, k, and l are three distinct vertices of a minimally rigid graph G nÀ1 and e jk is an edge of G nÀ1 . An edge splitting operation is shown in Figure 1(b). There are two possibilities shown in the following: (1) The edge e jk is not in G t(nÀ1) supporting the induction hypothesis. From the induction hypothesis, we know that the edge e jk had been assigned to either vertex j or vertex k. Without the loss of generality, suppose it is vertex j.
Since the edge e jk is now removed, then vertex j is unoccupied. Let G t(nÀ1) be the spanning tree of G nÀ1 supporting the induction hypothesis.
We can obtain a spanning tree G t(n) of graph G n from G t(nÀ1) by adding the edge e ik . Now, we have G c(n) = G c(nÀ1) + e ij + e il À e jk . Let e ij be assigned to agent j and e il be assigned to agent i. Then, the theorem is true in this subcase. (2) The edge e jk is in G t(nÀ1) supporting the induction hypothesis. Since the edge e jk is removed, we can obtain a spanning tree G t(n) of graph G n from G t(nÀ1) as G t(n) =G t(nÀ1) À e jk +e ij +e ik . So, we have G c(n) =G c(nÀ1) + e il . Let e il be assigned to agent i. Then, the theorem is true in this subcase.
Summarizing all the above possible cases, we conclude that the theorem is true. h Next, we give an algorithm to show how to construct G t = (V t , E t ) and G c = (V c , E c ) and how to assign the edges in E c in a scalable way via communication.
Algorithm 1. % V s -the set of agents, to each of which an edge in E c has been assigned.
% N t v -the set of agents which are both in N v and current V t .
% jN t v j-the number of the agents in the set N t v .
Step (i) [via communication between neighboring agents v 1 and v 2 ] Initiation.
(1) Let V 0 : = f1, 2, . . . , ng. Step (ii) [via communication between agent v i 2 V t and its neighbors] For the case when v i 2 V t can find a neighbor v k that does not belong to current V t , go to the next step; otherwise, go to the end.
Step (iii) If one of the following cases is satisfied, go to the next step; otherwise, let V 0 : = V 0 nfv 1 , v 2 g, go to Step (i)-(2).
(1) n vt = 0; and 2 4 jN t v k j 4 3 ð1Þ (2) n vt 6 ¼ 0; and 1 4 jN t v k j 4 2 Step (iv) [via communication between neighboring agents v i and v k ] According to the values of n vt and jN t v k j, do one of the following actions: (1) For n vt = 0 and jN t v k j= 2, suppose N t v k =fv i , wg.
to v k , let V s : = V s + v k , and finally, let n vt : = 0, go to Step (ii).
(2) For n vt = 0 and jN t v k j = 3, suppose N t v k = fv i , 2 , v k g. Finally, let n vt : = 1, go to Step (ii). (% The proof of Theorem 1 ensures that at least one of w 1 , w 2 does not belong to V s .) (3) For n vt 6 ¼ 0 and jN t v k j = 1, N t v k must be fv i g. In this case, let V t : = V t + v k , E t : = E t + (v i , v k ), and finally, let n vt : = 0, go to Step (ii). (4) For n vt 6 ¼ 0 and jN t v k j = 2, suppose N t v k = fv i , wg. Let V t : w) to v k , let V s : = V s + v k , and finally, let n vt : = 1, go to Step (ii).
Step (v). End, return (V t , E t , V c , E c , V s ). Remark 1. Theorem 1 can guarantee the feasibility of Algorithm 1, and the output of Algorithm 1 is always there, and then, we can always find the appropriate initialized edge to make the algorithm work.
Remark 2. Algorithm 1 works for redundantly rigid graphs, and the global rigid graphs belong to redundantly rigid graphs, so it is also suitable for the global rigid ones. For the redundantly rigid graph, Algorithm 1 can be modified as follows. In this case, equations (1) and (2) should be replaced by respectively; and in Step (iv), agent v k should ignore redundant neighbors in N t v k . In such a way, G t [ G c generated by the algorithm is a minimally rigid graph, which is just a subgraph of the redundantly rigid graph G. Let the agents ignore the redundant neighbors, if the novel formation control algorithm can globally stabilize the minimally rigid formation, the redundantly rigid formation can also be globally stabilized.
Note that the output of the algorithm is not necessarily unique. Figure 2 shows an execution of the algorithm. The algorithm initiates from the edge (1, 2). In Figure 2, the dashed edges belong to G t , the dasheddotted edges belong to G c , and the vertices marked by star denote the vertices in V s . Therefore, we can add control constrains to agent 4 for looking after r 41 , to agent 5 for looking after r 51 , to agent 6 for looking after r 63 , to agent 7 for looking after r 72 , to agent 8 for looking after r 85 , and to agent 1 for looking after r 81 , respectively. In contrast to the previous example, when the initialized edge is chosen unprofitably, Algorithm 1 is not feasible, and we cannot obtain the decomposition of the graph G, which will be shown in the simulation. However, if we choose the appropriate initialized edge which is always existed, Algorithm 1 is feasible. Next, we give a lemma to demonstrate that when the number of vertices is less than eight, then any edge can be chosen as the initialized edge, and the scalable algorithm mentioned above is always feasible.
Lemma 3. If the graph is minimally rigid, when the number of vertices is less than eight, the scalable Algorithm 1 mentioned above is always feasible. h Proof. In Step (iii)-(2), n vt = 1, the algorithm is always feasible. At each step, when n vt = 1, the subgraph G(V t ) is a minimally rigid graph. When n vt = 0, the subgraph G(V t ) is not minimally rigid. Suppose that Step (iii)-(1) is not feasible, we have jN t vk j = 1. As shown in Figure 3, the subgraph G 0 which is not minimally rigid has k 1 (k 1 53) vertices, and graph G 00 is the minimally rigid graph which has k 1 + k 2 vertices. From the hypothesis, we know that there does not exist a vertex v k with jN t v k j being 2 or 3, then jN t vk j = 1. Therefore, there are only k 2 edges between k 2 vertices and the subgraph G 0 . Moreover, there are at most (1=2)(k 2 (k 2 À 1)) edges between k 2 vertices. Then, we have the following equation 2k 1 À 4 + k 2 + 1 2 k 2 (k 2 À 1)52(k 1 + k 2 ) À 3 4k 1 À 8 + 2k 2 + k 2 (k 2 À 1)54(k 1 + k 2 ) À 6 The left of the equation means the most edges of the current graph. From equation (3), we have k 2 5(3 + ffiffiffiffiffi 17 p )=2, then we also have k 1 + k 2 57:57, which means that when the number of vertices is more than seven, the graph G 00 may be minimally rigid. Otherwise, the hypothesis does not hold. Therefore, we can conclude that when the number of vertices is less than eight, the scalable Algorithm 1 mentioned above is always feasible. h

Simulations
In this section, we do some numerical simulations to illustrate the effectiveness of the scalable algorithm. From the above data, we can conclude that for a given computational platform, the growth rate of the execution time is almost half of that of the agent number, and the execution time is short. Then, the proposed scalable Algorithm 1 can be applied in practice.
Here, we only give one of the simulations. First, a minimally rigid graph G = (V, E), V = f1, 2, . . . , 20g is constructed based on the Henneberg sequence of graphs. The graph G is shown in Figure 4, and the corresponding adjacent matrix A of graph G is  where V s denotes the set of agents, to each of which the corresponding edge in E c has been assigned. The decomposition of graph G is shown in Figure 5. In Figure 5, the dashed edges belong to G t and the solid edges belong to G c . In contrast to the previous initialized edge, when the initialized edge is chosen as (12,20), Algorithm 1 is not feasible, and we cannot obtain the decomposition of the graph G. However, if we choose the appropriate initialized edge which is always existed, Algorithm 1 is feasible.

Conclusion
In this paper, a theorem based on the Henneberg sequence of graphs shows that if graph G(V, E) is minimally rigid graph, the graph G can be decomposed as G = G t [ G c and n À 2 edges in G c can be assigned to n À 2 distinct vertices. Furthermore, an algorithm is given to construct G t = (V t , E t ) and G c = (V c , E c ) and assign the edges in E c to n À 2 distinct vertices in a scalable way via communication. Currently, it is demonstrated that when the number of vertices is less than eight, the scalable algorithm is always feasible. How to design a globally stable control algorithm for the rigid formation is still a challenging problem in the future.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.