Cell diffusion algorithm for solving Steiner tree problem in networking of sensor network

The Steiner tree problem was solved in the sensor network through the cell diffusion algorithm, and efficient selection group broadcast routing in the HAPS network was realized, solving the problem of inaccurate routing solutions in the existing technology, significantly improving computing efficiency and accuracy.

CN119155231APending Publication Date: 2024-12-17MACAO POLYTECHNIC INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411210499.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

In sensor networks, it is difficult to achieve efficient multicast transmission, especially in HAPS grids. The prior art fails to use precise solution Steiner tree to solve the Steiner tree problem, resulting in inaccurate routing schemes.

Method used

A cell diffusion algorithm is proposed. By constructing undirected hypergraphs and undirected graphs, using the MST minimum spanning tree algorithm and cell diffusion algorithm to solve, the final Steiner tree solution is merged to realize the selection group broadcast routing of high-altitude platform station networks.

Benefits of technology

SGB ​​problem solving for large-scale HAPS networks can be calculated in seconds, and even efficiently implemented in networks of hundreds or thousands of nodes, significantly improving computing complexity and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155231A_ABST
    Figure CN119155231A_ABST
Patent Text Reader

Abstract

The invention discloses a cell diffusion algorithm for solving a Steiner tree problem in networking of a sensor network, and the cell diffusion algorithm provided by the invention is used for solving a small-scale STP (Spanner Tree). The STP of the hop count constraint is NP difficult, but is solvable in a bounded tree width graph. According to the method, the Cell-Expansion algorithm is designed to be an STP solver in a region. The number of rounds (iterative count) is considered as a complexity metric. And meanwhile, the HAPS grids of the plurality of regions are combined by a Region-Cut-Split algorithm. By combining the two algorithms, a large-scale HAPS network SGB problem solver is developed. Through the design of the invention, even if one network has hundreds of even thousands of nodes, the calculation can be completed within several seconds by using the framework.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of routing solutions, and more specifically to a cell diffusion algorithm for solving the Steiner tree problem in sensor network networking. Background Art

[0002] Sensors in sensor networks are usually distributed over a large area and are numerous; sensor networks often have poor network quality, and it is very difficult to achieve efficient multicast transmission in sensor networks.

[0003] Adding HAPS mesh to the sensor network, High Altitude Platform Station (HAPS) is a technology that operates in the stratosphere. Multiple HAPS stations (such as airships and balloons) can be wirelessly interconnected to form a HAPS mesh network. The HAPS grid can cover a huge area on the earth's surface and is an excellent choice for broadcasting signals to a wide range of receivers distributed over a wide area. For subscribing applications, broadcast messages can be delivered in the form of one-to-many messages, a mechanism called Selected Group Broadcast (SGB), allowing HAPS to provide SGB services with quality assurance, which is essentially the Steiner Tree Problem (STP) in graph theory. The ground station that receives the message can then pass the message through the existing connection method (wired or wireless point-to-point bidirectional connection).

[0004] Given an undirected graph G = {V, E}, whose edge weights are non-negative ( cost e > 0) and a subset of vertices (terminal nodes, T∈V(G)), the Steiner tree problem is to find a tree with minimum weight (min s (∑ e∈E(s) cost e ))'s tree Contains all given terminal nodes (T∈V(S)) (but may include other vertices).

[0005] The STP problem is an NP-hard problem, and existing solutions to STP-related problems in network routing are mostly based on heuristics or approximate algorithms. Some recent algorithms based on decomposition techniques to reduce the size of the problem have emerged, which solve larger-scale STP problems quickly and accurately in most cases. This suggests that STP may have a computable exact algorithm in most cases, but previous multicast routing solutions did not use exact solutions. Summary of the invention

[0006] The primary purpose of the present invention is to provide a cell diffusion algorithm for solving the Steiner tree problem in sensor network networking, and to achieve an accurate solution in the SGB routing application of the HAPS network; a further purpose of the present invention is to provide a cell diffusion algorithm system for solving the Steiner tree problem in sensor network networking; the third purpose of the present invention is to provide a computer medium.

[0007] In order to solve the above technical problems, the technical solution of the present invention is as follows:

[0008] A first aspect of the present invention provides a cell diffusion algorithm for solving the Steiner tree problem in sensor network networking, comprising the following steps:

[0009] Construct an undirected hypergraph, where nodes are defined as sub-regions containing the aerial platform network, edges are defined as connections between regions, and edge weights are defined as the number of connections between regions. Through the hypergraph construction, the MST minimum spanning tree algorithm can be used to construct a tree structure between regions, and then the STP solution for each region is calculated and then merged to obtain the final solution;

[0010] Construct an undirected graph, where the nodes of the undirected graph are defined as high-altitude platform stations, including high-altitude platform stations or terminals and transfer high-altitude platform station nodes that need to be connected to ground broadcast receiving terminals, edges are defined as network links between points, and the cost of the edges is a measure of communication quality;

[0011] The set of nodes representing terminals in the undirected graph is made a terminal node set, and a cell diffusion algorithm is used to solve the problem. The cell diffusion algorithm makes all nodes in the terminal node set become first-generation cells, and defines the initialization cost of each cell as 0. Each cell includes a kernel, and the kernel represents the set of terminal node numbers contained in the cell.

[0012] Each cell is expanded along the edge of the current node. After expanding to the adjacent node, the cost of the cell is based on the cost of the cell in the previous round of expansion plus the cost of the expanded edge, and the kernel of the new cell is merged into the kernel set of other cells in the current node;

[0013] When different cells expand to the same node, they merge with each other to form new cells, and the cores of the cells merge with each other to form new cells, which then continue to expand outward from the current node;

[0014] By tracking the cells including all terminal node numbers in the core of the cells, the selected group broadcast routing solution of the high altitude platform station network is obtained.

[0015] The cell diffusion algorithm of the present invention can integrate decomposition technology.

[0016] In a further embodiment, after constructing the undirected graph, the method further comprises the steps of:

[0017] If the cost of a certain edge in the undirected graph is greater than the cost of the shortest path between two nodes after deleting the edge, the edge is deleted, and all edges in the undirected graph that meet the above conditions are deleted.

[0018] In a further embodiment, when cells with the same kernel reach a certain node in the undirected graph through different paths, the path formed by the cells with the lowest cell cost is retained.

[0019] In a further embodiment, the undirected graph is divided into several subgraphs, and all the connection edge sets between different subgraphs are used as edge cut sets. The routing planning between different subgraphs is determined by the minimum spanning tree algorithm, and the routing planning within the same subgraph is determined by the cell diffusion algorithm.

[0020] In a further embodiment, a node representing a terminal is selected as the root of a minimum Steiner tree, and starting from the root, vertex expansion is performed according to the number of hops starting from the root. At a certain step of the expansion, the undirected graph is divided into two parts, that is, the graph is divided into two partitions, wherein the partial subgraph containing the root vertex is called the upper part, and the other part is called the lower part. Different edges in the edge cut set are selected to constitute different upper parts and lower parts, and the cell diffusion algorithm is used to calculate the Steiner tree SMT routing plan of the subgraph in all cases, and the routing plans of the two subgraphs in the same edge cut set selection plan are merged to obtain the routing plan under the edge cut set selection.

[0021] In a further embodiment, the case of selecting to retain different edges in the edge cut set respectively includes:

[0022] When the edge cut set has k edges, there will be 2 k -1 retention situation.

[0023] In a further embodiment, the cell diffusion algorithm is used to calculate the result with the lowest cost in all cases as the routing solution of the subgraph, including:

[0024] For the calculation of the upper part, the cut edge vertices in the upper part are changed into terminal nodes, and then the cell diffusion algorithm is used to obtain the routing solution;

[0025] For the calculation of the lower part, all the cut edge vertices in the lower part are merged into one vertex, and the vertex is used as the terminal, and then the cell diffusion algorithm is used to obtain the routing solution.

[0026] In a further embodiment, merging the routing schemes of the two subgraphs includes:

[0027] When the lower cut edge vertices are merged, the edges originally connected to the cut edge vertices are recorded at the lower part. In the process of merging the routing schemes of the upper and lower parts, the routing scheme of the lower part is replaced with the edge structure in the undirected graph according to the recorded edges originally connected to the cut edge vertices.

[0028] A second aspect of the present invention provides a cell diffusion algorithm system for solving the Steiner tree problem in sensor network networking, comprising:

[0029] Hypergraph construction module, constructs an undirected hypergraph, where nodes are defined as sub-regions containing the aerial platform network, edges are defined as connections between regions, and edge weights are defined as the number of connections between regions. Through hypergraph construction, the MST minimum spanning tree algorithm can be used to build a tree structure between regions, and then the STP solution of each region is calculated, and then merged to obtain the final solution;

[0030] Graph construction module, constructs an undirected graph, where the nodes of the undirected graph are defined as high-altitude platform stations, which include high-altitude platform stations or terminals and transfer high-altitude platform station nodes that need to be connected to ground broadcast receiving terminals, and edges are defined as network links between points, and the cost of the edges is a measure of communication quality;

[0031] A cell module, wherein the set of nodes representing the terminals in the undirected graph is taken as the terminal node set, and the cell diffusion algorithm is used to solve the problem. The cell diffusion algorithm takes all nodes in the terminal node set as first-generation cells, and defines the initialization cost of each cell as 0. Each cell includes a kernel, and the kernel represents the set of terminal node numbers contained in the cell.

[0032] The expansion module allows each cell to expand along the edge of the current node. After expanding to the adjacent node, the cost of the cell is based on the cost of the cell in the previous round of expansion plus the cost of the expansion edge, and the kernel of the new cell is merged into the kernel set of other cells in the current node;

[0033] Merging module: When different cells expand to the same node, they merge with each other to form new cells. The cores of the cells merge with each other to form new cells, and then continue to expand outward from the current node.

[0034] The tracking module obtains the selected group broadcast routing solution of the aerial platform station network by tracking the cells including all terminal node numbers in the kernel of the cells.

[0035] The third aspect of the present invention provides a computer medium having a computer program stored thereon, and when the computer program is executed by a processor, the method for selecting a group broadcast routing of a high-altitude platform station network based on a cell diffusion algorithm is completed.

[0036] Compared with the prior art, the technical solution of the present invention has the following beneficial effects:

[0037] The present invention proposes a hop-constrained STP solver, namely the Cell-Expansion algorithm, for solving small-scale STP. Hop-constrained STP is NP-hard, but it is solvable in a bounded treewidth graph. In the present invention, the Cell-Expansion algorithm is designed as an intra-regional STP solver. The number of rounds (iteration count) is considered as a complexity measure. At the same time, the Region-Cut-Split algorithm merges HAPS grids of multiple regions. By combining these two algorithms, a large-scale HAPS network SGB problem solver was developed. Through the design of the present invention, even if a network has hundreds or even thousands of nodes (considering the coverage of HAPS and the communication distance between HAPS, this scale can already fully cover any country), the calculation can be completed in a few seconds using this framework. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 A schematic diagram of a cell diffusion algorithm flow for solving the Steiner tree problem in sensor network networking provided by an embodiment of the present invention;

[0039] Figure 2 An example diagram of a cell diffusion algorithm provided by an embodiment of the present invention;

[0040] Figure 3 The cell diffusion algorithm provided in the embodiment of the present invention solves the complexity of the STP problem R setting;

[0041] Figure 4 The 2-Cut graph provided in the embodiment of the present invention is a decomposed schematic diagram of a graph with three connected edges;

[0042] Figure 5 An example diagram of upper and lower calculations provided by an embodiment of the present invention;

[0043] Figure 6 An example diagram of the combination of Cell-Expansion and Region-Cut-Split provided in an embodiment of the present invention;

[0044] Figure 7 for Figure 6 Schematic diagram of routing solution;

[0045] Figure 8 A schematic diagram of the module flow of a cell diffusion algorithm system for solving the Steiner tree problem in sensor network networking provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0046] The drawings are for illustrative purposes only and should not be construed as limiting the present patent;

[0047] In order to better illustrate the present embodiment, some parts in the drawings may be omitted, enlarged or reduced, and do not represent the size of the actual product;

[0048] It is understandable to those skilled in the art that some well-known structures and their descriptions may be omitted in the drawings.

[0049] The technical solution of the present invention is further described below in conjunction with the accompanying drawings and embodiments.

[0050] Example

[0051] like Figure 1 As shown, Figure 1 A schematic diagram of a cell diffusion algorithm for solving the Steiner tree problem in sensor network networking, including the following steps:

[0052] Construct an undirected graph, where the nodes of the undirected graph are defined as high-altitude platform stations, including high-altitude platform stations or terminals and transfer high-altitude platform station nodes that need to be connected to ground broadcast receiving terminals, edges are defined as network links between points, and the cost of the edges is a measure of communication quality;

[0053] The set of nodes representing terminals in the undirected graph is made a terminal node set, and a cell diffusion algorithm is used to solve the problem. The cell diffusion algorithm makes all nodes in the terminal node set become first-generation cells, and defines the initialization cost of each cell as 0. Each cell includes a kernel, and the kernel represents the set of terminal node numbers contained in the cell.

[0054] Each cell is expanded along the edge of the current node. After expanding to the adjacent node, the cost of the cell is based on the cost of the cell in the previous round of expansion plus the cost of the expanded edge, and the kernel of the new cell is merged into the kernel set of other cells in the current node;

[0055] When different cells expand to the same node, they merge with each other to form new cells, and the cores of the cells merge with each other to form new cells, which then continue to expand outward from the current node;

[0056] By tracking the cells including all terminal node numbers in the core of the cells, the selected group broadcast routing solution of the high altitude platform station network is obtained.

[0057] In this embodiment, terminal nodes (Terminals) are selected nodes that need to be interconnected in the graph G{Nodes, Edges} (a subset of Nodes), which are specified in the definition of the STP problem. Other nodes that are not terminal nodes can be called SteinerNodes (Terminals+SteinerNodes=AllNodes). The roles between Terminals and Steiner Nodes can be changed according to different routing tasks, and the change is a new STP problem.

[0058] Each node has an ID.

[0059] The kernel is a collection of the IDs of the Terminal nodes contained in the cell. If there are multiple Terminals in the cell, there are multiple corresponding IDs. The first generation cell has only one Terminal, and there is only one element in the collection.

[0060] The cell diffusion algorithm in this embodiment is inspired by the process of cell phagocytosis in nature, specifically:

[0061] In nature, a single-celled red algae was engulfed by another eukaryotic cell and evolved into an endosymbiont in the new host cell. From this secondary endosymbiotic cell, groups such as dinoflagellates, diatoms, and brown algae evolved.

[0062] The phenomenon of cells engulfing and forming new cells is abstracted as cell-expansion. The formal expression is as follows:

[0063] Each cell originally has a different nucleus, and the genes in each nucleus are represented by different numbers. Use the kernels array to represent them, and the numbers in kernels represent different genes. Each cell of the original cell has only one gene.

[0064] 1) As cells grow, they occupy more territory and engulf each other in some territories. The cell spreading algorithm assumes that two different types of cells expand to new areas at the same time and meet each other, and their engulfment will form new nuclei, thus generating new kernels.

[0065] 2) The nucleus of the new cell is formed by merging the nuclei of the original two cells, and the corresponding kernels are also merged accordingly. The new cell will also begin to expand its territory.

[0066] 3) When all cells are expanded, eventually a cell containing all genes will be formed.

[0067] When the above-mentioned cell diffusion algorithm is applied to the selected group broadcast routing of the high-altitude platform station network, the implementation scheme of this embodiment is obtained.

[0068] In a further embodiment, after constructing the undirected graph, the following steps are further included:

[0069] If the cost of a certain edge in the undirected graph is greater than the cost of the shortest path between two nodes after deleting the edge, the edge is deleted, and all edges in the undirected graph that meet the above conditions are deleted.

[0070] In this embodiment, if the cost of an edge in the graph is greater than the cost of the shortest path between the two endpoints after deleting the edge, the edge is called a Steiner distance edge (SDE). This concept is a special case of the widely used bottleneck Steiner distance or special distance. SDEs can be removed from the graph through polynomial time complexity preprocessing. The solution of this embodiment will not include any SDEs. If there are no SDEs in the graph, then the expansion of the cell, as discussed below, is a process with monotonically increasing cost; that is, the cell expansion is convex.

[0071] In a further embodiment, when cells with the same kernel reach a certain node in the undirected graph through different paths, the path formed by the cells with the lowest cell cost is retained.

[0072] In this embodiment, there is only one cell, and different paths constitute different implementations of the same cell. The optimal path is selected (actually the Steiner Minimal Tree with the most terminals).

[0073] In a specific embodiment, Figure 2 As shown, the specific mechanism of the cell diffusion algorithm is demonstrated:

[0074] 1) Initially, each terminal node in the STP becomes a first-generation cell, and the gene in its kernels is the terminal node number. The initialization cost of each cell is 0.

[0075] The expansion of each cell in STP is from the cell of the current node in the graph to its neighboring nodes. After expansion to the neighboring nodes, the cost of the cell will be based on the cost in the original node plus the cost of the expanded edge. If cells of the same type reach a node in the graph through different paths, only the cell of the same type with the lowest cost is retained.

[0076] 2) Different cells on the same node will merge with each other to form a new cell, and then expand outward from the node. If the kernels of the original cells do not intersect, the cost of the newly merged cell is the sum of the costs of the cells that make it up.

[0077] 3) Each cell is actually a tree with the current node as the root and the endpoints corresponding to the kernel it contains as leaves.

[0078] 4) If all cells are allowed to merge at each node, then all cells will participate in the expansion. It can be shown that in a graph without SDE, the solution of STP can be obtained by tracking cells of type kernels whose kernels contain all terminals.

[0079] The above cell spreading algorithm can be developed as an STP solution. However, if all cells are allowed to Figure 2 A, this solution will create O(2 |T| ) cells, and the message propagation of which is almost the same in scale, where |T| is the number of terminals evenly distributed in the network (graph). However, many cells and messages created are unnecessary. The above embodiment filters out many unnecessary cell creations and message transmissions, but if it is to be ensured that any optimal cell can correctly transmit information, the complexity of the algorithm still grows exponentially.

[0080] Next, this embodiment will limit the merging and spreading of cells to achieve a feasible solution in the sense of round R. Round is the number of iterations of the Cell-Expansion process. The number of times a cell expands by engulfing other cells is the number of generations of evolution. Since the merging of cells is restricted by some rules, this embodiment develops a new algorithm, the cell diffusion algorithm, to describe this process. Cell-Expansion corresponds to the merging of cells with intersecting kernels, such as Figure 2 As shown in B.

[0081] Cells start to expand after they are created, so their creation time and location are closely related to the topology of the graph and the distribution of endpoints. Therefore, the Cell-Expansion algorithm can calculate the complexity of each round of calculation, but it is impossible to give a simple answer to how many rounds of calculation are required to get the final solution for a given STP. The solution of STP can be any tree in the graph. Figure 3 shown.

[0082] If the terminals are distributed as Figure 3 As shown in the left figure, after one round, node C has obtained the information of all terminals and can quickly obtain the STP solution. Figure 3As shown in the right figure, if there are two clusters near A and B, after 1 round, both A and B obtain the cell information of the local kernel. However, these cells must diffuse to D to create a cell containing all terminals, which requires at least 2 additional rounds. Therefore, the solution of the right graph requires more rounds. In this case, the efficiency of the Cell-Expansion algorithm is a bit low. However, if the right graph can be divided and each subgraph has highly clustered terminal nodes, the Cell-Expansion algorithm can be very efficient.

[0083] This embodiment proposes a region segmentation and merging algorithm Region-Cut-Split.

[0084] Cell-Expansion is computable when R is a fixed parameter, but the increase in system size still significantly increases the computational effort. Therefore, reduction methods are of interest for practical solutions. In particular, when reduction can reduce a problem with a large R to a problem with a small R.

[0085] The characteristic of HAPS networking is that HAPS grids are usually extensions of ground networks and are restricted by regional boundaries (national or provincial boundaries). Therefore, HAPS networking that can cover the entire country or multiple countries in the world is divided into two layers: intra-regional networks and inter-regional networks. The geographical scope of a region is usually fixed. The connections of HAPS grids within a region are almost random. But there are only a few fixed cross-regional connections between regions. Therefore, most of the time, route planning is a top-down decision-making process. To achieve SGB in HAPS cross-regional networking, first determine the routes between regions and then connect the networks within the region. Decisions between regions and within regions are made independently.

[0086] If the STP problem considers both inter-regional and intra-regional links, since the cost of the edge will affect the division of the region, such an optimal division is not fixed in the topology. This is a difficult STP problem, and this embodiment does not study this more difficult problem.

[0087] Next, this embodiment discusses a network based on two-step planning. The inter-regional routing planning is determined by other methods such as the minimum spanning tree algorithm, while the intra-regional connection is determined by STP. This solution does not discuss the first step of large-graph segmentation, but discusses how to calculate STP using the tree structure between the segmented regions as a known condition. The inter-regional path is a tree, and each link between regions is an edge cut set used to divide the region. The edge cut set can have different numbers of A2A links.

[0088] Since the HAPS network relies on the terrestrial network, that is, the connection between HAPS areas is controlled by the terrestrial network, and the management of the terrestrial network is structured according to the network level, the routing planning between HAPS network areas is naturally determined by the minimum spanning tree (MST) algorithm.

[0089] Assume that a terminal is selected as the root of the minimum Steiner tree (MST, the solution of STP), starting from the root, the vertex is expanded according to the number of hops from the root. At a certain step of the expansion, the original STP graph can be divided into two parts, that is, the graph is divided into two partitions (2-cuts).

[0090] When the edge cut set of the partition is small, the original STP problem can be decomposed into sub-STP problems to solve. The following discussion only considers the graph as a 1 / 2 / 3 edge-connected graph. For k-edge-connected graphs k ≥ 4, a similar method can be extended to obtain a solution. Therefore, what is described here is a general 2-partition graph STP partitioning algorithm.

[0091] Below we use a 3-edge connected graph to illustrate the basic idea (the solution of the 1 / 2 edge connected graph is a subset of the solution of the 3-edge connected graph). Figure 4 As shown, when there is a smaller set of cut edges (3 cut edges, e AD , e BE , e CF ), the original problem is decomposed into two partitions. Both subgraphs should have terminals after decomposition. The part of the subgraph containing the root vertex is called the upper part, and the other part is called the lower part. The root can be any terminal.

[0092] Since the decomposition solution of a three-edge connected graph must be a tree with its root vertex at the top, if we choose to keep different cut edges (solid lines), we can list possible solutions, such as Figure 4 As shown. Then we can calculate the decomposition problems of these 7 cases respectively, and finally choose the result with the minimum cost as the solution. According to the number of cut edges, these 7 cases can be divided into 3 categories: (1).cut1, that is, case 1 / 2 / 3. (2).cut2, case 4 / 5 / 6. (3).cut3, case 7. More generally, a k-edge connected graph can be divided into 2 non-intersecting subgraphs, and there will be 2 k -1 situation.

[0093] If we only know the cut edge set but don’t know which part is the upper part, we can try to expand the terminal by the number of hops to see if there are some extensions that can stop exactly at the end point of the cut edge set. If the above method fails to find an extension that meets the conditions, we can randomly select one side as the upper part and then try the other one. That is, there will be 2 (2 k -1) situation.

[0094] In a specific embodiment, when the position of the root node cannot be determined, the above method can first assume that one (A) of the two parts that have been divided is the upper part and the other (B) is the lower part, and perform a calculation. Then replace it with one (B) as the lower part and the other (B) as the upper part, and calculate it again. Then select the minimum solution of the two calculations.

[0095] After the graph is divided, the upper and lower parts can be calculated separately and then the results can be merged. In this way, a large-scale STP problem is decomposed into two small-scale STP sub-problems, and the calculation of each sub-STP problem can be run in parallel.

[0096] For the calculation of the upper part, just change the upper edge vertex to the terminal, and then use Cell-Expansion to calculate the MST of the changed upper part.

[0097] The calculation of the lower part requires merging all the tangent edge vertices into one vertex and using this point as the terminal, and then using Cell-Expansion to calculate the changed MST of the lower part.

[0098] When the lower edge cutting points are merged, the edges that were originally connected to them are recorded in the lower part. In the process of merging the upper and lower results, the MST of the lower part needs to be replaced with the edge structure in the original graph according to the previously recorded edge connection.

[0099] Figure 5 The process of computing a subgraph for a given set of cut edges is demonstrated in .

[0100] Edges: <24,98><24,101><24,103> are selected as the region cut edge set, so there are 7 possible solutions. If you want to evaluate one of the cases, you choose <24,98><24,103>, then the upper part is shown in the upper left corner of the figure, and the lower part is shown in the lower right corner. For the upper part, since the cut edge point is 24, it is already a terminal, so no special treatment is required. For the lower part, nodes 98 and 103 are merged into 98, and all edges starting from 103 are transferred to 98. The newly merged node 98 needs to be set as a terminal. However, when the solution of the changed lower part is obtained and the merged edges are restored, it is found that the solution does not require node 98 to connect all the terminals of the lower part (<96,103> is enough, 98 is not a real terminal, so <24,98> is not necessary). Therefore, this case <24,98><24,103> will not be the best cut edge, and this solution will not be finally selected.

[0101] This embodiment also provides a solution to the problem of how to calculate the STP after the inter-area tree is obtained by other algorithms.

[0102] After the inter-region tree is obtained by the inter-region routing strategy and algorithm, the STP problem cannot be calculated because it is still a large graph. In addition, since there are different cutting edge types (such as 1 / 2 / 3 cutting edge sets) between regions, and the smaller the size of the cutting edge set, the less calculation amount is generated when calculating the cutting edge set by the method in the above embodiment. Therefore, it is necessary to find an optimal method to perform this decomposition.

[0103] In order to facilitate parallel computing, an STP problem is represented in a file. Refer to the stp format but make some improvements to this format. In STP, if there are 1-degree nodes in the graph, they can be removed during STP calculation. This process can be repeated until there are no more 1-degree nodes. In this embodiment, the problem obtained by processing an STP problem xxx (a file) through the above steps is called the xxx-Core (a file) problem, and the decomposed part is called the xxx-fringe (a file) part. When the solution to the xxx-Core part is obtained, the xxx-fringe part can be simply added to the solution to obtain the solution of the original xxx problem. It should be noted that the nodes in the xxx-Core part connected to the xxx-fringe part must be converted to terminals.

[0104] The decomposition algorithm of this embodiment decomposes a large-scale STP file into a directory tree and records a directory configuration file for each directory. The configuration file describes the calculation relationship of the files in the directory. The configuration file only requires a few operations: mergfringe / selt / cut1 / cut2 / ... / cutx. mergfringe is an operation that merges the xxx-Core solution with xxx-fringe to build the xxx solution. selt is an operation that selects the best solution in the directory. The cutx operation is an operation that merges the upper and lower results by the method in the above subsection. If the STP file has a directory with the same name (excluding the extension) at the same directory level, the file must have been decomposed and does not need to be calculated directly. The final result of the file will be merged into its subdirectory through calculation. All STP files in the directory tree that do not have a directory with the same name in the same directory can be calculated in parallel. Then the results are merged according to the configuration files of each directory, and the final large-scale STP solution is finally obtained. The process of decomposing the inter-regional tree into a directory tree is described below.

[0105]

[0106] The decompFile() function will check cutList and decompose the file into a new directory. The files in the new directory include the generated new sub-problem files and related configuration files. decompFile() will prioritize the cut edges with a small number of links. The updateChkList() function will check the newly generated files and update ckFlist.

[0107] The directory described here can be implemented in some similar form in memory, not necessarily a directory, but the idea of ​​calculation is the same.

[0108] In a specific embodiment, the main loop of the Cell-Expansion algorithm is as follows.

[0109]

[0110] The key data structures of the Cell-Expansion algorithm include:

[0111] The graph records the topology and edge cost information; STPCell represents a collection of cells, and different cells are represented by different kernels (a collection of terminal nodes); STPNode stores the SLINFO list of local cell information obtained by this node. The list items include the SteinerCost of the cell at this node and how to access all terminal nodes of this cell from this node; theSTP is an instance of the Steiner tree problem, which contains the graph, the terminals list, all STPCells and all STPNodes, so the STPNode can access all information from theSTP during message processing.

[0112] STPNode records SLINFO and sends update information CellLink to its neighbors according to the changes in SLINFO in the message processing phase (last round). CellLink is merged with the current local topcellset to generate a new local cell. Then new messages and message processing will appear in turn.

[0113] A node receives new cells and merges them with topcellset. Then it updates the local SLINFO information. If the same cell already exists in the local SLINFO, or a larger cell already exists in the local SLINFO and its SteinerCost is less than the updated information, the updated CellLink is discarded (CheckValidNC() returns 0 or -1). Otherwise, it joins SLINFO.

[0114] The definition of local topcellset includes:

[0115] 1) The cell with the largest set of kernels, including the union of the kernels of all CellLinks received by the node. 2) The cell with the largest interface, including the union of the kernels of all CellLinks not received from this neighbor. Each neighbor of the STPNode has an interface corresponding to it in the STPNode. 3) Single cell, that is, a CellLink with only one digital kernel.

[0116] The message processing of the node is shown below.

[0117]

[0118] chkIntersec() checks whether the newly added cell has an intersection with the local cell. If it does not intersect with any local cell, the newly merged cell will add the source edge cost to calculate the new cell SteinerCost, otherwise addMegByExp() will try to expand the local anchor cell tree to obtain the SteinerCost of the merged cell. CheckValidNC() will filter out unnecessary messages.

[0119] The complexity of the main loop of the above Cell-Expansion algorithm is related to the number of STPCells. The complexity of the message processing of the above node is related to the length of the local SLINFO list. The messages in the main loop of the Cell-Expansion algorithm are related to the number of new messages. Due to the filtering condition (CheckValidNC()), only a small part of the new cell information is sent or stored. If a CellLink is sent to a terminal node, this newly added cell information will be sent out after merging the topcellset of the terminal, so starting from this node, the CellLink diffusion ends. Therefore, the number of messages processed in each round grows limitedly. The size of SLINFO is more limited by CheckValidNC(). The growth of this amount is related to the topology. But in the worst case, SLINFO grows polynomially. In the worst case, the number of STPCells will grow exponentially with the number of rounds.

[0120] Let P(R) denote the polynomial of R (number of rounds). If the length of SLINFO is L, then L = P(R), and the number of STPCells is C = 2 α·. The number of messages that the node needs to process is M = P(R). α is a constant that depends on the topology of the graph and the distribution of the terminals. Therefore, the time complexity of the node's message processing is O(P(R)), and the time complexity of the main loop of the Cell-Expansion algorithm is O(O(2^{α·R}))·O(P(R)))=O(2^{α·R}). However, for the data that needs to be stored, it is only related to C and L, so for the worst case, the space complexity of the algorithm is O(2 α· ). But in most cases, C = P(R). The number of STPCells in Algorithm 1 will also increase. Although the number of terminals is also in P(R), when the hop count constraint is the depth of the solution, there seems to be no improvement over the existing algorithm, but if the maximum hop count is less than the depth of the solution, only some terminals are calculated, so the algorithm complexity is more accurately expressed by R, and there will be a big difference when the graph can be split. When R can be used to split a large graph into small graphs, Cell-Expansion will become more meaningful and become the basis of the decomposition algorithm.

[0121] Assume that the area is divided as Figure 6 As shown in Figure 2, when a HAPS grid with a maximum of 40 terminals and a maximum of 40 nodes is filled into the area, the resulting graph is as follows: Figure 7 As shown, there are 287 nodes and 113 terminals, but Region-Cut-Split gets the solution in just 8 seconds, solving 61 stp files in parallel on an 8-core 16-thread Ryzen 7 5800x computer running the Ubuntu 22.04 operating system.

[0122] The decomposition technology provided in this embodiment can be combined. The decomposition technology is an independent technical path for STP solution. However, this algorithm provides a framework that can integrate the decomposition technology. The non-inclusion test in the decomposition technology is applicable to any solution method, so this algorithm naturally supports it. The inclusion test in the decomposition technology can be integrated into this algorithm by merging the test results into one node; the specific operation is that the nodes and edges that must be included can be merged into one terminal node, and all other connected edges of the merged node are connected to the final merged node. If multiple edges are merged to the same pair of nodes, the edge with the smallest cost is retained; the above merged information is recorded, and the final solution can be restored using this information when the solution is finally restored.

[0123] Reduction technologies are used to simplify problems by using reduction tests. They are divided into two categories: inclusion test and exclusion test. Inclusion test is to determine which nodes and edges in the graph must be included in the final Steiner tree. Exclusion test is to determine which nodes and edges are not included in the final Steiner tree. Through reduction technology, large-scale STP problems can be turned into small-scale STP problems.

[0124] This embodiment also provides a cell diffusion algorithm system for solving the Steiner tree problem in sensor network networking. Figure 8 As shown, including:

[0125] Hypergraph construction module, constructs an undirected hypergraph, where nodes are defined as sub-regions containing the aerial platform network, edges are defined as connections between regions, and edge weights are defined as the number of connections between regions. Through hypergraph construction, the MST minimum spanning tree algorithm can be used to build a tree structure between regions, and then the STP solution of each region is calculated, and then merged to obtain the final solution;

[0126] Graph construction module, constructs an undirected graph, where the nodes of the undirected graph are defined as high-altitude platform stations, which include high-altitude platform stations or terminals and transfer high-altitude platform station nodes that need to be connected to ground broadcast receiving terminals, and edges are defined as network links between points, and the cost of the edges is a measure of communication quality;

[0127] A cell module, wherein the set of nodes representing the terminals in the undirected graph is taken as the terminal node set, and the cell diffusion algorithm is used to solve the problem. The cell diffusion algorithm takes all nodes in the terminal node set as first-generation cells, and defines the initialization cost of each cell as 0. Each cell includes a kernel, and the kernel represents the set of terminal node numbers contained in the cell.

[0128] The expansion module allows each cell to expand along the edge of the current node. After expanding to the adjacent node, the cost of the cell is based on the cost of the cell in the previous round of expansion plus the cost of the expansion edge, and the kernel of the new cell is merged into the kernel set of other cells in the current node;

[0129] Merging module: When different cells expand to the same node, they merge with each other to form new cells. The cores of the cells merge with each other to form new cells, and then continue to expand outward from the current node.

[0130] The tracking module obtains the selected group broadcast routing solution of the aerial platform station network by tracking the cells including all terminal node numbers in the kernel of the cells.

[0131] This embodiment also provides a computer medium, on which a computer program is stored. When the computer program is executed by a processor, the method for selecting a group broadcast routing of a high-altitude platform station network based on a cell diffusion algorithm is completed.

[0132] The same or similar reference numerals correspond to the same or similar components;

[0133] The terms used in the drawings to describe positional relationships are only used for illustrative purposes and should not be construed as limiting this patent;

[0134] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the embodiments here. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the claims of the present invention.

Claims

1. A cell diffusion algorithm for solving the Steiner tree problem in sensor network networking, characterized in that: The following steps are involved: Construct an undirected hypergraph, where nodes are defined as sub-regions containing the aerial platform network, edges are defined as connections between regions, and edge weights are defined as the number of connections between regions. Through the construction of the hypergraph, the MST minimum spanning tree algorithm can be used to construct a tree structure between regions, and then the STP solution of each region is calculated, and then merged to obtain the final solution; Construct an undirected graph, where the nodes of the undirected graph are defined as high-altitude platform stations, including high-altitude platform stations or terminals and transfer high-altitude platform station nodes that need to be connected to ground broadcast receiving terminals, edges are defined as network links between points, and the cost of the edges is a measure of communication quality; The set of nodes representing terminals in the undirected graph is made a terminal node set, and a cell diffusion algorithm is used to solve the problem. The cell diffusion algorithm makes all nodes in the terminal node set become first-generation cells, and defines the initialization cost of each cell as 0. Each cell includes a kernel, and the kernel represents the set of terminal node numbers contained in the cell. Each cell is expanded along the edge of the current node. After expanding to the adjacent node, the cost of the cell is based on the cost of the cell in the previous round of expansion plus the cost of the expanded edge, and the kernel of the new cell is merged into the kernel set of other cells in the current node; When different cells expand to the same node, they merge with each other to form new cells, and the cores of the cells merge with each other to form new cells, which then continue to expand outward from the current node; By tracking the cells including all terminal node numbers in the core of the cells, the selected group broadcast routing solution of the high altitude platform station network is obtained.

2. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 1 is characterized in that: After constructing the undirected graph, the following steps are also included: If the cost of a certain edge in the undirected graph is greater than the cost of the shortest path between two nodes after deleting the edge, the edge is deleted, and all edges in the undirected graph that meet the above conditions are deleted.

3. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 2 is characterized in that: When cells with the same kernel reach a certain node in the undirected graph through different paths, the path consisting of cells with the lowest cell cost is retained.

4. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 3 is characterized in that: The undirected graph is divided into several subgraphs, and all the connection edge sets between different subgraphs are used as edge cut sets. The routing planning between different subgraphs is determined by using a minimum spanning tree algorithm, and the routing planning within the same subgraph is determined by using the cell diffusion algorithm.

5. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 4 is characterized in that: A node representing a terminal is selected as the root of a minimum Steiner tree, and starting from the root, vertices are expanded according to the number of hops from the root. At a certain step of the expansion, the undirected graph is divided into two parts, that is, the graph is divided into two partitions, wherein the part of the subgraph containing the root vertex is called the upper part, and the other part is called the lower part. Different edges in the edge cut set are selected to form different upper and lower parts, and the cell diffusion algorithm is used to calculate the Steiner tree SMT routing scheme of the subgraph in all cases, and the routing schemes of the two subgraphs in the same edge cut set selection scheme are merged to obtain the routing scheme under the edge cut set selection.

6. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 5 is characterized in that: The case of selecting different edges in the edge cut set to be retained respectively includes: When the edge cut set has k edges, there will be 2 k -1 retention situation.

7. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 6 is characterized in that: The cell diffusion algorithm is used to calculate the result with the lowest cost in all cases as the routing solution of the subgraph, including: For the calculation of the upper part, the cut edge vertices in the upper part are changed into terminal nodes, and then the cell diffusion algorithm is used to obtain the routing solution; For the calculation of the lower part, all the cut edge vertices in the lower part are merged into one vertex, and the vertex is used as the terminal, and then the cell diffusion algorithm is used to obtain the routing solution.

8. The cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to claim 7 is characterized in that: The merging of the routing schemes of the two subgraphs includes: When the lower cut edge vertices are merged, the edges originally connected to the cut edge vertices are recorded at the lower part. In the process of merging the routing schemes of the upper and lower parts, the routing scheme of the lower part is replaced with the edge structure in the undirected graph according to the recorded edges originally connected to the cut edge vertices.

9. A cell diffusion algorithm system for solving the Steiner tree problem in sensor network networking, characterized in that: include: Hypergraph construction module, constructs an undirected hypergraph, where nodes are defined as sub-regions containing the aerial platform network, edges are defined as connections between regions, and edge weights are defined as the number of connections between regions. Through hypergraph construction, the MST minimum spanning tree algorithm can be used to build a tree structure between regions, and then the STP solution of each region is calculated, and then merged to obtain the final solution; Graph construction module, constructs an undirected graph, where the nodes of the undirected graph are defined as high-altitude platform stations, which include high-altitude platform stations or terminals and transfer high-altitude platform station nodes that need to be connected to ground broadcast receiving terminals, and edges are defined as network links between points, and the cost of the edges is a measure of communication quality; A cell module, wherein the set of nodes representing the terminals in the undirected graph is taken as the terminal node set, and the cell diffusion algorithm is used to solve the problem. The cell diffusion algorithm takes all nodes in the terminal node set as first-generation cells, and defines the initialization cost of each cell as 0. Each cell includes a kernel, and the kernel represents the set of terminal node numbers contained in the cell. The expansion module allows each cell to expand along the edge of the current node. After expanding to the adjacent node, the cost of the cell is based on the cost of the cell in the previous round of expansion plus the cost of the expansion edge, and the kernel of the new cell is merged into the kernel set of other cells in the current node; Merging module: When different cells expand to the same node, they merge with each other to form new cells. The cores of the cells merge with each other to form new cells, and then continue to expand outward from the current node. The tracking module obtains the selected group broadcast routing solution of the aerial platform station network by tracking the cells including all terminal node numbers in the kernel of the cells.

10. A computer medium, characterized in that The computer medium stores a computer program, and when the computer program is executed by the processor, the cell diffusion algorithm for solving the Steiner tree problem in sensor network networking according to any one of claims 1 to 8 is implemented.