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

By adopting the DFS pseudo-tree communication method in the multi-agent system, the cut point selection and message-driven search are optimized, and the memory usage and repeated inference in the distributed constraint optimization problem are solved, achieving efficient inference and scalability.

CN119520191AActive Publication Date: 2025-02-25CHONGQING UNIV
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When solving the distributed constraint optimization problem, existing multi-agent systems have problems such as excessive memory usage and excessive repetitive reasoning, resulting in inefficiency.

Method used

The multi-agent system DFS pseudo-tree communication method is adopted to optimize the message-driven search process by constructing the DFS pseudo-tree and determining the best cut point and root node.

Benefits of technology

It improves the scalability and inference efficiency of the algorithm, and can effectively solve complex problems in a limited memory environment, especially in large-scale agent systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520191A_ABST
    Figure CN119520191A_ABST
Patent Text Reader

Abstract

The invention provides a multi-agent system DFS pseudo-tree communication method, structure and application thereof. The multi-agent system DFS pseudo-tree communication method comprises the following steps: constructing a multi-agent system DFS pseudo-tree; determining an optimal cut point and a root node of the DFS pseudo-tree, and determining an optimal neighbor node; the multiple agents initialize local data, a root node triggers a message-driven search process, and when the number of nodes to be searched is smaller than 2, the nodes are selected; and when the number of the to-be-searched nodes is greater than or equal to 2, preferentially selecting the optimal cut point as the next search node, and if the cut point does not exist, preferentially selecting the optimal neighbor node as the next search node until the search is finished, and terminating the operation of the root node. The method can effectively solve the problem of multi-agent collaboration in a complex environment, has high efficiency and good expansibility, and particularly has remarkable advantages in application to collaborative route planning of a large-scale missile system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computers, and in particular to a DFS pseudo-tree communication method, structure and application of a multi-agent system. Background Art

[0002] Multi-Agent Systems (MAS) consist of multiple independent agents that can make 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, collaboration, 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 (DCOPs) are an important abstraction of multi-agent system collaboration problems. In a DCOP, each agent holds several variables, each with a specific range of values ​​and subject to a set of constraints, which are expressed 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 controls only one variable and all constraint functions are binary functions. DCOPs can be intuitively represented by a constraint graph, where a node represents an agent and an edge represents a constraint relationship. DCOPs have been widely used in the real world, such as disaster management, sensor networks, and recommendation systems.

[0004] The tree structure is one of the main communication structures currently used to solve DCOP. The complete algorithms using this structure can be divided into two categories: search-based and reasoning-based. The typical reasoning algorithm based on the tree structure, the Distributed Pseudo-tree Optimization Procedure (DPOP), solves the problem through a depth-first search (DFS) pseudo-tree and a dynamic programming strategy. The depth-first search pseudo-tree (DFS pseudo-tree) is a spanning tree. By performing a depth-first traversal of the constraint graph, all constraint edges in the graph can be divided into tree edges and pseudo-edges (i.e., non-tree edges). All neighbors of a node xi can be divided into four categories according to their relative positions in the pseudo-tree, namely, the parent node P(x i ), pseudo-parent node PP(x i ), child node C(x i ) and pseudo-child node PC(x i). The parent node and pseudo-parent node refer to the ancestor node directly connected to the node xi through tree edges and pseudo edges respectively; the child node and pseudo-child node refer to the descendant node directly connected to it through tree edges and pseudo edges respectively. In addition, the induced width Sep(x i ) is defined as the sum of xi and all its descendant nodes Desc(x i ) connected to the ancestor node.

[0005] The DPOP algorithm sends the assignment combination cost in a bottom-up manner, and the root node finally determines the value and sends it down to the leaf nodes. Although the number of messages sent by the DPOP algorithm grows linearly with the number of agents, each node needs to retain the corresponding optimal value, which causes the memory space occupied by messages to grow exponentially when the number of nodes, constraint relationships, and domain value ranges increase. In order to solve the memory problem, Petcu proposed a complete iterative reasoning algorithm, the Memory Bounded Distributed Pseudo-tree Optimization Procedure (MB-DPOP), which ensures boundedness and optimizes cache memory through cycle reduction, thereby reducing complexity. However, the algorithm fails to fully utilize the structural characteristics of the problem, resulting in a large number of repeated and invalid reasoning during operation. Summary of the invention

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

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

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

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

[0010] 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 until the search is completed and the root node is terminated.

[0011] The DFS pseudo-tree communication method for multi-agent systems can improve the scalability of the algorithm, make better use of the structural characteristics of the problem, reduce repeated calculations and invalid reasoning, and thus improve reasoning efficiency. The DFS pseudo-tree has better scalability when used for complete iterative reasoning to deal with complex problems and large-scale intelligent agent systems, and can be solved efficiently in a limited memory environment.

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

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

[0014] Each parent node integrates the received information to collaboratively determine the node that should be selected as the cut point;

[0015] Calculate the cut point value of each cut point, and take the cut point with the highest cut point value as the optimal cut point.

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

[0017] Initialize context data, including blocking node set and cut point information;

[0018] Initialize local data, including the highest ancestor level, subtree size, number of subgraphs, and cutpoint values;

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

[0020] 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 cut point information are sent to the parent node, triggering the bottom-up cut point calculation process;

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

[0022] Mark this message as received;

[0023] Calculate the subtree size of the current node based on the received subtree size of the child node;

[0024] Calculate the highest ancestor level of the current node based on the received subtree's highest ancestor level;

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

[0026] 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;

[0027] Cut point determination includes calculating the number of subgraphs, and judging 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, calculating its cut point value, and adding the cut point information to the cut point information set;

[0028] Calculate the highest ancestor level and try to calculate the cutpoint values ​​for the cutpoints that have not met the calculation conditions before;

[0029] If the current node is not the root node, the CUTVERTEX message continues to be sent upward to calculate the cut point information; if it is the root node, all the cut point information is counted and the optimal cut point is selected.

[0030] The distributed optimal cut point search algorithm proposed by this optional scheme can effectively find all cut points in a distributed environment and select the best one among them, providing 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 point, the calculation formula of its cut point value is as follows:

[0032]

[0033] Among them, CP i Represents the size of the subgraph segmented by the cut point, ΣCP i is the sum of the sizes of all subgraphs.

[0034] This formula can effectively evaluate the quality of the cut points 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: constructing a heuristic function to calculate the number of neighbor nodes that have not yet become part of the pseudo-tree, and giving priority to selecting the neighbor node with the largest influence range as the best neighbor point.

[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 the LAYER message sent by node y, node y is first removed 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 trace back 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 the ACK message sent by node y, it indicates that node x is the 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 to trace back to the parent node and the current node is stopped.

[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 searching; 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 a best cut point or is included by a best neighbor node;

[0042] The root node triggers the search. 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.

[0043] The DFS pseudo-tree communication structure of the multi-agent system reduces repeated calculations and invalid reasoning generated during the reasoning process, and improves the operating 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) Marking stage: The area with 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;

[0046] b) Utility propagation stage: After receiving the utility matrices of all child nodes, each ordinary node combines the local utility matrix with the utility matrix of the child nodes, performs elimination operations, and passes the results to the parent node. For nodes in 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, and finally passing the complete utility matrix to the parent node.

[0047] c) Value propagation phase: When 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 passes the value downward to the child nodes. When all nodes have determined the final value, the algorithm terminates.

[0048] The complete iterative reasoning algorithm reduces repeated calculations and invalid reasoning, improves reasoning efficiency, and ensures that all nodes in the cluster obtain a 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 coordination problem in a complex environment, especially in the application of large-scale missile system coordinated route planning.

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

[0050] The multi-platform missile coordinated route planning problem is transformed into a DCOP model, which includes the following elements:

[0051] Variables and their values: Each missile is regarded 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 make up the feasible route;

[0052] Domain: The domain of a variable is the set of all possible routes for the missile to reach its destination;

[0053] Constraints:

[0054] Route distance constraint: For each missile, the length of its route is less than or equal to a preset maximum distance, which depends on the flight time allowed by the fuel carried by the missile;

[0055] Route safety constraints: The routes between missiles cannot have any intersections other than the end points;

[0056] The objective function of the route is established with the goal of minimizing the time difference between missiles and minimizing the threat cost of crossing the threat area;

[0057] The above complete iterative reasoning algorithm is used for route planning.

[0058] Optionally, the route objective function is:

[0059] Among them, 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 Radar threat cost, J mthreat,i For the cost of missile threats, J mfuel,i For fuel cost;

[0060] J k For missiles mk The threat cost of a complete route,

[0061] 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 is 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.

[0062] The beneficial effects of the present invention are:

[0063] The present invention can effectively solve the problem of multi-agent coordination in complex environments, and has high efficiency and good scalability, especially in the application of large-scale missile system coordinated route planning. Compared with the traditional DPOP algorithm, the present invention also has:

[0064] 1. Higher parallelism: Cut points are selected first to construct pseudo-trees. When selecting cut points, the best cut points are selected to better utilize the structural characteristics of the problem. Cut points can divide the constraint graph into multiple independent sub-graphs, which correspond to different branches on the DFS pseudo-tree. Cut points can help increase the branches of the DFS pseudo-tree. Since the sub-graphs are independent of each other, the message paths in different sub-graphs will not overlap, and the multi-dimensional constraint costs in different sub-graphs will not be merged, which will not increase the maximum message dimension, thereby making the communication structure flatter, reducing the redundancy in the message transmission path, and improving the overall parallel processing capability of the system.

[0065] 2. Memory usage optimization: Through the memory reduction strategy, effective reasoning and decision-making can still be performed under limited memory conditions, significantly reducing memory usage requirements.

[0066] 3. Improved computing efficiency: By improving the communication structure, repeated calculations and invalid reasoning in the reasoning process are reduced, which can effectively reduce the computational complexity and communication overhead, thereby finding the optimal solution within a limited time.

[0067] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] The above and / or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:

[0069] Figure 1 It is a schematic diagram of the process of embodiment 1;

[0070] Figure 2 It is a schematic diagram of the process of embodiment 3;

[0071] Figure 3 It is a battlefield environment diagram for multi-platform missile coordinated route planning simulation;

[0072] Figure 4 yes Figure 3 A diagram showing the threat cost and length of each side;

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

[0074] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and cannot be understood as limiting the present invention.

[0075] In the description of the present invention, unless otherwise specified and limited, it should be noted that the terms "installed", "connected" and "connected" should be understood in a broad sense. For example, it can be a mechanical connection or an electrical connection, or it can be the internal connection between two components. It can be a direct connection or an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms can be understood according to the specific circumstances.

[0076] Embodiment 1

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

[0078] Cut Vertex: If the number of connected branches of a graph G increases after removing a vertex and the edges associated with the vertex, then the vertex is called a cut vertex of G. The selection of cut vertex can help the DFS pseudo-tree generate more branches, improve parallelism, and effectively avoid overlap of message passing paths. The best cut point is determined by a distributed optimal cut point search algorithm.

[0079] Best neighbor point: Constructing the 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 nodes with the largest influence range are preferentially selected as the best neighbor points. Using the heuristic function h(x i ) is used to evaluate the priority of candidate neighbor nodes. The neighbor point 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 constraints; P(x i ) is a tree edge connected to x i Directly connected parent node; PP(x i ) is a pseudo-edge with x i A collection of directly connected pseudo-parent nodes.

[0082] Blocking nodes: refers to the blocking nodes set during the graph structure analysis process. The analysis target is only for the remaining nodes except the blocking nodes. Blocking nodes can be any nodes 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 sub-graph, which 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 point value when node x is a cut point, which is used to measure the quality of the cut point.

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

[0088] Construct a DFS pseudo-tree for the multi-agent system, where each node is an agent. Specifically, a DFS pseudo-tree construction strategy is adopted that first selects the best cut point and then selects the best neighbor node.

[0089] Therefore, it is first necessary to determine the best cut point and root node of the DFS pseudo-tree, and then determine the best neighbor node.

[0090] Selection of the best cut point: When selecting the next search node, first select the best cut point from the candidate nodes. In this embodiment, a distributed optimal cut point search algorithm is used to select the cut point. The specific steps are:

[0091] The root node sends a STARTCV message to all child nodes, triggering the top-down cut point identification process.

[0092] When node x receives a STARTCV message from node y, it performs the following operations:

[0093] Initialize context data, including blocking node set BN and cut point information CV;

[0094] Initialize local data, including the highest ancestor level, subtree size, number of subgraphs, and cutpoint values;

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

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

[0097] When node x receives a CUTVERTEX message from node y, it performs the following operations:

[0098] Mark this message as received.

[0099] Calculate the subtree size of the current node based on the received child node subtree size.

[0100] Calculate the highest ancestor level of the current node based on the received subtree's highest ancestor level.

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

[0102] 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.

[0103] Cut point determination includes calculating the number of subgraphs, and judging 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, its cut point value is calculated, and the cut point information is added to the cut point information set.

[0104] Here, the calculation of the cut point value is based on the size of the subgraph segmented by the cut point. Subgraphs are divided into two categories: low-level subgraphs (subtrees) and high-level subgraphs (parts connected to parent nodes or pseudo-parent nodes). The size of the low-level subgraph is the size of the subtree, while the size of the high-level subgraph is determined by calculating the size of the subtree with the high-level node as the root minus the size of the subtree with the cut point as the root. When processing high-level subgraphs, the distributed optimal cut point search algorithm uses an approximate method and only considers the high-level subgraph connected to the highest pseudo-parent node. The calculation formula of the cut point value is based on the ratio of the size of the segmented subgraph to the total size. The principle is that the closer the subgraph segmented by the cut point is to 1 / 2 of the total size, the better its quality.

[0105] When node x is a cut point, the calculation formula of its cut point value is as follows:

[0106]

[0107] Among them, CP i represents the size of the subgraph segmented by the i-th cut point, ∑CP i is the sum of the sizes of the subgraphs segmented by all the cut points. This formula can effectively evaluate the quality of the cut points and ensure the communication efficiency of the pseudo-tree.

[0108] Calculate the highest ancestor level and try to calculate the cutpoint values ​​for the cutpoints that have not met the calculation conditions before;

[0109] If the current node is not the root node, the CUTVERTEX message continues to be sent upward to calculate the cut point information; if it is the root node, all the cut point information is counted and the optimal cut point is selected.

[0110] Selection of the best neighbor node: When there is no cut point among the candidate nodes, the best neighbor node is selected first. The selection method can refer to the definition of the best neighbor node.

[0111] After the root node of the DFS pseudo-tree is determined by the distributed optimal cut point search algorithm, and the optimal cut point and the best neighbor node priority strategy, the DFS pseudo-tree construction algorithm based on this strategy enters the initialization phase. In this phase, multiple agents initialize local data, each agent initializes its local data, and the root node triggers the message-driven search process. 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 (that is, there is 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 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 until the search is completed and the root node operation is terminated.

[0112] After selecting a node, remove it from the list to be searched, add it to the child node set, and send it a LAYER message containing layer information. In fact, there may be three types of relationships between the selected node and the current node: child node, pseudo-child node, or pseudo-parent node, corresponding to different message processing methods.

[0113] During the search process, when node x receives the LAYER message sent by node y, node y is first removed from the set of nodes to be searched, because node y has been searched. If the current node x is searched for the first time, that is, the LAYER message is received 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 set of nodes to be searched is not empty, the next search node is selected for search; otherwise, a BACK message (indicating that the subtree search has been completed) needs to be sent to backtrack to the parent node. Since the subtree search is completed and the node has processed all possible messages, the node operation is terminated after backtracking. 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 (confirming 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 indicates that node x is the pseudo child node of node y. First, y is removed from the child node set, and then added to the pseudo parent node set. At this time, if the set of nodes to be searched is not empty, the next node is selected for search; otherwise, a BACK message is sent to trace back to the parent node and the current node is stopped.

[0115] 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 searching. 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.

[0116] Embodiment 2

[0117] This embodiment provides a multi-agent system DFS pseudo-tree communication structure, specifically including: a root node and child nodes. The root node is determined based on the method of preferentially selecting the best cut point and suboptimally selecting the best neighbor node; the child node has the best cut point or is included by the best neighbor node. The determination of the root node and the child node 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 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 best cut point is preferentially selected as the next search node. If there is no cut point, the best neighbor node is preferentially selected as the next search node until the search is completed and the root node operation is terminated. For the specific search process, please refer to the relevant content described in Example 1.

[0119] Embodiment 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 the figure, after the DFS pseudo-tree is constructed, the complete iterative reasoning algorithm begins. The complete iterative reasoning algorithm includes three stages: marking stage, utility propagation stage, and value propagation stage. The marking stage is used to divide the calculation area and determine the key nodes to reduce the complexity of subsequent calculations. Then, through utility propagation and value propagation, each node gradually completes the solution of the problem.

[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 dimensions 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 associated with the dimension of the utility matrix U′, is the union of U and U′, and its range space is Specifically, the union of U and U′ can be defined as: where dims(U) and dims(U′) are the dimension sets of the utility matrices U and U′, respectively. [dims(U)] and V [dims(U′)] are the projections of the independent variable V on dims(U) and dims(U′) respectively.

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

[0126] Cycle cut nodes (CC nodes): refer to those nodes in a specific region that, once removed, reduce the width of the remaining problem to a control parameter k or less. Specifically, the purpose of the cycle cut nodes is to reduce the width of the graph by eliminating the ring structure, so that k-restricted reasoning can be performed on the remaining region. The determination of these nodes helps to simplify the problem to a region with a lower width, which facilitates subsequent reasoning calculations.

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

[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 nodes in the cluster, satisfying |Sep(x i)|>k, |Sep(CR)| refers to the induced width of the cluster head, x i ∈Desc(CR) refers to x i is the descendant node of the cluster head; e ij ∈E is the connection x i ∈V and x j ∈V, E is the set of these edges, in particular, {x i ∈V|Desc(x i )∩V≠φ} is the leaf node of the cluster.

[0129] Marking phase: In this phase, the region with induced width greater than the control parameter k is divided into a cluster, and the corresponding loop cutting 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 yourself. The top node of each cluster, that is, the node with induced width not exceeding k, is called the cluster head. The cluster head node is responsible for the subsequent iterative reasoning within the cluster. For each cluster, the algorithm will select several loop cutting nodes. Once the dimension related to the loop cutting node is deleted, the dimension of the utility matrix transmitted upward by any node in the cluster must be less than or equal to k, that is, when these loop cutting nodes are removed, the width of the cluster will be reduced to no more than the specified control parameter k. By selecting these loop cutting nodes and removing them, the originally wide region can be decomposed into smaller sub-regions, so that the algorithm can perform more effective reasoning operations in these sub-regions, reducing the overall computational complexity. The selection process of loop cutting nodes is carried out from bottom to top.

[0130] Specifically, for each node x i First, determine the induced width Sep(x i ) exceeds k. If so, check whether the dimension of its utility matrix is ​​still greater than k after deleting the loop-cut nodes passed from the child nodes. If the dimension of the matrix still exceeds k, then prioritize neighboring nodes with higher levels in the pseudo-tree as additional loop-cut nodes to ensure that the dimension of its utility matrix does not exceed k. After the selection is completed, move node x i The selected loop cut node is merged with the loop cut node received from the child node, and the merged list is passed to the parent node. If the node size does not exceed k and the loop cut node lists of the child nodes are all empty, the node is marked as a normal node.

[0131] Utility propagation stage: In the utility propagation stage, after receiving the utility matrices of all child nodes, ordinary nodes combine the local utility matrix with the utility matrix of the child nodes, perform elimination operations, and then pass the results to the parent node. For non-ordinary nodes (nodes within the cluster), the cluster head is responsible for enumerating the assignment combinations of all loop cut nodes to enumerate instances, and iteratively pass the results of each instance to other nodes in the cluster. The nodes in the cluster 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 matrices of all child nodes, that is, when the utility propagation phase ends, the algorithm enters the value propagation phase. The root node first determines its own optimal value based on its local utility matrix and passes the value down to the child nodes. When the root node receives the utility matrices of all child nodes, the local utility matrix after the combination is a one-dimensional assignment combination only about itself. At this time, the root node value with the minimum or maximum cost is the optimal value of the root node. In this process, the nodes in the cluster ensure that all nodes obtain the complete utility matrix through the cluster head node, so that they can determine their own values ​​according to the value information transmitted by the ancestor node. When all nodes determine the final value, the algorithm terminates.

[0133] Embodiment 4

[0134] This embodiment provides a multi-platform missile coordinated route planning method, which is applied to the problem of multi-platform missile coordinated route planning, and mainly includes the following steps:

[0135] First, the multi-platform missile collaborative route planning problem is transformed into a DCOP model, which includes the following elements:

[0136] Variables and their values: Each missile is regarded as a variable m k , each variable m k For an agent with known performance indicators, each variable m k The value is composed of the coordinate nodes that make up the feasible route.

[0137] Domain: variable m k The domain D k It is the set of all feasible routes for the missile to reach its destination.

[0138] Constraints:

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

[0140] Route safety constraints: In order to ensure the safety of missiles during flight, the routes between missiles cannot have any intersections except the end points.

[0141] The route objective function is established with the goal of minimizing the time difference between missiles and minimizing the threat cost of crossing the threat area, and the weight between the two is balanced by the weight coefficient q.

[0142] Specifically, the cost J of the i-th edge on the route i The cost of radar threat rthreat,i , Missile Threat CostJ mthreat,i and fuel cost mfuel,i sum:

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

[0144] Then the missile m k The cost of a complete route k for:

[0145]

[0146] Where I is the set of all edges that make up the route, and the radar threat cost J rthreat,i , Missile Threat CostJ mthreat,i and fuel cost mfuel,i It can be calculated using existing methods.

[0147] The total cost of the multi-missile coordinated route J is the cost of each missile route plus the time difference J time Cost. Time difference J time Cost and the latest time t at which the missile reaches the target max and the earliest time t min The difference is proportional to time =g(t max -t min ), where g(·) is the linear time difference cost function. That is, the route objective function is:

[0148]

[0149] Wherein, K is the number of missiles launched by multiple platforms, k∈K, q∈(0,1) is the weight coefficient, and in this embodiment, it is preferred but not limited to set q=0.5, indicating that missiles are equally important in terms of coordinated strike real-time and threat avoidance.

[0150] After the DCOP model is built, the complete iterative reasoning algorithm described in Example 3 is used for route planning, and finally the route of each missile is 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 shown.

[0151] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0152] Although the embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the claims and their equivalents.

Claims

1. A DFS pseudo-tree communication method for a multi-agent system, characterized in that: The following steps are involved: 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 multi-agent initializes local data, and the root node triggers the 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 until the search is completed and the root node is terminated.

2. The multi-agent system DFS pseudo-tree communication method according to claim 1, characterized in that: The steps to determine the optimal 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 respective 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 optimal cut point.

3. The multi-agent system DFS pseudo-tree communication method according to claim 2, characterized in that: When node x receives a STARTCV message from node y, it performs the following operations: Initialize context data, including blocking node set 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 cut point information are sent to the parent node, triggering the bottom-up cut point calculation process; When node x receives a CUTVERTEX message from node y, it performs the following operations: 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 received subtree's highest ancestor level; 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 judging 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, calculating its cut point value, and adding the cut point information to the cut point information set; Calculate the highest ancestor level and try to calculate the cutpoint values ​​for the cutpoints that have 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 the cut point information is counted and the optimal cut point is selected.

4. The multi-agent system DFS pseudo-tree communication method according to claim 2 or 3, characterized in that: 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 segmented by the cut point, ∑CP i is the sum of the sizes of all subgraphs.

5. The multi-agent system DFS pseudo-tree communication method according to claim 1, characterized in that: Method for determining the best neighbor node: A heuristic function is constructed to calculate the number of neighbor nodes that have not yet become part of the pseudo-tree, and the neighbor nodes with the largest influence range are preferentially selected as the best neighbor points.

6. The multi-agent system DFS pseudo-tree communication method according to claim 1, characterized in that: 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 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 trace back 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 the ACK message sent by node y, it indicates that node x is the 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 to trace back to the parent node and the current node is stopped. 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 searching; 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.

7. A DFS pseudo-tree communication structure for a multi-agent system, characterized in that: include: 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; A child node, wherein the child node has a best cut point or is included by a best neighbor node; The root node triggers the search. 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.

8. A complete iterative reasoning algorithm based on the DFS pseudo-tree communication structure of the multi-agent system according to claim 7, characterized in that: a) Marking stage: The area with 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 stage: After receiving the utility matrices of all child nodes, each ordinary node combines the local utility matrix with the utility matrix of the child nodes, performs elimination operations, and passes the results to the parent node. For nodes in 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, and finally passing the complete utility matrix to the parent node. c) Value propagation phase: When 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 passes the value downward to the child nodes. When all nodes have determined the final value, the algorithm terminates.

9. 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 regarded 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 preset 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; The objective function of the route is established with the goal of minimizing the time difference between missiles and minimizing the threat cost of crossing the threat area; Route planning is performed using the complete iterative reasoning algorithm described in claim 8.

10. The multi-platform missile coordinated route planning method according to claim 9, characterized in that: The route objective function is: Among them, 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 For radar threat cost, J mthreat,i For the cost of missile threats, J mfuel,i For fuel cost; 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 is 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.

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