Multi-agent system dfs pseudo-tree communication method, structure and application thereof

By constructing a DFS pseudo-tree communication method for multi-agent systems, determining the optimal cut points and neighbor nodes, optimizing the communication structure and memory usage, the problems of high memory usage and repeated calculations in existing technologies are solved, and efficient reasoning and decision-making are achieved.

CN119520191BActive Publication Date: 2025-10-14CHONGQING UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411624247.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-14
Publication Date
2025-10-14
Estimated Expiration
2044-11-14

AI Technical Summary

Technical Problem

Existing DFS pseudo-tree communication methods for multi-agent systems suffer from high memory usage and repeated calculations and invalid reasoning when dealing with complex problems and large-scale agent systems, resulting in low efficiency.

Method used

The DFS pseudo-tree communication method of multi-agent system is adopted. By constructing the DFS pseudo-tree, the optimal cut point and neighbor nodes are determined. The distributed optimal cut point search algorithm and heuristic function are used to select the cut point and neighbor nodes. Combined with the complete iterative reasoning algorithm, the communication structure and memory usage are optimized.

Benefits of technology

It improves reasoning efficiency, reduces memory usage, reduces repeated calculations, and enhances the scalability and parallelism of the algorithm, showing significant advantages in collaborative route planning of large-scale missile systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520191B_ABST
    Figure CN119520191B_ABST
Patent Text Reader

Abstract

The application provides a multi-agent system DFS pseudo-tree communication method, structure and application thereof. The multi-agent system DFS pseudo-tree communication method is as follows: constructing a multi-agent system DFS pseudo-tree; determining the best cut point and root node of the DFS pseudo-tree, and determining the best neighbor node; initializing local data of the multi-agent, triggering a message-driven search process by the root node, selecting a node when the number of nodes to be searched is less than 2, and selecting the best cut point as the next search node when the number of nodes to be searched is greater than or equal to 2, and if there is no cut point, selecting the best neighbor node as the next search node, until the search is completed, and terminating the operation of the root node. The application can effectively solve the multi-agent cooperation problem in a complex environment, has high efficiency and good expansibility, and has a significant advantage in the application of large-scale missile system cooperative path planning.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of computer, in particular to a multi-agent system DFS pseudo-tree communication method, structure and application thereof. BACKGROUND

[0002] Multi-Agent Systems (MAS) is composed of multiple independent agents, which can make autonomous decisions, perform actions, and interact with the environment and other agents. Each agent has its own goals, knowledge and capabilities, and achieves individual or common goals through communication, cooperation or competition. Multi-Agent Systems are widely used in many fields, including autonomous driving, intelligent transportation, logistics management, game theory and group behavior research.

[0003] Distributed Constraint Optimization Problems (DCOP) is an important abstraction of multi-agent system collaboration problems. In DCOP, each agent holds a number of variables, each variable has a specific value range, and is subject to a set of constraints, which are represented as constraint cost functions. The goal of each agent is to assign appropriate values to all variables in order to maximize or minimize the global cost function. For ease of understanding and discussion, we assume that an agent only controls one variable and all constraint functions are binary functions. DCOP can be intuitively represented by a constraint graph, where a node represents an agent and an edge represents a constraint relationship. DCOP has been widely applied in real world, such as disaster management, sensor networks and recommendation systems, etc.

[0004] Tree structure is one of the main communication structures for solving DCOP, and the complete algorithm using this structure can be divided into two categories based on search and reasoning. The typical reasoning algorithm based on tree structure is Distributed Pseudo-tree Optimization Procedure (DPOP), which solves the problem through Depth First Search (DFS) pseudo-tree and dynamic programming strategy. Depth First Search Pseudo-tree (DFS Pseudo-tree) is a spanning tree, which can divide all constraint edges in the graph into tree edges and pseudo edges (i.e. non-tree edges) by performing a depth-first traversal of the constraint graph. All neighbors of a node xi can be divided into four categories according to their relative positions in the pseudo-tree, which are parent node P(xi), pseudo-parent node PP(xi), child node C(xi) and pseudo-child node PC(xi). i i i i ​​​) respectively. In addition, the induced width Sep(x i ) of a node xi is defined as the number of its ancestors connected to xi and all its descendants Desc(x i ).

[0005] DPOP algorithm sends the cost of assignment combination from bottom to top, and finally the root node determines the value and sends it to the leaf node. Although the message sending amount of DPOP algorithm increases linearly with the number of agents, each node needs to keep the corresponding optimal value, which leads to exponential growth of message memory space when the number of nodes, constraint relationships and domain value range increase. In order to solve the memory problem, the complete iterative reasoning algorithm memory bounded distributed pseudo-tree optimization procedure (MB-DPOP) proposed by Petcu ensures boundedness and optimizes cache memory by periodic reduction, thereby reducing complexity. However, this algorithm fails to fully utilize the structural characteristics of the problem, resulting in a large number of repeated and invalid reasoning during operation. SUMMARY

[0006] In order to overcome the defects existing in the prior art, the purpose of the present application is to provide a multi-agent system DFS pseudo-tree communication method, structure and application thereof.

[0007] In order to achieve the above purpose of the present application, the present application provides a multi-agent system DFS pseudo-tree communication method, comprising the following steps:

[0008] Constructing a multi-agent system DFS pseudo-tree;

[0009] Determining the best cut point and root node of the DFS pseudo-tree, and determining the best neighbor node;

[0010] Initializing the local data of the multi-agent, triggering the message-driven search process by the root node, when the number of nodes to be searched is less than 2, directly selecting the node; when the number of nodes to be searched is greater than or equal to 2, preferentially selecting the best cut point as the next search node, if there is no cut point, preferentially selecting the best neighbor node as the next search node, until the search is completed, and terminating the operation of the root node.

[0011] The DFS pseudo-tree communication method of the multi-agent system can improve the expansibility of the algorithm, better utilize the structural characteristics of the problem, reduce repeated calculation and invalid reasoning, and improve the reasoning efficiency. The complete iterative reasoning using the DFS pseudo-tree has better expansibility when dealing with complex problems and large-scale multi-agent systems, and can efficiently solve problems in a limited memory environment.

[0012] In an optional solution of the DFS pseudo-tree communication method of the multi-agent system, the step of determining the optimal cut vertex is: sending a STARTCV message from the root node to all child nodes to trigger a top-down cut vertex identification process;

[0013] At the leaf node, the highest ancestor level and the subtree size are calculated and sent back to the parent node through a CUTVERTEX message from bottom to top;

[0014] Each parent node integrates the received information to cooperatively determine the node to be selected as the cut vertex;

[0015] The cut vertex value of each cut vertex is calculated, and the cut vertex with the highest cut vertex value is taken as the optimal cut vertex.

[0016] In an optional solution of the DFS pseudo-tree communication method of the multi-agent system, when node x receives a STARTCV message from node y, the following operations are performed:

[0017] Initialize the context data, including the blocked node set and the cut vertex information;

[0018] Initialize the local data, including the highest ancestor level, the subtree size, the number of subgraphs, and the cut vertex value;

[0019] If node x is not a leaf node, continue to send a STARTCV message to the child nodes;

[0020] If node x is a leaf node, calculate the highest ancestor level excluding the blocked nodes, and send the highest ancestor level, the subtree size, and the cut vertex information to the parent node to trigger a bottom-up cut vertex calculation process;

[0021] When node x receives a CUTVERTEX message from node y, the following operations are performed:

[0022] Mark the message as received;

[0023] Calculate the subtree size of the current node according to the received subtree size of the child nodes;

[0024] Calculate the highest ancestor level of the current node according to the received highest ancestor level of the subtree;

[0025] If the current node has not received CUTVERTEX messages from all child nodes, continue to wait;

[0026] When all the CUTVERTEX messages are received, it is determined whether the current node is a blocking node, if yes, the local data is reset; if no, the cut vertex determination and calculation are performed;

[0027] The cut vertex determination includes calculating the number of subgraphs, and determining whether the current node is a cut vertex according to the number of subgraphs and the node hierarchy; if the current node is a cut vertex, the cut vertex value is calculated, and the cut vertex information is added to the cut vertex information set;

[0028] The highest ancestor hierarchy is calculated, and the cut vertex value of the cut vertex that has not reached the calculation condition before is tried to be calculated;

[0029] If the current node is not the root node, the CUTVERTEX message is continuously sent upwards to calculate the cut vertex information; if the current node is the root node, all the cut vertex information is completed, and the optimal cut vertex is selected.

[0030] The distributed optimal cut vertex searching algorithm proposed by the optional scheme can effectively search all the cut vertices and select the best one in the distributed environment, which provides strong support for the execution of the DFS pseudo tree construction algorithm.

[0031] In an optional scheme of the DFS pseudo tree communication method of the multi-agent system, when the node x is a cut vertex, the calculation formula of the cut vertex value is as follows:

[0032]

[0033] Wherein, CP i represents the size of the subgraph divided by the cut vertex, and ΣCP i is the sum of the sizes of all subgraphs.

[0034] The formula can effectively evaluate the quality of the cut vertex and ensure the communication efficiency of the pseudo tree.

[0035] In an optional scheme of the DFS pseudo tree communication method of the multi-agent system, the best neighbor node determination method is: a heuristic function is constructed to calculate the number of neighbor nodes that have not become part of the pseudo tree, and the neighbor node with the largest influence range is preferentially selected as the best neighbor node.

[0036] In an optional scheme of the DFS pseudo-tree communication method of the multi-agent system, during the search process, when node x receives a LAYER message sent by node y, it first removes node y from the set of nodes to be searched. If the current node x is searched for the first time, it means that node x is a child node of node y; otherwise, node x is a pseudo-parent node of node y; when node x is a child node of node y, the level is increased by 1 and the parent node is set; if the set of nodes to be searched is not empty, the next search node is selected for search; otherwise, a BACK message is sent to backtrack to the parent node to terminate the node operation; if node x is a pseudo-parent node of node y, node y is added to the set of pseudo-child nodes of x, and an ACK message is sent to node y to confirm that the pseudo-child node has received the LAYER message;

[0037] When node x receives an ACK message from node y, it indicates that node x is a pseudo-child node of node y. First, node y is removed from the child node set and then added to the pseudo-parent node set. If the set of nodes to be searched is not empty, the next node is selected for search. Otherwise, a BACK message is sent back to the parent node and the current node stops running.

[0038] When node x receives the BACK message sent by node y, if the set of nodes to be searched is not empty, it continues to select the next search node for search; if the set of nodes to be searched is empty and the current node is not the root node, it continues to send BACK messages to trace back to the parent node and terminate the node operation; if the set of nodes to be searched is empty and the current node is the root node, it means that the entire deep search has been completed and the root node operation is terminated.

[0039] This application also proposes a multi-agent system DFS pseudo-tree communication structure, including:

[0040] A root node, wherein the root node is determined based on a method of preferentially selecting an optimal cut point and secondarily selecting an optimal neighbor node;

[0041] A child node, wherein the child node has an optimal cut point or is included by an optimal neighbor node;

[0042] The root node triggers the search. When the number of nodes to be searched is less than 2, the root node is directly selected. When the number of nodes to be searched is greater than or equal to 2, the best cut point is selected as the next search node. If no cut point exists, the best neighbor node is selected as the next search node.

[0043] The DFS pseudo-tree communication structure of the multi-agent system reduces repeated calculations and invalid reasoning during the reasoning process, and improves the operation efficiency and performance of the algorithm.

[0044] This application also proposes a complete iterative reasoning algorithm based on the DFS pseudo-tree communication structure of the multi-agent system:

[0045] a) Labeling phase: the regions with induced width greater than parameter k are divided into a cluster, and a corresponding loop-cut node is selected for each cluster, the nodes with induced width not exceeding parameter k in the cluster are called cluster heads;

[0046] b) Utility propagation phase: after receiving the utility matrix of all child nodes, each ordinary node combines the local utility matrix with the utility matrix of the child nodes and performs the elimination operation, and the result is passed up to the parent node; for the nodes within the cluster, the cluster head node is responsible for enumerating the assignment combination of all loop-cut nodes, and the result is passed to other nodes within the cluster for utility calculation, and finally the complete utility matrix is passed to the parent node;

[0047] c) Value propagation phase: when the root node receives the utility matrix of all child nodes, it enters the value propagation phase, and the root node first determines its optimal value according to its local utility matrix, and passes the value down to the child nodes; when all nodes determine the final value, the algorithm terminates.

[0048] The complete iterative reasoning algorithm reduces repeated calculation and invalid reasoning, improves reasoning efficiency, and ensures that all nodes obtain complete utility matrix and determine the final value through the additional value propagation process of the cluster head node. The complete iterative reasoning algorithm can effectively solve the multi-agent cooperation problem in complex environment, especially in large-scale missile system cooperative path planning.

[0049] The application also proposes a multi-platform missile cooperative path planning method, comprising the following steps:

[0050] The multi-platform missile cooperative path planning problem is converted into a DCOP model, which includes the following elements:

[0051] Variable and its value: each missile is regarded as a variable, each variable corresponds to an agent with known performance index, and the value of each variable is composed of nodes constituting a feasible path;

[0052] Domain: the domain of the variable is the set of all feasible paths of the missile to the destination;

[0053] Constraint condition:

[0054] Path distance constraint: for each missile, the length of its path is less than or equal to a pre-set maximum distance, which depends on the flight time allowed by the fuel carried by the missile;

[0055] Path safety constraint: the paths of the missiles cannot have intersection points other than the end point;

[0056] A route target function is established aiming at minimizing the time difference between missiles and minimizing the threat cost of crossing the threat area;

[0057] The route planning is performed by using the complete iterative reasoning algorithm.

[0058] Optionally, the route target function is:

[0059] Wherein, J i is the threat cost of the ith edge on the route, J i = J rthreat,i + J mthreat,i + J mfuel,i , J mthreat,i is the radar threat cost, J mthreat,i is the missile threat cost, and J mfuel,i is the fuel cost.

[0060] J k is the threat cost of a complete route of the missile, mk

[0061] Wherein, K represents the number of missiles launched by multiple platforms, I is the set of all edges constituting the route, q is a weight value, J time is the time difference cost, J time is proportional to the difference between the latest time t max and the earliest time t min at which the missile reaches the target.

[0062] The present application has the following advantages:

[0063] The present application can effectively solve the problem of multi-agent cooperation in a complex environment, has high efficiency and good scalability, and has a significant advantage in the application of large-scale missile system cooperative route planning.

[0064] 1. Higher parallelism: preferentially selecting a cut point to construct a pseudo tree, when selecting the cut point, selecting the best cut point, better utilizing the structural characteristics of the problem, the cut point can divide the constraint graph into multiple independent subgraphs, corresponding to different branches on the DFS pseudo tree; the cut point can help increase the branches of the DFS pseudo tree; since the subgraphs are independent of each other, the message paths in different subgraphs will not overlap, the multi-dimensional constraint cost in different subgraphs will not be merged, and the maximum message dimension will not be increased, thereby making the communication structure more flattened, reducing the redundancy in the message transmission path, and improving the overall parallel processing capability of the system.

[0065] ​2. Memory occupation optimization: through memory reduction strategies, effective reasoning and decision-making can still be carried out under the condition of limited memory, significantly reducing the memory occupation demand.

[0066] 3. Computing efficiency improvement: through improving the communication structure, reducing the repeated calculation and invalid reasoning in the reasoning process, the computing complexity and communication overhead can be effectively reduced, so as to find the optimal solution in limited time.

[0067] Additional aspects and advantages of the application will be in part apparent and in part pointed out hereinafter in the description. BRIEF DESCRIPTION OF DRAWINGS

[0068] The above and / or additional aspects and advantages of the present application will become apparent and be readily appreciated from the following description, including the accompanying drawings, in which:

[0069] Figure 1 is a flowchart of example one;

[0070] Figure 2 is a flowchart of example three;

[0071] Figure 3 is a multi-platform missile cooperative route planning simulation battlefield environment map;

[0072] Figure 4 is Figure 3 is a diagram showing the threat cost and length of each side in example one;

[0073] Figure 5 is a schematic diagram of the final missile route. DETAILED DESCRIPTION

[0074] The embodiments of the present application are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference signs represent the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the accompanying drawings are exemplary and are only used to explain the present application, and cannot be understood as a limitation of the present application.

[0075] In the description of the present application, unless otherwise specified and limited, it is necessary to explain that the terms "mounting", "connection", "connection" should be understood broadly, for example, it can be mechanical connection or electrical connection, it can be the communication inside two elements, it can be direct connection or indirect connection through intermediate medium, and the specific meaning of the above terms can be understood by those skilled in the art according to the specific circumstances.

[0076] Example one

[0077] This embodiment provides a DFS pseudo-tree communication method for a multi-agent system. Before introducing this embodiment, the following definitions are made:

[0078] Cut Vertex: If removing a vertex and its associated edges from a graph G increases the number of connected branches, then that vertex is called a cut vertex in G. Selecting a cut vertex helps the DFS pseudo-tree generate more branches, improves parallelism, and effectively avoids overlapping message paths. The optimal cut vertex is determined using a distributed optimal cut vertex search algorithm.

[0079] Best neighbor point: Construct heuristic function h(x i ) is used to calculate the number of neighbor nodes that have not yet become part of the pseudo-tree, and the neighbor node with the largest influence range is selected as the best neighbor point. Using the heuristic function h(x i ) to evaluate the priority of candidate neighbor nodes. The neighbor node with the largest heuristic function calculation value is the neighbor node with the largest influence range. This selection method can greatly reduce the conflict in the pseudo-tree generation process and optimize the communication path. Heuristic function h(x i ) is calculated as:

[0080] h(x i )=|N(x i )\(P(x i )∪PP(x i ))|

[0081] Where: x i is the current node, N(x i ) is the same as x i A set of neighbor nodes with a constraint relationship; P(x i ) is the tree edge and x i Directly connected parent node; PP(x i ) is a pseudo-edge with x i A set of directly connected pseudo-parent nodes.

[0082] Blocking nodes: These are defined as blocking nodes during graph structure analysis. The analysis targets only the remaining nodes. Blocking nodes can be any node in the graph.

[0083] BN (Blocking Nodes): Blocking node set, belonging to the search context.

[0084] CV (Cut Vertices): Cut point information, including the cut point value and the size of the segmented subgraph, belongs to the search context.

[0085] CPx (Cut Parts) represents the number of subgraphs split when node x is a cut point.

[0086] CVx (Cut Vertex): the cut vertex value when node x is a cut vertex, used to measure the pros and cons of the cut vertex.

[0087] As shown in the embodiment, the embodiment specifically includes the following steps: Figure 1

[0088] The DFS pseudo-tree of the multi-agent system is constructed, and each node in the DFS pseudo-tree is an agent. Specifically, the DFS pseudo-tree construction strategy of preferentially selecting the best cut vertex and then selecting the best neighbor node is adopted.

[0089] Therefore, the best cut vertex and root node of the DFS pseudo-tree are preferentially determined, and the best neighbor node is then determined.

[0090] Selection of the best cut vertex: when selecting the next search node, the best cut vertex is selected from the candidate nodes. In this embodiment, the distributed optimal cut vertex searching algorithm is adopted to select the cut vertex, and the specific steps are as follows:

[0091] The STARTCV message is sent from the root node to all child nodes, triggering the top-down cut vertex identification process.

[0092] When node x receives the STARTCV message from node y, the following operations are performed:

[0093] Context data is initialized, including the blocking node set BN and the cut vertex information CV;

[0094] Local data is initialized, including the highest ancestor level, the subtree size, the number of subgraphs, and the cut vertex value;

[0095] If node x is not a leaf node, the STARTCV message is continuously sent to the child nodes;

[0096] If node x is a leaf node, the highest ancestor level and the subtree size excluding the blocking nodes are calculated at the leaf node, and the highest ancestor level, the subtree size, and the cut vertex information CV are sent to the parent node through the CUTVERTEX message, triggering the bottom-up cut vertex calculation process. Each parent node integrates the received information to cooperatively determine the node that should be selected as the cut vertex, and calculates the cut vertex value of each cut vertex. The cut vertex with the highest cut vertex value is selected as the optimal cut vertex. Specifically:

[0097] When node x receives the CUTVERTEX message from node y, the following operations are performed:

[0098] Mark this message as received.

[0099] The subtree size of the current node is calculated according to the received subtree size of the child node.

[0100] ​The highest ancestor level of the current node is calculated according to the received highest ancestor levels of the sub-trees.

[0101] If the current node has not received all CUTVERTEX messages from its children, it continues to wait.

[0102] When all CUTVERTEX messages are received, it is determined whether the current node is a blocking node. If it is, the local data is reset. If it is not, the cut vertex determination and calculation are performed.

[0103] The cut vertex determination includes calculating the number of sub-graphs and determining whether the current node is a cut vertex according to the number of sub-graphs and the level relationship of the nodes. If the current node is a cut vertex, its cut vertex value is calculated and the cut vertex information is added to the cut vertex information set.

[0104] Here, the calculation of the cut vertex value is based on the size of the sub-graph divided by the cut vertex. The sub-graphs are divided into two categories: low-level sub-graphs (sub-trees) and high-level sub-graphs (parts connected by parent nodes or pseudo-parent nodes). The size of the low-level sub-graph is the size of the sub-tree, while the size of the high-level sub-graph is determined by calculating the size of the sub-tree with the high-level node as the root minus the size of the sub-tree with the cut vertex as the root. In processing high-level sub-graphs, the distributed optimal cut vertex finding algorithm uses an approximate method and only considers the high-level sub-graphs connected by the highest pseudo-parent node. The formula for calculating the cut vertex value is based on the ratio of the size of the sub-graph divided by the total size. The principle is that the closer the size of the sub-graph divided by the cut vertex to 1 / 2 of the total size, the better the quality.

[0105] The formula for calculating the cut vertex value of node x when it is a cut vertex is as follows:

[0106]

[0107] where CP i represents the size of the sub-graph divided by the i-th cut vertex, and ∑CP i is the sum of the sizes of the sub-graphs divided by all cut vertices. Through this formula, the quality of the cut vertex can be effectively evaluated, ensuring the communication efficiency of the pseudo-tree.

[0108] The highest ancestor level is calculated, and the cut vertex value of the cut vertex that has not previously met the calculation condition is attempted to be calculated;

[0109] If the current node is not the root node, it continues to send CUTVERTEX messages upwards to calculate the cut vertex information. If it is the root node, all cut vertex information is complete, and the optimal cut vertex is selected.

[0110] Best neighbor node selection: when there is no cut vertex in the candidate nodes, the best neighbor node is preferred. Its selection method refers to the definition of the best neighbor node.

[0111] After the root node of DFS pseudo-tree is determined by the distributed optimal cutpoint searching algorithm and the optimal cutpoint and optimal neighbor node priority strategy, the DFS pseudo-tree construction algorithm based on the strategy enters the initialization stage. In this stage, the multi-agent initializes the local data, each agent initializes its local data, and the message-driven search process is triggered by the root node. If the current node x is the root node, its level is set to 0, and the SearchNext function is called to select the next search node. When the number of nodes to be searched is less than 2 (i.e. only 1 node to be searched), the node is directly selected; when the number of nodes to be searched is greater than or equal to 2, the optimal cutpoint is preferentially selected as the next search node, and if there is no cutpoint, the optimal neighbor node is preferentially selected as the next search node, until the search is completed, and the root node operation is terminated.

[0112] After the selected node is selected, it is removed from the to-be-searched list and added to the child node set, and a LAYER message containing level information is sent to it. In fact, there can be three relationships between the selected node and the current node: child node, pseudo-child node or pseudo-parent node, which correspond to different message processing methods.

[0113] In the search process, when node x receives the LAYER message sent by node y, node y is first removed from the to-be-searched node set because node y has been searched. If the current node x is searched for the first time, i.e. receives the LAYER message for the first time, it means that node x is the child node of node y; otherwise, node x is the pseudo-parent node of node y. When node x is the child node of node y, the level is increased by 1 and the parent node is set. If the to-be-searched node set is not empty, the next search node is selected for search; otherwise, the BACK message (indicating that the sub-tree search is completed) needs to be sent to backtrack to the parent node, and since the sub-tree search is completed, the node has processed all possible messages, so after backtracking, the node operation is terminated. If node x is the pseudo-parent node of node y, node y is added to the pseudo-child node set of node x, and an ACK message (acknowledging that the pseudo-child node has received the LAYER message) is sent to node y.

[0114] When node x receives the ACK message sent by node y, it means that node x is the pseudo-child node of node y. First, y is removed from the child node set, and then it is added to the pseudo-parent node set. At this time, if the to-be-searched node set is not empty, the next node is selected for search; otherwise, the BACK message is sent to backtrack to the parent node and stop the current node operation.

[0115] When node x receives a BACK message from node y, if the set of nodes to be searched is not empty, it continues searching by selecting the next node. If the set of nodes to be searched is empty and the current node is not the root node, it continues searching by sending BACK messages back to the parent node and terminates the node. If the set of nodes to be searched is empty and the current node is the root node, the entire deep search is complete, and the root node is terminated.

[0116] Example 2

[0117] This embodiment provides a DFS pseudo-tree communication structure for a multi-agent system, specifically comprising a root node and child nodes. The root node is determined by prioritizing the best cut point and secondarily selecting the best neighbor node; child nodes contain the best cut point or are included by the best neighbor node. The determination of the root node and child nodes can refer to the relevant methods described in Example 1.

[0118] The root node triggers the search. When the number of nodes to be searched is less than 2 (i.e., there is only one node to be searched), that node is directly selected. When the number of nodes to be searched is greater than or equal to 2, the best cut point is preferentially selected as the next search node. If no cut point exists, the best neighbor node is preferentially selected as the next search node. This process continues until the search is complete, at which point the root node terminates. For the specific search process, please refer to the relevant content described in Example 1.

[0119] Example 3

[0120] This embodiment provides a complete iterative reasoning algorithm for the DFS pseudo-tree communication structure of a multi-agent system based on the second embodiment.

[0121] like Figure 2 As shown in Figure 1, after the DFS pseudo-tree is constructed, the complete iterative inference algorithm begins. This complete iterative inference algorithm consists of three phases: marking, utility propagation, and value propagation. The marking phase is used to divide the computational area and identify key nodes to reduce the complexity of subsequent computations. Then, through utility propagation and value propagation, each node gradually completes the problem solution.

[0122] Before describing the algorithm in detail, the following definitions are given:

[0123] Utility matrix: The utility matrix is ​​a matrix of a series of values. Each dimension represents each agent. The utility matrix includes the cost of all agents when they take different values.

[0124] Joint: Let U, U′ be two utility matrices, D u is the value range space associated with the dimension of the utility matrix U, D i Represents the value range space of dimension di, where one dimension represents a variable, Du’ is the value range space of all dimensions related to the utility matrix U', is the joint of U and U', whose value range space is In particular, the joint of U and U' can be defined as: where dims(U) and dims(U') are the dimension sets of utility matrix U and U' respectively, V [dims(U)] and V [dims(U′)] are the projections of the argument V on dims(U) and dims(U') respectively.

[0125] Elimination: Elimination refers to the process of removing a certain variable from a utility matrix or function in mathematics and computing, in order to focus attention on other variables. The utility matrix U is with respect to the variable x i Elimination can be defined as where x -i = dims(U) \ {x i}, refers to the remaining variable set after removing x i .

[0126] Cycle-cut node (CC node): refers to those nodes in a particular region that, once removed, reduce the width of the remaining problem to the control parameter k or less. Specifically, the purpose of cycle-cut nodes is to reduce the width of the graph by eliminating cyclic structures, so that k-limited reasoning can be performed on the remaining region. The determination of these nodes helps to simplify the problem into a region with lower width, thereby facilitating subsequent reasoning calculations.

[0127] Width: for a node x i in the DFS pseudo-tree, given a set of cycle-cut nodes CC i , its width w i can be defined as: w i = |Sep(x i ) \ CC i |, refers to the induced width minus the number of cycle-cut nodes CC i , Sep(x i ) is the induced width of x i , which is the ancestor node connected to x i and all its descendant nodes Desc(x i ).

[0128] Cluster: In the DFS pseudo-tree, a cluster is a connected subgraph <CR, V, E>, where CR is the cluster head of the cluster, which satisfies |Sep(CR)|≤k and x i ∈Desc(CR), V is the remaining node in the cluster, which satisfies |Sep(xi |>k, |Sep(CR)| refers to the induced width of a cluster head, x i ∈Desc(CR) refers to x i is a descendant node of the cluster head; e ij ∈E is an edge connecting x i ∈V and x j ∈V, E refers to the set of these edges, in particular, {x i ∈V | Desc(x i )∩V≠φ} are the leaf nodes of the cluster.

[0129] Labeling phase: In this phase, the regions with induced width greater than the control parameter k are divided into a cluster, and a corresponding cyclic cut node is selected for each cluster, k is a constant used to limit the maximum dimension of the utility matrix, which can be set by itself. The top node of each cluster, i.e. the node with an induced width not exceeding k, is called a cluster head. The cluster head node is responsible for subsequent iterative reasoning within the cluster. For each cluster, the algorithm selects several cyclic cut nodes, and once the dimensions related to the cyclic cut nodes are deleted, the dimensions of the utility matrix transmitted upwards by any node within the cluster will inevitably be less than or equal to k, i.e. when these cyclic cut nodes are removed, the width of the cluster will be reduced to not more than the specified control parameter k. By selecting these cyclic cut nodes and removing them, a region with a larger width can be divided into smaller sub-regions, so that the algorithm can perform more efficient reasoning operations within these sub-regions, reducing the overall computational complexity. The selection process of the cyclic cut nodes is performed from bottom to top.

[0130] Specifically, for each node x i , first determine whether its induced width Sep(x i ) exceeds k. If it does, check whether the dimension of its utility matrix after deleting the cyclic cut nodes transmitted from the child nodes is still greater than k. If the matrix dimension still exceeds k, select the neighbor node with a higher level in the pseudo tree as an additional cyclic cut node to ensure that the dimension of its utility matrix does not exceed k. After selection, the selected cyclic cut nodes of node x i are combined with the cyclic cut nodes received from the child nodes, and the combined list is transmitted to the parent node. If the node size does not exceed k and the cyclic cut node list of the child nodes is empty, the node is marked as a normal node.

[0131] Utility propagation phase: In the utility propagation phase, ordinary nodes receive the utility matrix of all their children, combine their local utility matrix with the utility matrix of their children, perform the elimination operation, and then pass the result to their parent. For non-ordinary nodes (intra-cluster nodes), the cluster head is responsible for enumerating all the assignment combinations of the loop-cut nodes to enumerate instances, and iteratively pass the result of each instance to other nodes within the cluster. Intra-cluster nodes use these instances to calculate the corresponding utility matrix. When all assignment combination instances are enumerated, the cluster head can obtain the complete utility matrix and pass it to the parent node. That is, in this embodiment, an additional utility propagation process is performed within the cluster.

[0132] Value propagation phase: When the root node receives the utility matrix of all its children, the utility propagation phase ends, and the algorithm enters the value propagation phase. The root node first determines its optimal value based on its local utility matrix, and passes this value down to the child nodes. When the root node receives the utility matrix of all its children, the combined local utility matrix is only about its own one-dimensional assignment combination, and the value of the root node with the minimum or maximum cost is the optimal value of the root node. In this process, intra-cluster nodes ensure that all nodes obtain complete utility matrices through the additional propagation of the cluster head node, so that they can determine their own values based on the value information passed down by the ancestor nodes. When all nodes determine the final values, the algorithm terminates.

[0133] Embodiment four

[0134] The embodiment provides a multi-platform missile cooperative path planning method, which is applied to a multi-platform missile cooperative path planning problem and mainly comprises the following steps:

[0135] Firstly, the multi-platform missile cooperative path planning problem is converted into a DCOP model, and the model comprises the following elements:

[0136] Variable and its value: each missile is regarded as a variable m k , and each variable m k corresponds to an agent with known performance indicators, and the value of each variable m k is composed of coordinate nodes constituting a feasible path.

[0137] Domain: the domain D k of the variable m k is the set of all feasible paths of the missile to the destination.

[0138] Constraint condition:

[0139] Path distance constraint: for each missile, the length of the path must be less than or equal to a pre-set maximum distance, which depends on the flight time allowed by the fuel carried by the missile.

[0140] Safety constraint: In order to ensure the safety of the missile flight, the flight path of the missiles cannot have intersection points except the end point.

[0141] The flight path objective function is established by minimizing the time difference between the missiles and minimizing the threat cost of crossing the threat area, and the weight coefficient q is used to balance the weight between the two.

[0142] Specifically, the cost J of the ith edge on the flight path is the sum of the radar threat cost J i , the missile threat cost J rthreat,i , and the fuel cost J mthreat,i . mfuel,i

[0143] J i =J rthreat,i +J mthreat,i +J mfuel,i

[0144] The cost J of a complete flight path of the missile m is: k k

[0145]

[0146] where I is the set of all edges that make up the flight path, the radar threat cost J rthreat,i , the missile threat cost J mthreat,i , and the fuel cost J mfuel,i can be calculated by existing methods.

[0147] The total cost J of the multi-missile cooperative flight path is the sum of the flight path cost of each missile and the time difference cost J time . The time difference cost J time is proportional to the difference between the latest time t max and the earliest time t min at which the missile reaches the target; that is, J time =g(t max -t min ), where g(·) is a linear time difference cost function. That is, the flight path objective function is:

[0148]

[0149] where K is the number of missiles launched by the multi-platform, k∈K, and q∈(0, 1) is the weight coefficient, which is preferably but not limited to q=0.5 in this embodiment, indicating that the missiles are equally important in terms of real-time cooperative attack and threat avoidance.

[0150] After the DCOP model is constructed, the flight path is planned using the complete iterative reasoning algorithm described in Embodiment Three, and the flight path of each missile is finally planned, including the flight path of the missile, the path length, the flight practice, and the total cost, such as​​​Figure 4 and Figure 5 as shown.

[0151] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Also, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in an appropriate manner.

[0152] Although the embodiments of the present application have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions, and alterations can be made thereto without departing from the principles and spirit of the application, the scope of which is defined by the claims and their equivalents.

Claims

1. A multi-platform missile collaborative route planning method, characterized in that: The following steps are involved: The multi-platform missile coordinated route planning problem is transformed into a DCOP model, which includes the following elements: Variables and their values: Each missile is treated as a variable, each variable corresponds to an agent with known performance indicators, and the value of each variable is composed of the nodes that constitute the feasible route; Domain: The domain of a variable is the set of all possible routes for the missile to reach its destination; Constraints: Route distance constraint: For each missile, the length of its route is less than or equal to a pre-set maximum distance, which depends on the flight time allowed by the fuel carried by the missile; Route safety constraints: The routes between missiles cannot have any intersections other than the end points; Establish a route objective function with the goal of minimizing the time difference between missiles and minimizing the threat cost to cross the threat area; Route planning is performed using a complete iterative reasoning algorithm based on the DFS pseudo-tree communication structure of a multi-agent system. The complete iterative reasoning algorithm of the DFS pseudo-tree communication structure of the multi-agent system is: a) Marking stage: The region with an induced width greater than parameter k is divided into a cluster, and the corresponding loop cutting node is selected for each cluster. The node in the cluster whose induced width does not exceed parameter k is called the cluster head; b) Utility propagation phase: After receiving the utility matrices of all child nodes, each ordinary node combines its local utility matrix with the utility matrices of the child nodes, performs elimination operations, and passes the result to the parent node. For nodes within the cluster, the cluster head node is responsible for enumerating the assignment combinations of all loop-cut nodes and passing the results to other nodes in the cluster for utility calculation. Finally, the complete utility matrix is ​​passed to the parent node. c) Value propagation phase: After the root node receives the utility matrices of all child nodes, it enters the value propagation phase. The root node first determines its own optimal value based on its local utility matrix and propagates this value down to the child nodes. When all nodes have determined the final value, the algorithm terminates. The DFS pseudo-tree communication structure of the multi-agent system is constructed as follows: Construct a DFS pseudo-tree for a multi-agent system; Determine the best cut point and root node of the DFS pseudo-tree, and determine the best neighbor node; The steps to determine the best cut point are: the root node sends a STARTCV message to all child nodes to trigger the top-down cut point identification process; At the leaf nodes, the highest ancestor level and subtree size are calculated and sent back to the parent node from bottom to top via the CUTVERTEX message; Each parent node integrates the received information to collaboratively determine the node that should be selected as the cut point; Calculate the cut point value of each cut point, and take the cut point with the highest cut point value as the best cut point; When node x is a cut point, the calculation formula of its cut point value is as follows: Among them, CP i Represents the size of the subgraph divided by the cut point, ∑CP i is the sum of all subgraph sizes; Method for determining the best neighbor node: Construct a heuristic function to calculate the number of neighbor nodes that have not yet become part of the pseudo-tree, and give priority to selecting the neighbor node with the largest influence range as the best neighbor point; The multi-agent initializes local data, and the root node triggers a message-driven search process. When the number of nodes to be searched is less than 2, the node is directly selected; when the number of nodes to be searched is greater than or equal to 2, the best cut point is selected as the next search node. If there is no cut point, the best neighbor node is selected as the next search node. This process continues until the search is completed and the root node is terminated. During the search process, when node x receives the LAYER message sent by node y, it first removes node y from the set of nodes to be searched. If the current node x is being searched for the first time, it means that node x is a child node of node y; otherwise, node x is a pseudo-parent node of node y; when node x is a child node of node y, the level is increased by 1 and the parent node is set; if the set of nodes to be searched is not empty, the next search node is selected for search; otherwise, a BACK message is sent to backtrack to the parent node to terminate the node operation; if node x is a pseudo-parent node of node y, node y is added to the set of pseudo-child nodes of x, and an ACK message is sent to node y to confirm that the pseudo-child node has received the LAYER message; When node x receives an ACK message from node y, it indicates that node x is a pseudo-child node of node y. First, node y is removed from the child node set and then added to the pseudo-parent node set. If the set of nodes to be searched is not empty, the next node is selected for search. Otherwise, a BACK message is sent back to the parent node and the current node stops running. When node x receives the BACK message sent by node y, if the set of nodes to be searched is not empty, it continues to select the next search node for search; if the set of nodes to be searched is empty and the current node is not the root node, it continues to send BACK messages to trace back to the parent node and terminate the node operation; if the set of nodes to be searched is empty and the current node is the root node, it means that the entire deep search has been completed and the root node operation is terminated.

2. The multi-platform missile collaborative route planning method according to claim 1, characterized in that: The route objective function is: Among them, J i is the threat cost of the i-th edge on the route, J i =J rthreat,i +J mthreat,i +J mfuel,i , J mthreat,i Radar threat cost, J mthreat,i For the cost of missile threats, J mfuel,i The cost of fuel; J k For missile m k The threat cost of a complete route, Among them, K represents the number of missiles launched by multiple platforms, I is the set of all edges that make up the route, q is the weight value, and J time is the time difference cost, J time The latest time for the missile to reach the target is t max and the earliest time t min The difference is proportional.

3. The multi-platform missile coordinated route planning method according to claim 1, characterized in that: When node x receives a STARTCV message from node y, it performs the following actions: Initialize context data, including the set of blocking nodes and cut point information; Initialize local data, including the highest ancestor level, subtree size, number of subgraphs, and cutpoint values; If node x is not a leaf node, continue to send STARTCV messages to the child nodes; If node x is a leaf node, the highest ancestor level excluding the blocking node is calculated, and the highest ancestor level, subtree size, and cutpoint information are sent to the parent node, triggering the bottom-up cutpoint calculation process; When node x receives a CUTVERTEX message from node y, it performs the following actions: Mark this message as received; Calculate the subtree size of the current node based on the received subtree size of the child node; Calculate the highest ancestor level of the current node based on the highest ancestor level of the received subtree; If the current node has not received CUTVERTEX messages from all child nodes, it continues to wait; After receiving all CUTVERTEX messages, determine whether the current node is a blocking node. If so, reset the local data; if not, perform cut point determination and calculation; Cut point determination includes calculating the number of subgraphs and determining whether the current node is a cut point based on the number of subgraphs and the node hierarchy relationship; if the current node is a cut point, then calculating its cut point value and adding the cut point information to the cut point information set; Calculate the highest ancestral level and try to calculate the cutpoint value of the cutpoint that has not met the calculation conditions before; If the current node is not the root node, continue to send CUTVERTEX messages upward to calculate the cut point information; If it is a root node, all cut point information is counted and the best cut point is selected.

Citation Information

Patent Citations

  • Asymmetric distributed constrained optimization method for multi-Agent system

    CN103995750A

  • Multi-agent search and attack task allocation method under intermittent communication

    CN115086149A