Method, computer system, and medium for communication network dual connectivity determination
By constructing transformation matrices and elementary transformations using spanning trees, the problem of finding key points and determining biconnectivity in dynamic communication networks is solved, achieving fast and accurate key point finding and biconnectivity determination.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NORTHWESTERN POLYTECHNICAL UNIV
- Filing Date
- 2023-05-11
- Publication Date
- 2026-04-28
AI Technical Summary
Existing technologies struggle to quickly and accurately locate key points and determine the biconnectivity of communication networks in dynamic communication network environments. Methods based on traversal algorithms involve large computational loads, while methods based on Fiedler vectors suffer from incompleteness.
By constructing a transformation matrix using a spanning tree, elementary transformations are performed on the adjacency matrix of the undirected communication network topology graph. Branch links in the spanning tree are then found, and sub-blocks are divided using equivalence matrices. Key points are determined by their intersections, and biconnectivity is quickly determined.
It enables the rapid and accurate identification of all key points and determination of biconnectivity in dynamic communication networks, simplifying the algorithm process and improving the efficiency and accuracy of the judgment.
Smart Images

Figure CN116436820B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communications, and more specifically to the field of communication network connectivity determination, and relates to a method, computer system and medium for determining dual connectivity of communication networks. Background Technology
[0002] A communication network topology exhibits biconnectivity when there are no key nodes in its connected graph. A key node in an undirected communication network topology is defined as a node whose disconnection from the network results in the network being divided into two or more independent sub-connected graphs. Specifically, if two adjacent key nodes exist in the undirected connected graph, these two key nodes and the edge connecting them together form a bridge.
[0003] With the development of technologies such as communication, computing, artificial intelligence, and autonomous control, multi-aircraft / swarm collaborative missions are becoming an important future mission mode to further improve mission efficiency. If the communication network topology of a multi-aircraft system has no key points (i.e., it possesses biconnectivity), then even if any one aircraft node is interfered with or destroyed, the communication topology between the remaining aircraft nodes can still maintain connectivity. This biconnectivity communication network is highly resilient and better adapted to the increasingly complex aircraft mission environment. Therefore, quickly locating key points in the dynamic communication topology of aircraft to determine whether the communication topology possesses biconnectivity has significant application value. Summary of the Invention
[0004] Currently, key point finding methods in communication topology networks are mostly based on traversal algorithms and fast probable key point finding methods based on Fiedler vectors. Traversal algorithm-based key point finding methods are computationally intensive and cannot meet the requirements of speed and real-time key point finding in dynamic communication network environments; fast probable key point finding methods based on Fiedler vectors are insufficient in terms of completeness because they can only provide a partial list of probable key points.
[0005] In view of this, embodiments of the present invention provide a method, computer system, and medium for determining the biconnectivity of a communication network. This method can construct a transformation matrix based on the spanning tree of the undirected connected graph of the communication network topology, perform a series of elementary transformations on the adjacency matrix of the undirected communication network topology connected graph, and, for cases where there are branch links in the spanning tree, provide a method for finding all key points in a dynamic undirected communication network topology and for quickly determining biconnectivity.
[0006] A first aspect of this invention provides a method for determining the biconnectivity of a communication network. The method includes: obtaining an undirected communication network topology graph G0, wherein the communication network has N0 nodes, where N0 is an integer greater than 2; obtaining the original adjacency matrix A0 of the undirected communication network topology graph G0; processing the original adjacency matrix A0 using Prim's algorithm to obtain a minimum spanning tree T of the undirected communication network topology graph G0; wherein the minimum spanning tree T is a path that starts from one end of the minimum spanning tree T, passes through at least one node in the minimum spanning tree T multiple times, and reaches the other end of the minimum spanning tree T. Wherein, the minimum spanning tree T contains branch links; when the number of nodes N on the minimum spanning tree T is less than N0, an undirected communication network topology connected graph G composed of N nodes on the minimum spanning tree T is extracted from the undirected communication network topology graph G0; and when the number of nodes N on the minimum spanning tree T is equal to N0, the undirected communication network topology graph G0 is determined to be the undirected communication network topology connected graph G; wherein, the undirected communication network topology connected graph G is a connected graph; the biconnectivity of the undirected communication network topology connected graph G is then determined through the following steps S1 to S4. Specifically, S1, obtain the equivalent matrix A′ of the adjacency matrix A of the undirected communication network topology graph G, wherein the adjacency matrix A is the matrix in the original adjacency matrix A0 corresponding to the N nodes on the minimum spanning tree T, and the N nodes in the adjacency matrix A are arranged in a first node sequence; the equivalent matrix A′ is another adjacency matrix of the undirected communication network topology graph G, wherein the N nodes in the equivalent matrix A′ are arranged in a second node sequence; S2, search for the tree edge set B and the loop edge set C in the equivalent matrix A′, wherein the tree edge set B includes N-1 tree edges, and the loop edge set C... C includes m loop edges, where m is an integer greater than or equal to 1; the N-1 tree edges connect each of the N nodes at least once; the m loop edges are combined with at least one tree edge from the N-1 tree edges to form m loops without inclusion relationships in the undirected communication network topology graph G; the tree edge set B records the information of each tree edge using the element coordinates of each tree edge in the equivalence matrix A′; the loop edge set C records the information of each loop edge using the element coordinates of each loop edge in the equivalence matrix A′; S3, based on the tree edge set B, find the N-1 tree edge node number set. And based on the loop edge set C, find the set of m loop edge node numbers. Wherein, the elements in each tree edge node number set are the node numbers of the two endpoints of each tree edge; the elements in each loop edge node number set include the node numbers of the two endpoints of each loop edge and the node numbers of the endpoints of the tree edge that forms a loop with that loop edge; S4, in the undirected communication network topology connectivity graph G, find joints and bridges, and determine biconnectivity, including: from N-1 tree edge node number sets In the middle, remove the set of node numbers belonging to the m loop edges. The set of tree edge node numbers of a subset is used to obtain the remaining set of tree edge node numbers; the remaining set of tree edge node numbers is then compared with the set of m cycle edge node numbers. Find the intersection of each pair of elements, ignoring the empty set, and you will get q intersections D1…D2. q Where q is an integer greater than or equal to 1; and when the number of nodes in each of the q intersections is greater than 1, the undirected communication network topology graph G is determined to be a biconnected graph, that is, the undirected communication network topology graph G has biconnectivity.
[0007] Optionally, in step S2, searching for the tree edge set B in the equivalence matrix A′ includes: among the second diagonal elements of the lower triangular part of the equivalence matrix A′, if the value of the second diagonal element is 1, then the element coordinates of the second diagonal element are recorded to the tree edge set B; if the value of the second diagonal element is 0, then the element with a value of 1 that is closest to the second diagonal in the same row of the lower triangular part of the equivalence matrix A′ is searched, and the coordinates of the found element are recorded to the tree edge set B, finally obtaining N-1 element coordinates.
[0008] Optionally, in step S3, the set of N-1 tree edge node numbers is searched based on the tree edge set B. This includes: obtaining the numbers of the two endpoints of each tree edge in the tree edge set B, and obtaining the set of tree edge node numbers corresponding to each tree edge; wherein, the set of tree edge node numbers corresponding to the N-1 tree edges is as follows:
[0009] Optionally, in step S2, searching for the loop edge set C in the equivalence matrix A′ includes: in the lower triangular part of the equivalence matrix A′, starting from the first column, sequentially searching down each column row by row for the element coordinates that are farthest from the second diagonal of each column and have an element value of 1, discarding the element coordinates already recorded in the tree edge set B, and recording the remaining element coordinates in the loop edge set C; starting from the second column of the equivalence matrix A′, sequentially comparing the size of the row coordinate values corresponding to the element coordinates recorded in the loop edge set C in the current column with the previous column, wherein if the row coordinate value of the element recorded in the j-th column is less than or equal to the row coordinate value recorded in the (j-1)-th column, then deleting the element coordinates recorded in the loop edge set C in the j-th column, and retaining the remaining element coordinates in the loop edge set C, ultimately retaining m element coordinates.
[0010] Optionally, in step S3, based on the set of loop edges, a set of m loop edge node numbers is found. This includes: in the equivalence matrix A′, obtaining m sets of elements by taking the row and column coordinates of each element in the loop edge set C as the main diagonal elements; and using the elements in the i-th set of elements in the m sets of elements as the connected submatrix block C. i The elements at both ends of the main diagonal define m connected submatrix blocks C1, ..., C2 in the equivalent matrix A′. i C m Connect the m loop edge sets to a submatrix block C1, ..., C m The node numbers corresponding to the two endpoints of the main diagonal are recorded in the connected submatrix block C1, ..., Cn with the m loop edge sets. m A set of m first-loop edge node numbers that correspond one-to-one In the middle; the submatrix blocks C1, ..., C are connected sequentially by m loop edge sets. i C m In the diagram, the two endpoints {(i1, i1), (i2, i2)} of the main diagonal of each loop edge set connected sub-matrix block correspond to the row coordinates (i1, i2) on the main diagonal of the equivalent matrix A′. Within the lower triangular portion of the equivalent matrix A′, the element with the largest row coordinate value in the tree edge set B is searched column-wise. The nodes are located in the second node sequence according to the position determined by the column coordinates of the found elements. The node numbers are then recorded in the corresponding first loop edge node number set. In the end, we obtain a set of m loop edge node numbers.
[0011] Optionally, S4 further includes: when there is an intersection with a node count of 1 in the q intersections, determining that the undirected communication network topology graph G is not a biconnected graph; and determining that the nodes in the intersections with a node count of 1 are key points in the undirected communication network topology graph G.
[0012] Optionally, S4 further includes: when the set of the N-1 tree edge node numbers When there is a set of nodes with a total of 2 nodes, determine whether two nodes in the set of tree edge node numbers with a total of 2 nodes are both the key nodes; if two nodes in the set of tree edge node numbers with a total of 2 nodes are both the key nodes, then determine that the edge between the two key nodes in the set of tree edge node numbers with a total of 2 nodes forms a bridge in the topology connectivity graph G of the undirected communication network.
[0013] Optionally, S1 includes: obtaining the adjustment matrix L corresponding to the adjacency matrix A, and left-multiplying the adjustment matrix L by the adjacency matrix A, and right-multiplying the adjustment matrix L by the transpose of the adjustment matrix. T The equivalent matrix A′ is obtained. The expression for the adjustment matrix L is as follows:
[0014]
[0015] Among them, T k Let T be the number of the k-th node in the second node sequence, where T is the number of the k-th node in the second node sequence. k The value of is the number of the k-th node in the first node sequence.
[0016] A second aspect of the present invention provides a computer system. The computer system includes one or more processors and a memory. The memory is used to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors perform the method described above.
[0017] A third aspect of the present invention provides a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the method described above. Attached Figure Description
[0018] The attached figure illustrates the process of finding key points and determining bi-connectivity in an undirected communication network topology connectivity graph with branch links in the spanning tree, according to an embodiment of the present invention.
[0019] Figure 1 For N0 aircraft p1, p2, ..., p N0Flowchart for determining connectivity and biconnectivity in the undirected communication network topology graph G0 between nodes;
[0020] Figure 2 G is a connected graph of the topology of an undirected communication network with branch links in a given spanning tree;
[0021] Figure 3 yes Figure 2 The adjacency matrix A corresponding to the connected topology graph G of the undirected communication network shown;
[0022] Figure 4 Yes Figure 2 The undirected communication network topology graph G shown is designed with the corresponding node relationship adjustment matrix L based on the minimum spanning tree node order obtained by Prim's algorithm;
[0023] Figure 5 Yes Figure 2 The equivalent matrix A′ is obtained by adjusting the adjacency matrix A corresponding to the undirected communication network topology connected graph G shown;
[0024] Figure 6 Is Figure 5 The equivalent matrix A′ shown is marked with all the subdiagonal elements;
[0025] Figure 7 Is Figure 5 The elements in the tree edge set B obtained by searching in the equivalent matrix A′ shown;
[0026] Figure 8 It is certain Figure 5 The equivalent matrix A′ shown is a connected submatrix of tree edge sets;
[0027] Figure 9 It is certain Figure 5 The equivalent matrix A′ shown contains a connected submatrix block with loop edge sets;
[0028] Figure 10 It is certain Figure 5 The elements in the tree edge set B contained in the connected submatrix block of the loop edge set in the equivalent matrix A′ shown;
[0029] Figure 11 yes Figure 5 The result obtained by taking the intersection of the pairs of aircraft node sets corresponding to the remaining submatrix blocks in the equivalent matrix A′ shown; and
[0030] Figure 12 This is a block diagram of a computer system for determining the dual connectivity of a communication network according to an embodiment of the present invention. Detailed Implementation
[0031] When the minimum spanning tree T in an undirected communication network topology graph is a path that starts from one end of T and requires passing through a certain node in T multiple times to reach the other end of T, it means that the minimum spanning tree T has branch links, that is, the minimum spanning tree T is a non-Hamiltonian chain case. This invention embodiment can construct a transformation matrix based on the minimum spanning tree, perform a series of elementary transformations on the adjacency matrix of the undirected communication network topology connected graph composed of all nodes on the minimum spanning tree, divide the undirected communication network topology connected graph into various sub-blocks in the transformed equivalent matrix, and obtain the node set corresponding to each sub-block. Then, by taking the intersection of each node set pairwise and determining the number of nodes in the intersection, all the key points of the undirected communication network topology connected graph are obtained, and biconnectivity is determined. The method of this invention embodiment can quickly find all key points in the communication topology graph where the minimum spanning tree has branch links and provide a biconnectivity determination in the dynamic communication network environment of an aircraft.
[0032] It should be noted that the communication network described below is an inter-aircraft network and is merely an example; the present invention does not limit the application scope of the communication network.
[0033] Figure 1 For N0 aircraft p1, p2, ..., p N0 Flowchart for determining connectivity and biconnectivity in the undirected communication network topology G0 between nodes.
[0034] Combination Figure 1 The technical solution adopted in one embodiment of the present invention includes the following steps:
[0035] Step 1: Obtain a set of N0 aircraft p1, p2, ..., p N0 The original adjacency matrix A0 of the undirected communication network topology G0 between nodes is explained in detail below:
[0036] N0 aircraft p1, p2, ..., p N0 The original adjacency matrix A0 corresponding to the undirected communication network topology G0 between nodes is an N0×N0 square matrix, where N0 is the number of aircraft nodes in the communication network topology G0, and the aircraft are p1, p2, ..., p... N0 The node numbers corresponding to the nodes are 1, 2, ..., N0:
[0037]
[0038] Step 2: N0 aircraft p1, p2, ..., p N0 The connectivity determination of the undirected communication network topology graph G0 between nodes is explained in detail below:
[0039] 1) For N0 aircraft p1, p2, ..., p N0The original adjacency matrix A0 corresponding to the undirected communication network topology graph G0 between nodes is used to obtain a minimum spanning tree T through Prim's algorithm, and the sequence of spacecraft nodes is constructed according to the search order. Their corresponding node numbers are T1, T2, ..., T k ... T K ;
[0040] 2) If the number of nodes N in the sequence of aircraft nodes on the minimum spanning tree T is equal to N0, then the undirected communication network topology G0 of N aircraft is connected. Therefore, in this paper, the undirected communication network topology G0 can be called the undirected communication network topology connected graph G. Proceed to step three. If the number of nodes N in the sequence of aircraft nodes on the minimum spanning tree T is less than N0, then the undirected communication network topology G0 of N0 aircraft is not connected, i.e., it is not biconnected. In this case, a topology graph consisting of N nodes on the minimum spanning tree T is extracted from the undirected communication network topology G0. This topology graph is a connected graph, called the undirected communication network topology connected graph G. Proceed to step three.
[0041] Step 3: N aircraft p1, p2, ..., p N The determination of biconnectivity in the topology of an undirected communication network G between nodes is explained in detail below:
[0042] 1) Given the adjacency matrix A of the connected graph G of an undirected communication network topology that satisfies connectivity, obtain the sequence of aircraft nodes according to the minimum spanning tree T. The corresponding node numbers are T1, T2, ..., T. k ... T K (Here K = N), perform a series of elementary transformations involving row swaps to construct the corresponding adjustment matrix L. Here, the adjacency matrix A is the matrix corresponding to the N nodes on the minimum spanning tree T from the original adjacency matrix A0. When N = N0, the adjacency matrix A is the original adjacency matrix A0. For ease of explanation, the following description assumes N = N0.
[0043] Adjust matrix L to identity matrix I N×N The node numbers T1, T2, ..., T1 are obtained from the sequence of spacecraft nodes obtained by finding the minimum spanning tree T. k ... T K (K=N) is obtained by performing a series of elementary transformations that interchange the two rows, i.e.:
[0044]
[0045] 2) Obtain the aircraft node sequence by dividing the adjacency matrix A into the minimum spanning tree T. The corresponding node numbers are T1, T2, ..., T. k ... T K (K=N) Perform a series of elementary transformations corresponding to the exchange of two rows and two columns to generate an equivalent matrix A′ of the adjacency matrix A, as explained below:
[0046] The equivalent matrix A′ of the adjacency matrix A is obtained by left-multiplying the adjacency matrix A by the adjustment matrix L and right-multiplying it by the transpose of the adjustment matrix L. T To obtain, that is:
[0047] A′=L×A×L T
[0048] The equivalent matrix A′ of the adjacency matrix A is an N×N square matrix, where N is the number of aircraft nodes in the connected graph G of the undirected communication network topology. The resulting equivalent matrix A′ of adjacency matrix A is the sequence of aircraft nodes obtained according to the given minimum spanning tree T. The corresponding node numbers are T1, T2, ..., T. k ... T K The adjacency matrix of (K=N) arrangements, i.e.:
[0049]
[0050] 3) Find the spanning tree edges and cycle edges in the equivalent matrix A′ of the obtained adjacency matrix A. The specific explanation is as follows:
[0051] i) In the lower triangular part of the equivalent matrix A′, if the value of the second diagonal element is 1, record the coordinates of that element in the tree edge set B; if the value of the second diagonal element is 0, find the coordinates of the element with a value of 1 closest to the second diagonal in the lower triangular part of the equivalent matrix A′ and record them in the tree edge set B, ultimately obtaining N-1 element coordinates. Here, the search logic for edges in the tree edge set B is to find the nearest neighbor to each node in the node sequence corresponding to the minimum spanning tree T, and then record the edge between each node and that neighbor in the tree edge set B.
[0052] ii) In the lower triangular part of the equivalent matrix A′, starting from the first column, search downwards in each column for the coordinates of the element with the value 1 that is farthest from the second diagonal of the column (where the element with the value 1 that is farthest from the second diagonal of the column is the neighboring point that is farthest from the current node after the current node), and discard the coordinates of the elements already recorded in the tree edge set B, and record the coordinates of the remaining elements in the loop edge set C;
[0053] iii) Starting from the second column of the equivalence matrix A′, compare the row coordinates of the elements recorded in the loop edge set C of the current column with the row coordinates of the elements recorded in the previous column. If the row coordinate of an element recorded in the j-th column is less than or equal to the row coordinate of an element recorded in the (j-1)-th column, delete the element coordinate recorded in the loop edge set C of the j-th column. The remaining element coordinates are retained in the loop edge set C, resulting in m element coordinates. These m loop edges, combined with the tree edge set, can form m mutually exclusive loops in G.
[0054] 4) Delineate each connected submatrix block from the equivalent matrix A′, as detailed below:
[0055] i) In the equivalence matrix A′, mark the main diagonal elements corresponding to the row and column coordinates of each element in the tree edge set B, and obtain N-1 sets of elements;
[0056] ii) Using the elements in the i-th set of elements in the tree edge set B as the connected submatrix block B i The elements at both ends of the main diagonal define the connected submatrix blocks B1, ..., B1 of each tree edge set in the equivalent matrix A′. i B N-1 ;
[0057] iii) In the equivalent matrix A′, take the row and column coordinates of each element in the loop edge set C as the main diagonal elements to obtain m sets of elements;
[0058] iv) Using the elements in the i-th set of elements in the loop edge set C as the connected submatrix block C i The elements at both ends of the main diagonal define the connected submatrix blocks C1, ..., C2 in the equivalent matrix A′ for each loop edge set. i C m ;
[0059] 5) Based on the correspondence between the coordinates contained in each sub-matrix block and the node numbers corresponding to the aircraft node sequence on the minimum spanning tree T, obtain the nodes contained in each sub-matrix block, and obtain the node set corresponding to each sub-matrix block. The specific explanation is as follows:
[0060] i) Record the connected submatrix blocks B1, ..., B of each tree edge set. N-1 The two endpoints of the main diagonal correspond to the coordinates of the main diagonal in the equivalent matrix A′. These coordinates are then compared with the node numbers T1, T2, ..., T4 corresponding to the node sequence in the minimum spanning tree T obtained from the topologically connected graph G of the undirected communication network. k ... T K Correspondingly, we obtain the connected submatrix blocks B1, ..., B of the tree edge set. K-1 The corresponding set of tree edge node numbers
[0061] ii) Record the connected submatrix blocks C1, ..., C of each loop edge set. m The two endpoints of the main diagonal correspond to the coordinates of the main diagonal on the equivalent matrix A′ of the adjacency matrix A in the connected graph G of the undirected communication network topology. These coordinates are then compared with the node numbers T1, T2, ..., T' corresponding to the node sequence T on the minimum spanning tree T obtained in the connected graph G of the undirected communication network topology. k ... T K Correspondingly, these are recorded in the connected submatrix blocks C1, ..., C of the loop edge set. m The corresponding set of first-loop edge node numbers middle;
[0062] iii) Connect the submatrix blocks C1, ..., C1 sequentially using each loop edge set. i C m The two endpoints {(i1, i1), (i2, i2)} on the main diagonal of the undirected communication network topology graph G correspond to the row coordinates (i1, i2) on the equivalent matrix A′ of the adjacency matrix A. Taking the range of these row coordinates as the boundary, we search for the element in the tree edge set B with the largest row coordinate value in the lower triangular part of the equivalent matrix A′ of the adjacency matrix A of the undirected communication network topology graph G. We then compare the column coordinates of the found element with the node numbers T1, T2, ..., T3 corresponding to the node sequence on the minimum spanning tree T obtained in the undirected communication network topology graph G. k ... T K Correspondingly, these are recorded in the loop edge set submatrix blocks C1, ..., C m The corresponding set of first-loop edge node numbers In the process, we obtain the connected submatrix blocks C1, ..., C of the loop edge sets. m The corresponding set of loop edge node numbers
[0063] 6) Locate the joints and bridges in the topology graph G of the undirected communication network, and determine biconnectivity. Specific details are as follows:
[0064] i) Ignore connected submatrices C1, ..., C1 contained in the loop edge set. m Given the tree edge set connected submatrix blocks and their corresponding tree edge set node number sets, and the tree edge set node number sets corresponding to each of the remaining submatrix blocks. C1, ..., C m Taking the intersection of each pair of sets, ignoring the empty set, we get q intersections D1…D2. q ;
[0065] ii) Determine whether the undirected communication network topology graph G has biconnectivity based on the number of nodes in each of the q intersections and the number of nodes in the node set corresponding to each submatrix block; wherein, when the number of nodes in each of the q intersections is greater than 1, it is determined that the undirected communication network topology graph G is a biconnectivity graph and has biconnectivity.
[0066] iii) When there is an intersection with 1 node in the q intersections, it is determined that the undirected communication network topology graph G is not a biconnected graph and that the communication network does not have biconnectivity. Furthermore, the nodes in the intersections with 1 node are determined to be key nodes in the undirected communication network topology graph G.
[0067] iv) When there is a set of nodes with 2 nodes in the tree edge set node number set corresponding to each sub-matrix block, and when two nodes in the tree edge set node number set with 2 nodes are two joints in the undirected communication network topology connected graph G, the two joints and the edge connecting the two joints together form a bridge in the undirected communication network topology connected graph G; at the same time, it is determined that the undirected communication network topology connected graph G is not a biconnected graph and the communication network does not have biconnectivity.
[0068] The embodiments of this invention achieve the following beneficial effects: Starting from the original adjacency matrix of the undirected communication network topology graph, and considering the case where there are branch links in the minimum spanning tree, an undirected communication network topology connectivity graph is constructed based on the nodes on the minimum spanning tree. A method for finding all key points and quickly determining bi-connectivity in this undirected communication network topology connectivity graph is designed. The algorithm is concise, and the criteria for key point judgment are intuitive and clear. The adjacency matrix clearly and intuitively represents the positional relationship of key points in the undirected communication network topology connectivity graph. It can find all key points in the undirected communication network topology connectivity graph at once, without needing to analyze each node individually, and can quickly provide the connection relationships between various aircraft nodes in the undirected communication network topology connectivity graph. This technology can be applied not only to networks composed of multiple UAVs, but also to communication networks of multiple missiles, multiple satellites, and communication networks of ground mobile vehicles for key point finding and bi-connectivity determination.
[0069] Figures 2 to 11 An example of key point finding and biconnectivity determination in a communication network is provided. For ease of explanation, the example is illustrated by having the same number of nodes in the minimum spanning tree T as the number of nodes in the communication network. Figure 2 The undirected communication topology graph of this communication network is the undirected communication topology network connected graph G.
[0070] The following is passed Figures 3 to 11 ,right Figure 2The specific steps of the method for finding key points and determining bi-connectivity in the spanning tree of the undirected communication topology network connected graph G (where the number of nodes N=10) are described below to help those skilled in the art understand the specific implementation of the present invention.
[0071] Step 1: Based on the 10 aircraft p1, p2, ..., p 10 Given an undirected communication network topology graph G between nodes, obtain the corresponding adjacency matrix A, where the 10 spacecraft nodes are numbered 1, ..., 10, as shown below. Figure 3 As shown.
[0072] Step two, for the 10 aircraft p1, p2, ..., p 10 The connectivity determination of the undirected communication network topology graph G between nodes is implemented as follows:
[0073] 1) Given the adjacency matrix A of the topological connected graph G of the undirected communication network consisting of 10 aircraft, use Prim's algorithm to obtain the node sequence on a minimum spanning tree T. The corresponding spacecraft node number is:
[0074] 1-2-5-3-4-6-8-7-9-10
[0075] 2) The resulting minimum spanning tree node sequence contains 10 aircraft p1, p2, ..., p 10 A node is a connected network of all aircraft nodes in the topology graph G of the undirected communication network.
[0076] Step 3, for the 10 aircraft p1, p2, ..., p 10 The biconnectivity of the undirected communication network topology graph G between nodes is determined, and the specific implementation method is as follows:
[0077] 1) Based on the node sequence of the obtained minimum spanning tree T Obtain the corresponding adjustment matrix L of the adjacency matrix A corresponding to the topology connectivity graph G of the undirected communication network, such as... Figure 4 As shown;
[0078] 2) Based on the obtained adjustment matrix L, multiply the adjacency matrix A corresponding to the undirected communication network topology graph G by the adjustment matrix L on the left and by the transpose of the adjustment matrix L on the right. T This yields the equivalent matrix A′ of the transformed adjacency matrix A, where the equivalent matrix A′ is as follows: Figure 5 As shown;
[0079] 3) Find the spanning tree edges and cycle edges from the equivalence matrix A′, referring to... Figures 6-10 The specific explanation is as follows:
[0080] i) Such as Figure 6 As shown, in the lower triangular part of the equivalent matrix A′ of the transformed adjacency matrix A, all the elements on the second diagonal are marked. The element values of each marked element on the second diagonal in the equivalent matrix A′ of adjacency matrix A are determined. If the element value is 1, the corresponding row and column coordinates (i, j) are recorded to the tree edge set B; if the element value is 0, the nearest element with a value of 1 is searched to the left along that row, and the corresponding row and column coordinates (i, j) are recorded to the tree edge set B. Figure 7 The following 9 element coordinates were obtained:
[0081] (2,1), (3,2), (4,2), (5,2), (6,5), (7,6), (8,5), (9,8), (10,8)
[0082] ii) In the lower triangular part of the equivalent matrix A′ of the adjacency matrix A, starting from the first column, sequentially search down the rows of each column for the element with a value of 1 that is farthest from the second diagonal (excluding elements in the tree edge set B), and record the coordinates in the loop edge set C, thus obtaining one coordinate:
[0083] (6, 4)
[0084] iii) The obtained coordinates are discarded and recorded in the loop edge set C, resulting in a total of 1 element coordinate:
[0085] (6, 4)
[0086] 4) Delineate each connected submatrix block from the equivalent matrix A′, as detailed below:
[0087] i) In the tree edge set B, search for the main diagonal elements in the equivalent matrix A′ of the adjacency matrix A according to the obtained row and column coordinates of the elements. Each coordinate corresponds to two main diagonal elements, resulting in 9 sets of elements:
[0088] {(2,2),(1,1)},{(3,3),(2,2)},{(4,4),(2,2)},{(5,5),(2,2)},{(6,6),(5,5)},{(7,7),(6,6)},{(8,8),(5,5)},{(9,9),(8,8)},{(10,10),(8,8)}
[0089] ii) Using elements (1,1) to (2,2) in the first element set {(2,2), (1,1)} as the two ends of the main diagonal of submatrix block B1, delineate a square matrix in the equivalent matrix A′ of adjacency matrix A. Continue in this manner to obtain tree-edge-set connected submatrix blocks B1, ..., B9, as follows. Figure 8 As shown;
[0090] iii) In the loop edge set C, find the main diagonal elements of the equivalent matrix A′ of the adjacency matrix A according to the obtained coordinates, and obtain a set of elements:
[0091] {(6, 6), (4, 4)}
[0092] iv) Using elements (4,4) to (6,6) in the set {(6,6), (4,4)} as the two ends of the main diagonal of submatrix block C1, delineate a square matrix in the equivalent matrix A′ of adjacency matrix A. This yields the connected submatrix block C1 with loop edge sets, as follows: Figure 9 As shown.
[0093] 5) Based on the correspondence between the coordinates contained in each sub-matrix block and the node numbers corresponding to the aircraft node sequence on the minimum spanning tree T, obtain the nodes contained in each sub-matrix block, and obtain the node set corresponding to each sub-matrix block. The specific explanation is as follows:
[0094] i) Reference Figure 8 Record the coordinates of the two endpoints of the main diagonal in each connected sub-matrix block on the main diagonal of the equivalent matrix A′ of the adjacency matrix A. Then, correlate these coordinates with the node numbers T1, T2, ..., Tn corresponding to the node sequence on the obtained minimum spanning tree T. k ... T K Correspondingly, we obtain the set of tree edge set node numbers corresponding to the tree edge set connected submatrix blocks B1, ..., B9.
[0095]
[0096]
[0097] ii) Reference Figure 9 Record the coordinates of the two endpoints of the main diagonal in the connected submatrix block C1 of the loop edge set, corresponding to the coordinates of the equivalent matrix A′ of the adjacency matrix A of the undirected graph G of the communication network topology. Map these coordinates to the node numbers corresponding to the node sequences on the minimum spanning tree T obtained in the connected submatrix block G of the undirected communication network topology, and record them in the first loop edge node number set corresponding to the connected submatrix block C1 of the loop edge set. middle;
[0098]
[0099] iii) Reference Figure 10Using the row coordinates (4, 6] of the main diagonal of the equivalent matrix A′ of adjacency matrix A as the boundary, search for the element with the largest row coordinate value in the tree edge set B in the lower triangular part of the equivalent matrix A′ of adjacency matrix A. Then, match the column coordinates of the found element with the node numbers T1, T2, ..., T6 corresponding to the node sequence on the obtained minimum spanning tree T. k ... T K Correspondingly, the set of first loop edge node numbers is recorded in the connected submatrix block C1 of the loop edge set. In the process, we obtain the set of loop edge node numbers corresponding to the connected submatrix block C1 of the loop edge set.
[0100]
[0101] 6) Find the nodes p1, p2, ..., p that contain 10 aircraft. 10 Identify the key nodes in the connectivity graph of an undirected communication topology network and determine their biconnectivity. Combined with... Figure 11 The specific explanation is as follows:
[0102] i) Determine the set of tree edge set node numbers corresponding to the connected submatrix blocks B1, ..., B9 of the tree edge set. Does it contain the set of loop edge node numbers corresponding to the connected submatrix block C1 of the loop edge set? In the middle, ignore the set of loop edge node numbers contained in the connected submatrix block C1 of the loop edge set. After obtaining the tree edge set connected submatrix block, the set of tree edge set node numbers corresponding to the remaining tree edge set connected submatrix blocks is as follows:
[0103]
[0104]
[0105] By taking the intersection of each pair of elements in turn, and ignoring the empty set, we obtain the intersections D1, ..., D8;
[0106] D1={2}, D2={2}, D3={2}, D4={6}, D5={7}, D6={7}, D7={4}, D8={7}
[0107] ii) The number of aircraft nodes in the intersection D1, ..., D8 is equal to 1. Therefore, aircraft node 2, aircraft node 6, aircraft node 4, and aircraft node 7 are key points in the connected graph G of the undirected communication topology network.
[0108] iii) The set of tree edge set node numbers corresponding to the tree edge set connected submatrix block The number of aircraft nodes in each set is equal to 2, and all aircraft nodes in these sets are key nodes in the topological connected graph G of the undirected communication network. Therefore, the set... The edges of the two nodes in the graph correspond to a bridge in the connected graph G of the undirected communication topology network.
[0109] iv) Since there are key points in the intersections D1, ..., D8, the undirected communication topology network graph G is not a biconnected graph, i.e. Figure 2 The communication network shown does not satisfy biconnectivity.
[0110] Figure 12 This is a block diagram of a computer system for determining the dual connectivity of a communication network according to an embodiment of the present invention.
[0111] like Figure 12 As shown, a computer system 1200 according to an embodiment of the present invention includes a processor 1201, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1202 or a program loaded from a storage portion 1208 into a random access memory (RAM) 1203. The processor 1201 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1201 may also include onboard memory for caching purposes. The processor 1201 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present invention.
[0112] RAM 1203 stores various programs and data required for the operation of computer system 1200. Processor 1201, ROM 1202, and RAM 1203 are interconnected via bus 1204. Processor 1201 executes various operations of the method flow according to embodiments of the present invention by executing programs in ROM 1202 and / or RAM 1203. It should be noted that the programs may also be stored in one or more memories other than ROM 1202 and RAM 1203. Processor 1201 may also execute various operations of the method flow according to embodiments of the present invention by executing programs stored in said one or more memories.
[0113] According to an embodiment of the present invention, the computer system 1200 may further include an input / output (I / O) interface 1205, which is also connected to the bus 1204. The computer system 1200 may also include one or more of the following components connected to the I / O interface 1205: an input section 1206 including a keyboard, mouse, etc.; an output section 1207 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1208 including a hard disk, etc.; and a communication section 1209 including a network interface card such as a LAN card, modem, etc. The communication section 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the I / O interface 1205 as needed. A removable medium 1211, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 1210 as needed so that computer programs read from it can be installed into the storage section 1208 as needed.
[0114] The present invention also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of the present invention.
[0115] According to embodiments of the present invention, a computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of the present invention, a computer-readable storage medium may include ROM 1202 and / or RAM 1203 and / or one or more memories other than ROM 1202 and RAM 1203 described above.
[0116] Embodiments of the present invention also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to cause the computer system to implement the methods provided in the embodiments of the present invention.
[0117] When the computer program is executed by the processor 1201, it performs the functions defined in the system / apparatus of this invention. According to embodiments of the invention, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0118] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and may be downloaded and installed via the communication section 1209, and / or installed from the removable medium 1211. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0119] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1209, and / or installed from the removable medium 1211. When the computer program is executed by the processor 1201, it performs the functions defined in the system of this embodiment of the invention. According to embodiments of the invention, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0120] According to embodiments of the present invention, program code for executing the computer programs provided in the embodiments of the present invention can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0121] The above embodiments are merely illustrative of the technical concept of the present invention and should not be construed as limiting the scope of protection of the present invention. Any modifications made to the technical solutions based on the technical concept proposed in this invention shall fall within the scope of protection of this invention.
Claims
1. A method for determining bi-connectivity in a communication network, wherein, The method includes: Obtain the undirected communication network topology graph G0 of the communication network, wherein the communication network has N0 nodes, and N0 is an integer greater than 2; Obtain the original adjacency matrix A0 of the undirected communication network topology graph G0; The original adjacency matrix A0 is processed by Prim's algorithm to obtain a minimum spanning tree T of the undirected communication network topology graph G0; wherein, the minimum spanning tree T is a path that starts from one end of the minimum spanning tree T, passes through at least one node of the minimum spanning tree T multiple times, and reaches the other end of the minimum spanning tree T, wherein, the minimum spanning tree T contains branch links; the nodes on the minimum spanning tree T are arranged according to the second node sequence; When the number of nodes N < N0 on the minimum spanning tree T, an undirected communication network topology connected graph G composed of N nodes on the minimum spanning tree T is extracted from the undirected communication network topology graph G0; and when the number of nodes N = N0 on the minimum spanning tree T, the undirected communication network topology graph G0 is determined to be the undirected communication network topology connected graph G; wherein, the undirected communication network topology connected graph G is a connected graph; and The biconnectivity of the undirected communication network topology graph G is determined through the following steps S1~S4, including: S1, Obtain the equivalent matrix of the adjacency matrix A of the topological connectivity graph G of the undirected communication network. Wherein, the adjacency matrix A is the matrix in the original adjacency matrix A0 corresponding to the N nodes on the minimum spanning tree T, and the N nodes in the adjacency matrix A are arranged in the first node sequence; the equivalence matrix Let G be another adjacency matrix of the topological connectivity graph G of the undirected communication network, wherein the equivalent matrix The N nodes mentioned above are arranged in the second node sequence; S2, in the equivalent matrix The algorithm searches for tree edge set B and cycle edge set C in the network topology graph G. Tree edge set B includes N-1 tree edges, and cycle edge set C includes m cycle edges, where m is an integer greater than or equal to 1. The N-1 tree edges connect each of the N nodes at least once. The m cycle edges are combined with at least one tree edge from the N-1 tree edges to form m cycles without inclusion relationships in the undirected communication network topology graph G. Each tree edge in tree edge set B is used in the equivalence matrix... The element coordinates in the matrix record the information of each tree edge; in the set of loop edges C, each loop edge is represented in the equivalent matrix. The coordinates of the elements in the record are used to record information about each loop edge; S3, based on the tree edge set B, find N-1 sets of tree edge node numbers. And based on the loop edge set C, find the set of m loop edge node numbers. The elements in each tree edge node number set are the node numbers of the two endpoints of each tree edge; the elements in each loop edge node number set include the node numbers of the two endpoints of each loop edge and the node numbers of the endpoints of the tree edge that forms a loop with the loop edge. S4, Locate joints and bridges in the undirected communication network topology connectivity graph G, and determine biconnectivity, including: Numbering set of N-1 tree edge nodes In the middle, remove the set of node numbers belonging to the m loop edges. The set of tree edge node numbers of a subset of the subset is used to obtain the set of remaining tree edge node numbers; The remaining set of tree edge node numbers and the set of m cycle edge node numbers. Find the intersection of each pair of elements, ignoring the empty set, and you will get q intersections. Where q is an integer greater than or equal to 1; and When the number of nodes in each of the q intersections is greater than 1, the undirected communication network topology graph G is determined to be a biconnected graph; Wherein, in S2, the equivalent matrix Searching for the tree edge set B includes: In the equivalent matrix In the lower triangular part of the second diagonal elements, if the value of the second diagonal element is 1, then the element coordinates of the second diagonal element are recorded in the tree edge set B; if the value of the second diagonal element is 0, then in the equivalent matrix In the lower triangular part, find the element with a value of 1 that is closest to the second diagonal in the same row, and record the coordinates of the found element in the tree edge set B, finally obtaining N-1 element coordinates; In step S3, the set of N-1 tree edge node numbers is searched based on the tree edge set B. include: Obtain the indices of the two endpoints of each tree edge in the tree edge set B, thus obtaining the set of tree edge node indices corresponding to each tree edge; wherein, the set of tree edge node indices corresponding to the N-1 tree edges is as follows. ; Wherein, in S2, the equivalent matrix The search for the loop edge set C includes: The equivalent matrix In the lower triangular part, starting from the first column, search down the rows in each column for the element coordinates that are farthest from the second diagonal of each column and have an element value of 1, discard the element coordinates that have already been recorded in the tree edge set B, and record the remaining element coordinates in the loop edge set C. From the equivalent matrix Starting from the second column, the coordinates of the corresponding rows of elements recorded in the loop edge set C in the current column are compared sequentially with those in the previous column. If the first column... The row coordinates of the elements recorded in the column are less than or equal to the first row. If the row coordinate value of a record in a column is not specified, then delete the row coordinate value. The coordinates of the elements recorded in the loop edge set C are retained in the loop edge set C, and the coordinates of the remaining elements are retained in the loop edge set C. Finally, m element coordinates are retained. In step S3, based on the loop edge set C, a set of m loop edge node numbers is found. include: In the equivalent matrix In the process, the main diagonal elements corresponding to the row and column coordinates of each element in the loop edge set C are used to obtain m sets of elements; The m-th element in the set of elements The elements in the set of group elements are connected submatrix blocks. The elements at both ends of the main diagonal in the equivalent matrix Define m loop edge sets connected submatrix blocks ; Connect the m loop edge sets to a submatrix block. The node numbers corresponding to the two endpoints of the main diagonal are recorded in a submatrix block connected to the m loop edge sets. A set of m first-loop edge node numbers that correspond one-to-one middle; Connect the submatrix blocks sequentially with m loop edge sets. In the diagram, the two endpoints of the main diagonal of each loop edge set connected to the submatrix block are... Corresponding to the equivalent matrix Row coordinates of the upper main diagonal The range is bounded by the equivalent matrix. In the lower triangular part, the element with the largest row coordinate value in the tree edge set B is searched column by column. The node is located in the second node sequence according to the position determined by the column coordinates of the found element. The number of the located node is then recorded in the corresponding first loop edge node number set. In the end, we obtain a set of m loop edge node numbers. .
2. The method according to claim 1, wherein, S4 further includes: When there is an intersection with 1 node among the q intersections, it is determined that the undirected communication network topology graph G is not a biconnected graph; and The nodes in the intersection of the nodes with a total number of 1 are determined as the joints in the topology connectivity graph G of the undirected communication network.
3. The method according to claim 2, wherein, S4 further includes: When the set of the N-1 tree edge nodes When there exists a set of nodes with a total of 2 nodes, determine whether two nodes in the set of tree edge node numbers with a total of 2 nodes are both the key points; If two nodes in the set of tree edge node numbers with a node count of 2 are both key nodes, then the edge between the two key nodes in the set of tree edge node numbers with a node count of 2 forms a bridge in the undirected communication network topology graph G.
4. The method according to claim 1, wherein, S1 includes: Obtain the adjustment matrix L corresponding to the adjacency matrix A. The expression of the adjustment matrix L is as follows: in, Let be the number of the k-th node in the second node sequence, where is the number of the k-th node in the second node sequence. The value of is the number of the k-th node in the first node sequence; The adjustment matrix L is left-multiplied by the adjacency matrix A, and then right-multiplied by the transpose of the adjustment matrix. The equivalent matrix is obtained. .
5. A computer system, comprising: One or more processors; Memory, used to store one or more programs. Wherein, when the one or more programs are executed by the one or more processors, the one or more processors perform the method of any one of claims 1 to 4.
6. A computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the method of any one of claims 1 to 4.
Citation Information
Patent Citations
Method for optimizing full-node traversal path
CN102004839A
Simple electric power topology identification method based on electric power carrier waves
CN111555453A