Cluster division optimization method based on breadth-first search
By constructing an optimized topology graph without crossing edges and a breadth-first search algorithm, combined with boundary node adjustment, the problem of fast and stable cluster division in FANET is solved, load balancing and low computational overhead UAV network clustering is achieved, and the communication efficiency of the network is improved.
Patent Information
- Application Number
- CN202510723160.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-09-26
AI Technical Summary
Existing FANET clustering algorithms are difficult to achieve fast, stable load balancing and low computational overhead in highly dynamic environments. Traditional algorithms also fail to effectively consider the real-time network status and drone operation status, resulting in poor network scalability and high communication overhead.
A cluster partitioning optimization method based on breadth-first search is adopted. By constructing an optimized topology graph without crossing edges, the initial cluster center is determined, and the breadth-first search algorithm is used to balance the group size. Combined with the adjustment strategy of boundary nodes, the inter-group communication traffic is optimized, and the cluster center is dynamically updated to achieve complete group partitioning.
It achieves fast and stable clustering of UAV networks in highly dynamic environments, reduces inter-group communication traffic, improves network load balancing and communication efficiency, and reduces computational complexity.
Smart Images

Figure CN120711481A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of wireless self-organizing networks, and in particular relates to a cluster division optimization method based on breadth-first search. Background Art
[0002] One of the key factors in the performance of unmanned aerial vehicle ad hoc networks (FANETs) is the network topology. Existing FANETs mainly use two topologies: planar mesh and three-dimensional layered mesh.
[0003] In a flat mesh structure, all nodes are equal, with no hierarchy, and each node must maintain and update routing information. However, this structure performs poorly in scenarios with a large number of nodes or wide coverage, potentially leading to problems such as poor network scalability and excessive communication overhead. Therefore, large-scale self-organizing networks typically adopt a three-dimensional, hierarchical mesh structure, using clustering algorithms to improve network controllability and management efficiency.
[0004] In recent years, scholars at home and abroad have conducted extensive research on clustering algorithms. Traditional clustering algorithms mainly include the maximum neighbor number (max degree) algorithm and the lowest ID (lowest ID) algorithm. The maximum neighbor number algorithm selects the drone with the most neighbors as the cluster head (CH), which can shorten end-to-end latency, but may cause excessive cluster head load, leading to local resource shortages and network congestion. The lowest ID algorithm selects the node with the smallest ID as the cluster head. Although simple to implement, it can easily lead to excessive energy consumption of the cluster head, affecting the overall lifespan of the network and poor stability in highly dynamic environments.
[0005] While the two traditional algorithms mentioned above can achieve basic network clustering, they lack consideration of multiple factors, including real-time network status, drone operational status, and clustering quality. To optimize clustering performance, researchers have proposed a variety of improved algorithms. For example, the distributed clustering algorithm based on probabilistic rotation (Low-Energy Adaptive Clustering Hierarchy, LEACH) uses periodic random selection of cluster heads (CHs) to prevent some nodes from rapidly depleting their energy due to long-term cluster head status. Furthermore, LEACH uses probabilistic rotation of cluster heads to balance energy consumption and extend network life.
[0006] The multi-parameter weighted clustering algorithm (WCA) introduces weighted factors such as node degree, distance and mobility, and improves the rationality of cluster head selection by dynamically calculating weights and electing the optimal cluster head.
[0007] In addition, some scholars have combined intelligent algorithms to optimize clustering strategies. For example, the K-means-based clustering optimization method introduces network partitioning technology to ensure that each partition can shorten the maximum delay between its centroid and other nodes.
[0008] Although existing algorithms have their own advantages in terms of energy balance and latency, network clustering and its optimization are NP-hard problems. How to achieve fast and stable cluster division in a highly dynamic environment while taking into account load balancing and low computational overhead remains a key issue that needs to be solved urgently. Summary of the Invention
[0009] Aiming at the problems of large communication interference and slow networking speed in the current large-scale FANET networking process, the present invention proposes a cluster partitioning optimization method based on breadth-first search, constructs a multi-UAV grouping networking scheme, and ensures the clustering requirements of no overlap and no omission between groups.
[0010] The cluster partitioning optimization method based on breadth-first search has the following specific steps:
[0011] Step 1: For the original FANET network topology composed of n drones, construct an optimized topology graph without cross edges;
[0012] The original FANET network topology is modeled as an undirected graph G = (P, L), where P = {p1, p2, p3, ..., p n}, represents the set of n drone nodes in the network, represents the set of links between nodes, where d represents the distance between two UAV nodes.
[0013] First, initialize an empty edge set L′. Then, sort the elements in the original network edge set L in ascending distance order and extract them one by one. Check whether the currently extracted element intersects with an existing edge in L′. If there is no intersection, add the element to the empty edge set L′; otherwise, discard the element. The resulting non-intersecting edge set L′ forms the new graph G′ = (P, L′).
[0014] Intersection means that two edges overlap in space.
[0015] Step 2: Divide the optimized topology graph into m groups and determine the initial cluster center of each group;
[0016] The constraint condition for dividing the optimized topology into m groups is that there is no overlap and no omission in the node clusters, that is:
[0017]
[0018] K i represents the set of nodes in the i-th group.
[0019] The process of determining the initial cluster center is:
[0020] First, traverse each node in the optimized topology graph L′ and select the number of nodes that have links connected to the current node a as the node degree of node a;
[0021] Then, the node o corresponding to the minimum node degree is selected from all node degrees as the initial cluster center;
[0022] Then, according to the principle of maximizing the minimum separation distance, the subsequent m-1 evenly distributed initial cluster centers are selected.
[0023] Step 3: Use breadth-first search to achieve balanced growth of group members in the m groups, complete the initial group division of the drone nodes without omissions, and obtain the boundary node set.
[0024] The specific process is:
[0025] Step 301: Each of the m initial cluster centers performs a search operation, incorporates the nodes directly connected to each cluster center in the optimized topology graph into its own cluster, and updates the number of nodes in the current cluster.
[0026] Step 302: Sort the clusters from smallest to largest in terms of the number of nodes, select cluster m0 with the smallest number of nodes, and perform a breadth-first search starting from its cluster center node to find the first node among the nodes to be clustered;
[0027] The nodes to be clustered are the nodes that are not in the cluster after removing the initial cluster center and the nodes connected in one step;
[0028] When there are at least two clusters with the smallest number of nodes, the initial cluster center IDs of each cluster are selected from small to large.
[0029] Step 303: Determine whether the first node to be grouped has been grouped into other groups. If so, proceed to step 304; otherwise, add the first node to be grouped into the current group m0, update the number of nodes in group m0 by 1, end the search for the current group m0, and proceed to step 305.
[0030] Step 304: Add the first node to be clustered found in the common search to the boundary node set and stop searching in this direction. Continue to determine whether there are other nodes in group m0. If so, continue searching downward along other nodes until the number of nodes in group m0 increases by 1. Otherwise, if there are no connected nodes that can be included in group m0, the group stops growing.
[0031] Step 305: After updating the number of nodes in group m0, return to step 302, continue to reorder the groups that have not yet grown, and perform breadth-first search until there are no more nodes to be grouped in the network.
[0032] Step 4: Reassign the groups to which the border nodes belong.
[0033] For the current boundary node b, find the two groups with the least members in the group to which node b belongs, and calculate the relative difference in the number of nodes between these two groups, ΔN:
[0034]
[0035] Determine whether the relative gap ΔN is higher than the preset tolerance threshold τ (0<τ<1). If so, classify the boundary node into a group with relatively small number of members; when the relatively small number of groups includes at least two, select the group with the smallest ID; otherwise, calculate the adjustment benefit of the boundary node, and use a greedy strategy to adjust the boundary node to the adjacent group.
[0036] Boundary node adjustment benefit σ(b,K i ,K j ):
[0037] σ(b,K i ,K j )=ασ CE (b,K i ,K j )+(1-α)σ CR (b,K i ,K j )
[0038]
[0039] K i is the group to which the boundary node b belongs; K j is the group to which the boundary node b is adjusted; α is a self-set weight distribution parameter.
[0040] Node b is in the current group K i Group balance indicators; Node b is in the current group K i Communication traffic distribution indicators;
[0041] Step 5: Calculate the mean of all node positions of each group after adjusting the boundary nodes as the virtual center, and select the real node closest to the virtual center as the formal clustering center, thereby obtaining the final drone cluster division.
[0042] For the i-th group, the calculation formula of the virtual center coordinates is as follows:
[0043]
[0044] where p i_x 、p i_y 、pi_z Represents node p i x, y, z position coordinates, m i_x , m i_y , m i_z are the x, y, and z coordinates of the virtual center coordinates respectively; N i Represents the number of nodes in the i-th group.
[0045] In the final output clustering structure, the cluster center of each cluster is the cluster head node of the FANET network.
[0046] The advantages of the present invention are:
[0047] 1) A cluster partitioning optimization method based on breadth-first search. After determining the initial cluster center, the breadth-first search algorithm is used to select the cluster center with the least number of nodes in each cluster growth. This can balance the size of each cluster and ensure the balance of the number of nodes in the cluster.
[0048] 2) A cluster partitioning optimization method based on breadth-first search is proposed. During the adjustment phase of the group to which the boundary nodes are to be reallocated, the characteristics of the inter-node edges are introduced as the basis for boundary node adjustment. This solves the problem of being unable to plan inter-cluster communication traffic in the FANET scenario and effectively reduces inter-cluster communication traffic. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 Schematic diagram of a cluster partitioning optimization method based on breadth-first search according to the present invention;
[0050] Figure 2 This is a schematic diagram of a cluster partitioning optimization method based on breadth-first search according to the present invention;
[0051] Figure 3 It is a flow chart of a cluster partitioning optimization method based on breadth-first search of the present invention;
[0052] Figure 4 Schematic diagram of the principle of removing cross edges adopted in the example of the present invention.
[0053] Specific implementation instructions
[0054] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below.
[0055] When the number of drones in a drone network is large, it is necessary to divide the drone network into multiple subnets to reduce network management overhead. This not only places higher demands on the allocation of communication resources, but also requires consideration of resource reuse. The subgroup size should be neither too large, which makes management difficult, nor too small, which wastes resources. When the number of drones in each subgroup is roughly the same, it can prevent a subgroup from being overloaded, allowing for more efficient management of the structure and data transmission between subgroups. In addition, non-overlapping cluster design is fundamental to spatial reuse of communication resources and also helps reduce interference in inter-group communications. Therefore, when dividing the network into groups, it is necessary to ensure that there is no overlap or omission between groups.
[0056] like Figure 1 As shown in the figure, the present invention proposes a cluster partitioning optimization method based on breadth-first search. Initial cluster center nodes are selected based on a preset number of clusters, m. Breadth-first growth is then performed on each center in parallel, gradually incorporating neighboring nodes into their corresponding clusters until all nodes in the network are assigned. Next, boundary nodes at the intersection of clusters are identified, and their optimal assignments are evaluated using a cost function, followed by a greedy reallocation strategy. After boundary optimization, the geometric centers of each cluster are recalculated and the actual cluster center nodes are updated. The algorithm terminates when the displacement of the cluster center falls below a set convergence threshold using an iterative process of "cluster growth-boundary optimization-center update." This method achieves balanced cluster partitioning and efficient communication through multiple rounds of iterative optimization. The dynamic adjustment mechanism of boundary nodes and the progressive update strategy of cluster centers jointly ensure the convergence and optimization effect of the algorithm.
[0057] The cluster partitioning optimization method based on breadth-first search is as follows: Figure 2 and Figure 3 The specific steps are as follows:
[0058] Step 1: For the original FANET network topology composed of n drones, construct an optimized topology graph without cross edges;
[0059] The original FANET network topology is modeled as an undirected graph G = (P, L), where P = {p1, p2, p3, ..., p n}, represents the set of n drone nodes in the network, represents the set of links between nodes, where d represents the distance between two UAV nodes. When the nodes are within the communication radius of each other, it is considered that they are reachable in one hop and a communication link exists.
[0060] First, initialize an empty edge set L′. Then, sort the elements in the original network edge set L in ascending distance order and extract them one by one. Check whether the currently extracted element intersects with an existing edge in L′. If there is no intersection, add the element to the empty edge set L′; otherwise, discard the element. The resulting non-intersecting edge set L′ forms the new graph G′ = (P, L′).
[0061] Intersection means that two edges overlap in space.
[0062] Step 2: Divide the optimized topology graph into m groups and determine the initial cluster center of each group;
[0063] m groups are represented as: K={K1,K2,…,K i ,…,K j ,…,K m}, K i represents the set of nodes in the i-th group; N i Represents the number of nodes in the i-th group, requiring each node to belong to and only belong to one group.
[0064] The constraint condition for dividing the optimized topology into m groups is that there is no overlap and no omission in the node clusters, that is:
[0065]
[0066] The process of determining the initial cluster center is:
[0067] First, traverse each node in the optimized topology graph L′ and select the number of nodes that have links connected to the current node a as the node degree of node a;
[0068] Then, the node o corresponding to the minimum node degree is selected from all node degrees as the initial cluster center;
[0069] Then, according to the principle of maximizing the minimum separation distance, the subsequent m-1 initial cluster centers are selected and distributed as dispersedly as possible in the network, trying to ensure that the cluster centers are evenly distributed.
[0070] Step 3: Use breadth-first search to achieve balanced growth of group members in the m groups, complete the initial group division of the drone nodes without omissions, and obtain the boundary node set.
[0071] The specific process is:
[0072] Step 301: Each of the m initial cluster centers performs a search operation, incorporates the nodes directly connected to each cluster center in the optimized topology graph into its own cluster, and updates the number of nodes in the current cluster.
[0073] Step 302: Sort the clusters from smallest to largest in terms of the number of nodes, select cluster m0 with the smallest number of nodes, and perform a breadth-first search (BFS) starting from its cluster center node to find the first node among the nodes to be clustered.
[0074] The nodes to be clustered are the nodes that are not in the cluster after removing the initial cluster center and the nodes connected in one step;
[0075] When there are at least two groups with the smallest number of nodes in the group, select from smallest to largest ID.
[0076] Step 303: Determine whether the first node to be grouped has been grouped into other groups. If so, proceed to step 304; otherwise, add the first node to be grouped into the current group m0, update the number of nodes in group m0 by 1, end the search for the current group m0, and proceed to step 305.
[0077] Step 304: Add the first node to be clustered found in the common search to the boundary node set and stop searching in this direction. Continue to determine whether there are other nodes in group m0. If so, continue searching downward along other nodes until the number of nodes in group m0 increases by 1. Otherwise, if there are no connected nodes that can be included in group m0, the group stops growing.
[0078] Step 305: After updating the number of nodes in group m0, return to step 302 to continue reordering the groups that have not yet grown, and perform breadth-first search. Continue searching each group and updating the number of nodes in the group until there are no more nodes to be grouped in the network.
[0079] Step 4: Reassign the groups to which the border nodes belong.
[0080] For the current boundary node b, find the two groups with the least members in the group to which node b belongs, and calculate the relative difference in the number of nodes between these two groups, ΔN:
[0081]
[0082] Determine whether the relative gap ΔN is higher than the preset tolerance threshold τ (0<τ<1). If so, classify the boundary node into a group with relatively small number of members; when the relatively small number of groups includes at least two, select the group with the smallest ID; otherwise, calculate the adjustment benefit of the boundary node, and use a greedy strategy to adjust the boundary node to the adjacent group.
[0083] Boundary node adjustment benefit σ(b,K i ,K j ):
[0084] σ(b,K i ,K j )=ασ CE (b,K i ,K j )+(1-α)σ CR (b,K i ,K j )
[0085]
[0086] K i is the group to which the boundary node b belongs; K j is the group to which the boundary node b is adjusted; α is a self-set weight distribution parameter.
[0087] Node b is in the current group K i Group balance indicators; Node b is in the current group K i Communication traffic distribution indicators;
[0088] Since inter-group communication requires cross-group data forwarding through the group head node, its communication overhead is significantly higher than intra-group communication. Due to the limitation of physical layer resources, the grouping solution should prioritize minimizing inter-group communication traffic. By optimizing node grouping, nodes with high communication demands are divided into the same group as much as possible, thereby reducing cross-group forwarding requirements and improving the overall network transmission efficiency. The optimization principle of the present invention follows the three optimization goals of maintaining the balance of group size (CE→0), maximizing intra-group communication (nodes with high communication demands are prioritized in the same group), and minimizing inter-group communication traffic (CR→0);
[0089] The group balance habit index and communication flow index are defined as follows: CE represents the group balance index, IntraCR represents the communication demand within the group, InterCR represents the communication demand within the group, ij N represents the communication demand between group i and group j, and CR represents the communication traffic allocation index. i represents the number of members in the i-th group, N j represents the number of members in the jth group, and m represents the number of groups in the entire network. zs Represents the communication flow between node z and node s:
[0090]
[0091]
[0092] Step 5: Calculate the mean of all node positions of each group after adjusting the boundary nodes as the virtual center, and select the real node closest to the virtual center as the formal clustering center, thereby obtaining the final drone cluster division.
[0093] For the i-th group, the calculation formula of the virtual center coordinates is as follows:
[0094]
[0095] where p i_x 、p i_y 、p i_z Represents node p i x, y, z position coordinates, m i_x , mi_y , m i_z are the x, y, and z coordinates of the virtual center coordinates respectively; N i Represents the number of nodes in the i-th group.
[0096] In the final output clustering structure, the cluster center of each cluster is the cluster head node of the FANET network. Example:
[0097] This example proposes a clustering optimization method based on breadth-first search. It is an algorithm that takes into account network load, latency, network communication overhead, and computational complexity while requiring fast clustering. The specific steps are as follows:
[0098] Step 1: Improve the clustering effect by constructing an optimized topology graph without cross-edges;
[0099] Performing the de-crossing edge preprocessing operation does not mean removing the cross edges in the actual network, but removing the intersecting lines in the graph G = (P, L) during the calculation process.
[0100] The specific process is as follows: first, examine the communication links in the network topology graph, and construct the optimized edge set L' by arranging the edge set in ascending order and selecting the shortest edge without crossing;
[0101] The original network edge set L is sorted in ascending order by edge length, i.e., the distance between two drone nodes. A greedy algorithm is then used to filter the edges sequentially: after initializing an empty edge set L′, each edge in L is checked for intersections with existing edges in L′. If no intersections are found, the edges are added to L′. The resulting non-intersecting edge set L′ forms the new graph G′ = (P, L′), which serves as the basis for the subsequent clustering algorithm. This preprocessing step ensures spatial non-overlapping clusters while maintaining the connectivity characteristics of the original network by mathematically filtering edges rather than physically removing them.
[0102] During the cluster growth process, a spatial anti-overlap mechanism is established. When the expansion range of multiple cluster centers covers the nodes to be clustered at the same time, the system dynamically determines the node affiliation based on the actual connection status: if there is a two-way connection, the nodes are respectively assigned to the corresponding group (subsequent adjustment is required); if there is only a one-way connection, all nodes are assigned to the reachable group. Figure 4 As shown in the figure, during the simultaneous breadth-first search of cluster centers k1 and k2, each adds five members to its cluster. At this point, the only nodes in the network to be clustered are points p and q in the figure. Regardless of whether point p or q is included in the cluster with k1 as the center, the two clusters will overlap. Therefore, no nodes to be clustered can be added to the cluster with k1 as the center, and the cluster stops expanding. After the cluster with k2 as the center completes one expansion, it is found that there are still nodes remaining, and the spatial non-overlap requirement is met. Therefore, another expansion is performed until there are no remaining nodes in the topology.
[0103] Step 2: Determine the initial cluster center and select the node with the smallest node degree as the initial cluster center. Subsequent cluster center selection will be based on the principle of maximizing the minimum separation distance. According to the pre-set number of clusters m, m-1 initial cluster centers that are distributed as dispersed as possible in the network will be selected. This method is used to ensure that the cluster centers are evenly distributed.
[0104] For all network nodes P = {p1, p2, p3, ..., p n}According to the node degree deg(p i ) to sort in ascending order and establish an ordered node list L deg In the initialization phase of the algorithm, the node p with the smallest degree is selected. min =argmin(deg(p i )) is used as the first cluster center c1 and added to the initial center set C = {c1}. In the subsequent iterative selection process of m-1 centers, for each candidate center c i (i=1,2,...,m), calculate the topological distance d(v j ,c), determine the minimum separation distance d of each candidate node min (v j )=min{d(v j ,c)|c∈C}. The node with the largest minimum separation distance index is taken as the new center, i.e., c i+1 =argmax(d min (v j )). Thus, the final m initial cluster centers C={C1,...,C k} has optimal dispersion in topological space.
[0105] Step 3: Achieve group growth through a balancing strategy to complete the initial and complete group division of drone nodes.
[0106] First, each cluster checks whether its internal nodes have a connection relationship with any node to be clustered.
[0107] Next, among all the clusters connected to the node to be clustered, the group with the smallest size will be given the opportunity to grow. If there are no directly connected nodes, the growth opportunity will be transferred to the group with the second smallest number of members, and so on.
[0108] The group performs a breadth-first search (BFS) starting from its cluster center and selects the first node to be clustered found as the new group member.
[0109] This process continues until there are no more nodes to be grouped in the network.
[0110] This mechanism has two advantages: on the one hand, it ensures the balanced development of the sizes of each group through the "smallest group first" principle, avoiding the emergence of extreme-sized groups; on the other hand, it utilizes the proximity search feature of BFS to ensure that new nodes always come from the nearest spatial area, while maintaining the spatial compactness of nodes within the group and effectively preventing overlap between groups.
[0111] Step 4: Adjust the boundary nodes in the iterative clustering stage.
[0112] After the group growth is completed, the groups to which the boundary nodes belong need to be redistributed.
[0113] The boundary node set B is defined as {b1, b2, ..., b i}, for each node b:
[0114] b∈K i ∩K j where K i ,K j ∈K,i≠j
[0115] This method first compares the number of non-boundary nodes contained in two adjacent groups. When the relative difference in the number of members between the two groups, ΔN, is higher than the preset tolerance threshold τ (0<τ<1), the boundary nodes are directly classified into the group with smaller number. Otherwise, the nodes at the boundary of the group are evaluated using a pre-set profit function, and then a greedy strategy is adopted based on the evaluation results to select the boundary nodes that need to be adjusted to the adjacent group.
[0116] For node b on the boundary, let its current group be K i , respectively calculate the node b in the current group K i Group balance index Intra-group communication traffic indicators and inter-group communication traffic indicators In addition, calculate if the node is in the adjacent group K j Group balance index Intra-group communication traffic indicators and inter-group communication traffic indicators Through the group balance index CE and the communication flow distribution index CR, it can be concluded that the node is from group K i Move to Group K j The resulting benefit σ(b,K i ,K j ).
[0117] Each round of boundary node adjustment based on benefits includes the following steps: First, the adjusted benefit of the node from group 1 to group 2 is calculated. If the benefit is positive, the node is included in group 2. If the benefit is negative, it means that the value of the node's group has not been adjusted. The boundary adjustment process is stopped and the node is included in group 1.
[0118] Step 5: Optimize the clustering results by dynamically updating the cluster centers. After each adjustment of the boundary nodes, the algorithm calculates the mean of the positions of the nodes in each cluster as the new cluster center and selects the real node closest to the virtual center as the official cluster center.
[0119] During the iterative clustering phase, the cluster center update process completes after adjusting the boundary nodes. The latest clustering results are determined, and the new cluster center is obtained by calculating the mean of the position information of all nodes within each cluster. Because the calculated cluster center may not correspond to the actual network node, the actual drone node closest to the cluster center is selected as the new cluster center. The establishment of the new cluster center marks the end of an iterative clustering process. This process is repeated until the node corresponding to the cluster center no longer changes, thus completing the entire breadth-first search-based cluster optimization process. The output clustering result at this point is the final clustering result of the FANET, and the central node of each cluster becomes the cluster leader node in the FANET.
Claims
1. A cluster partitioning optimization method based on breadth-first search, characterized in that: The specific steps are as follows: Step 1: For the original FANET network topology composed of n drones, construct an optimized topology graph L′ without crossing edges, that is, the edges do not overlap in space; Step 2: Divide the optimized topology graph into m groups and determine the initial cluster center of each group; Step 3: Achieve balanced growth of group members in the m groups through breadth-first search, complete the preliminary and complete group division of the drone nodes, and obtain the boundary node set; The specific process is: Step 301: Each of the m initial cluster centers performs a search step, incorporates the nodes directly connected to each cluster center in the optimized topology graph into its own cluster, and updates the number of nodes in the current cluster. Step 302: Sort the clusters from smallest to largest in terms of the number of nodes, select cluster m0 with the smallest number of nodes, and perform a breadth-first search starting from its cluster center node to find the first node among the nodes to be clustered; Step 303: Determine whether the first node to be grouped has been grouped into another group. If so, proceed to step 304. Otherwise, add the first node to be grouped into the current group m0, increase the number of nodes in group m0 by 1, and end the search for the current group m0, proceeding to step 305. Step 304: Add the first node to be clustered found in the common search to the boundary node set and stop searching in this direction. Continue to determine whether there are other nodes in group m0. If so, continue searching downward along other nodes until the number of nodes in group m0 increases by 1. Otherwise, if there are no connected nodes that can be included in group m0, the group stops growing. Step 305: After updating the number of nodes in group m0, return to step 302 and continue to reorder the groups that have not yet grown, and perform breadth-first search until there are no more nodes to be grouped in the network; Step 4: Reassign the groups to which the border nodes belong. For the current boundary node b, find the two groups with the least members in the group to which node b belongs, and calculate the relative difference in the number of nodes between these two groups, ΔN: Determine whether the relative gap ΔN is higher than the preset tolerance threshold τ. If so, classify the border node into a group with relatively small number of members; otherwise, calculate the adjustment benefit of the border node and use a greedy strategy to adjust the border node to the adjacent group; Boundary node adjustment benefit σ(b,K i ,K j ): σ(b,K i ,K j )=as CE (b,K i ,K j )+(1-a)σ CR (b,K i ,K j ) K i is the group to which the boundary node b belongs; K j is the group to which the boundary node b is adjusted; α is the self-set weight distribution parameter; Node b is in the current group K i Group balance indicators; Node b is in the current group K i Communication traffic distribution indicators; Step 5: Calculate the mean of all node positions of each group after adjusting the boundary nodes as the virtual center, and select the real node closest to the virtual center as the formal cluster center, thereby obtaining the final drone cluster division; In the final output clustering structure, the cluster center of each cluster is the cluster head node of the FANET network.
2. The cluster partitioning optimization method based on breadth-first search according to claim 1, characterized in that: In the step 1, the original FANET network topology is modeled as an undirected graph G = (P, L), where P = {p1, p2, p3, ..., p n }, represents the set of n drone nodes in the network, represents the set of links between nodes, where d represents the distance between two UAV nodes; First, initialize the empty edge set L′, sort the elements in the original network edge set L in ascending order of distance, and then take them out one by one. Check whether the currently taken element crosses with the existing edges in L′. If there is no intersection, add the element to the empty edge set L′, otherwise discard the element. The final generated non-crossing edge set L′ constitutes the new graph G′=(P,L′).
3. The cluster partitioning optimization method based on breadth-first search according to claim 1, characterized in that: In step 2, the constraint condition for dividing the optimized topology into m groups is that there is no overlap and no omission in the node clusters, that is: K i represents the set of nodes in the i-th group.
4. The cluster partitioning optimization method based on breadth-first search according to claim 1, characterized in that: In step 2, the process of determining the initial cluster center is as follows: First, traverse each node in the optimized topology graph L′ and select the number of nodes that have links connected to the current node a as the node degree of node a; Then, the node o corresponding to the minimum node degree is selected from all node degrees as the initial cluster center; Then, according to the principle of maximizing the minimum separation distance, the subsequent m-1 evenly distributed initial cluster centers are selected.
5. The cluster partitioning optimization method based on breadth-first search according to claim 1, characterized in that: In step 302, the nodes to be clustered are the nodes that are not in the cluster except the initial cluster center and the nodes connected in one step.
6. The cluster partitioning optimization method based on breadth-first search according to claim 1, characterized in that: In step 4, each round of boundary node adjustment includes the following steps: first, the adjustment benefit of the node from group 1 to group 2 is calculated. If the benefit is positive, the node is included in group 2. If the benefit is negative, it means that the value of the group to which the node belongs has not been adjusted. The boundary adjustment process is stopped and the node is included in group 1.
7. The cluster partitioning optimization method based on breadth-first search according to claim 1, characterized in that: In step 5, for the i-th group, the virtual center coordinate calculation formula is as follows: where p i_x 、p i_y 、p i_z Represents node p i x, y, z position coordinates, m i_x , m i_y , m i_z are the x, y, and z coordinates of the virtual center coordinates respectively; N i Represents the number of nodes in the i-th group.