Method and apparatus for clustering nodes of multi-agent intelligent network
The method and apparatus facilitate decentralized collaboration in multi-agent networks by using task information and response messages to optimize data exchange, addressing inefficiencies and privacy concerns, thereby enhancing network performance and reducing communication overhead.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-10-18
- Publication Date
- 2026-04-23
AI Technical Summary
Conventional communication systems face inefficiencies and privacy constraints in multi-agent intelligent networks due to the need for centralized data sharing and bandwidth limitations, making it difficult for nodes to collaborate effectively.
A method and apparatus for clustering nodes in a multi-agent intelligent network that enables decentralized, privacy-preserving collaboration through task information messages, response messages, and memory states, utilizing distributed linear attention and adaptive clustering techniques to optimize information exchange.
Enhances the efficiency and performance of multi-agent networks by allowing nodes to identify and collaborate with relevant nodes, reducing unnecessary data transmission, and maintaining data privacy, while ensuring accurate and timely information propagation.
Smart Images

Figure EP2024079446_23042026_PF_FP_ABST
Abstract
Description
[0001] METHOD AND APPARATUS FOR CLUSTERING NODES OF MULTI-AGENT INTELLIGENT NETWORK
[0002] TECHNICAL FIELD
[0003] The present disclosure relates generally to the field of wireless communication network management and, more specifically, to a method for clustering nodes of a multi-agent intelligent network. Furthermore, the present disclosure relates more specifically to an apparatus to be used in the multi-agent intelligent network.
[0004] BACKGROUND
[0005] In rapidly advancing domain of communication systems, upcoming future communication systems are anticipated to heavily rely on cooperation of distributed agents that are used to combine processing compatibility of each of the intelligent agents and produce results. Moreover, each of the distributed agents are used to jointly process multimodal data (e.g., images, videos or sensing data collected by each of the distributed agent) to adapt changing environments, solve various complex tasks, and share obtained data with other distributed agents, such as by distributing all relevant data (i.e., tokens) across the distributed agents. However, such operation poses significant technical challenges that include inefficient performance of the distributed agents when sharing relevant input information with each other, as none of the agents are informed in advance if the data received is useful or not. Additionally, the standard approach of exchanging all input data among all the distributed agents for joint evaluation is often infeasible due to communication bandwidth limitations and privacy constraints.
[0006] Conventional communication systems, such as conventional self-attention mechanism cannot be computed in a distributed manner and require all the relevant data (i.e., the tokens) to be transmitted to a central server for joint computation. On the other hand, the transmission of the relevant data from each of the distributed agents to the central server is not feasible due to limitations of communication bandwidth and privacy constraints. Moreover, certain attempts have been made to overcome the communication bandwidth and privacy constraints, such as by using self-attention of a transformer, ring attention, retentive networks, message passing neural networks, and the like. However, such attempts fail due to many reasons, such as unavailability of the relevant data at a single place, complex computational cost, restrictive data flow, and the like. Therefore, there exists a technical problem of how to allow each node to discover a group of other nodes to collaborate with and share local knowledge as the mutual usefulness of the input of the agent data is not known. Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned drawbacks associated with the conventional methods and conventional apparatuses for clustering nodes of the multi-agent intelligent network.
[0007] SUMMARY
[0008] The present disclosure provides a method for clustering nodes of a multi-agent intelligent network and an apparatus to be used in the multi-agent intelligent network. The present disclosure provides a solution to the existing problem of how to allow each node to discover a group of other nodes to collaborate with and share local knowledge as the mutual usefulness of the input of the agent data is not known. An objective of the present disclosure is to provide a solution that overcomes at least partially the problems encountered in the prior art and provides the method for clustering the nodes of the multi-agent intelligent network and the apparatus to be used in the multi-agent intelligent network, such as for clustering devices based on linear attention.
[0009] One or more objectives of the present disclosure are achieved by the solutions provided in the enclosed independent claims. Advantageous implementations of the present disclosure are further defined in the dependent claims.
[0010] In one aspect, the present disclosure provides a method for clustering nodes of a multi-agent intelligent network. Moreover, a node of the network is arranged to receive input tokens and to process the input tokens to obtain an output of the node related to a task. The method further comprises sending a task information message to one or more nodes connected to that node and the task information message comprises a task id of an origin node providing an identifier for an original task, an input token and a counter for the original local memory state. Moreover, the input token includes an original local memory state resulting from the original task, and receiving a response message from the one or more nodes connected to that node. The response message comprises an acknowledgement or a non-acknowledgement indicating whether the original local memory state was useful or not to the node for obtaining the output, and for the response message received and including an acknowledgement and adding a pair comprising an identifier of the origin node and an identifier of the node from which the response message was received to a node cluster table.
[0011] Advantageously, the method is used to enhance the efficiency and performance of multi-agent network by enabling decentralized, privacy-preserving collaboration without the need for centralized control or raw data sharing by utilizing task information messages, response messages, and the memory states, which allows the nodes to identify and collaborate with the one or more nodes. Moreover, the distributed linear attention, local and combined memory states, along with an adaptive clustering techniques are used to optimize information exchange and reduce unnecessary data transmission. In addition, the memory state that is useful indicates that the input data of the origin node is also useful, which is beneficial in future collaboration and knowledge sharing between the origin node and the receiving node. Further, by employing learned matrices, and positional embeddings, the method is used to handle various types of sequential data efficiently for assessing data relevance and freshness, such as counters, decay factors, and rotational factors, ensuring that only valuable and timely information is propagated through the multi-agent intelligent network. As a result, the method is used to provide a scalable, robust, and adaptive clustering of nodes with enhanced accuracy and reduced computational cost and communication overhead in complex, distributed multi-agent environments.
[0012] In another aspect, the present disclosure provides an apparatus configured to be used in a multi-agent intelligent network. Moreover, a node is arranged to receive input tokens and to process the input tokens to obtain an output of the node related to a task and the apparatus is configured to send a task information message to one or more nodes connected to the node. Moreover, the task information message comprises a task id of an origin node providing an identifier for an original task, an input token and a counter for the original local memory state and the input token includes an original local memory state resulting from the original task, and to receive a response message from the one or more nodes connected to that node. Furthermore, the response message comprises an acknowledgement or a non-acknowledgement indicating whether the original local memory state was useful or not to the node for obtaining the output, and for each the response message received and including an acknowledgement, add a pair comprising an identifier of the origin node and an identifier of the node from which the response message was received to a node cluster table.
[0013] The apparatus achieves all the advantages and technical effects of the method of the present disclosure.
[0014] It is to be appreciated that all the aforementioned implementation forms can be combined.
[0015] It has to be noted that all devices, elements, circuitry, units, and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application, as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity that performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements or any kind of combination thereof. It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims. Additional aspects, advantages, features, and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative implementations construed in conjunction with the appended claims that follow.
[0016] BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The summary above, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale. Wherever possible, like elements have been indicated by identical numbers.
[0018] Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:
[0019] FIG. 1 is a block diagram that illustrates a multi-agent intelligent network providing distributed attention, in accordance with an embodiment of the present disclosure;
[0020] FIG. 2 is a flowchart of a method for a node of a multi-agent intelligent network, in accordance with an embodiment of the present disclosure;
[0021] FIG. 3 is a diagram that depicts an apparatus configured to be used in a multi-agent intelligent network, in accordance with an embodiment of the present disclosure;
[0022] FIG. 4 is a diagram that illustrates an exemplary scenario for clustering of nodes in the multi-agent intelligent network, in accordance with an embodiment of the present disclosure;
[0023] FIG. 5A, 5B, and 5C collectively are diagrams that illustrate an exemplary scenario for multi-round message exchanges between the nodes, in accordance with an embodiment of the present disclosure; and
[0024] FIG. 6 is a diagram that illustrates an exemplary scenario for evaluating usefulness of the received state, in accordance with an embodiment of the present disclosure.
[0025] In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.
[0026] DETAILED DESCRIPTION OF EMBODIMENTS
[0027] The following detailed description illustrates embodiments of the present disclosure and ways in which they can be implemented. Although some modes of carrying out the present disclosure have been disclosed, those skilled in the art would recognize that other embodiments for carrying out or practicing the present disclosure are also possible.
[0028] FIG. 1 is a block diagram that illustrates a multi-agent intelligent network providing distributed attention, in accordance with an embodiment of the present disclosure. With reference to FIG. 1 , there is shown a decentralized mesh network of independent agents, such as a first node 102A, a second node 102B, a third node 102C, a fourth node 102D, and a fifth node 102E.
[0029] There is provided the multi-agent intelligent network 100 provides distributed attention by allowing multiple agents to independently process and focus on different parts of their local data while communicating and collaborating with each other in order to enhance the efficiency, robustness, and data privacy while handling complex and large-scale operations in a decentralized and efficient manner with reduced communication overhead. Each agent (e.g., the first node 102A, the second node 102B, the third node 102C, the fourth node 102D, and the fifth node 102E) in the wireless network includes multi-head network model configured to receive local input data (i.e., a sequence of input tokens) and further provide output data, which is a sequence of output tokens translated into a response that is further utilized for computing the distributed attention. Moreover, each of the multi-head network model includes at least one linear attention layer, which may be multi-layer and multi-head.
[0030] In operation, each of the node in the multi-agent intelligent network 100 receives its own set of local input embeddings that represent the information about the local data input of the agent. The nodes, such as the first node 102A, the second node 102B, the third node 102C, the fourth node 102D, and the fifth node 102E applies positional embedding to its local input embeddings to provide information about the position of each input element, allowing for accurate and context-aware predictions. Furthermore, the nodes are configured to process their local data independently, determining sets of keys, values, and queries using learned matrices in order to compute local memory states based on these processed inputs. Thereafter, the nodes are configured to share these processed memory states with other nodes in the multi-head intelligent network 100. Upon receiving the memory states from other nodes, each of the node evaluates the usefulness of the received information using its linear attention mechanism. If the received memory state is deemed useful, the corresponding node is configured to incorporate the received memory state into its combined memory state that allows for collaborative problem-solving and knowledge sharing without the need to exchange raw data, thereby maintaining privacy and reducing communication overhead. Moreover, the mesh structure of the network, as depicted in FIG. 1 , allows for flexible and dynamic communication patterns between the nodes. Each of the node is configured to connect and share information with any other agent in the multi-head intelligent network 100, enabling efficient information flow and adaptive collaboration based on the relevance and usefulness of data. Therefore, such decentralized, mesh-based architecture supports scalable and flexible accommodation of new agents without requiring changes to the existing network structure, enabling seamless expansion and integration of additional nodes as per the requirement.
[0031] FIG. 2 is a flowchart of a method for a node of a multi-agent intelligent network, in accordance with an embodiment of the present disclosure. With reference to FIG. 2, there is shown a flowchart of method 200 that includes steps 202 to 204.
[0032] There is provided the method 200 for clustering nodes of the multi-agent intelligent network 100 and a node of the multi-agent intelligent network 100 is arranged to receive input tokens and to process the input tokens to obtain an output of the node related to a task. The method 200 is used to enhance the efficiency and performance of the multi-agent intelligent network 100 by enabling nodes to identify and collaborate with other relevant nodes without the need for centralized control or raw data sharing.
[0033] At step 202, the method 200 includes sending a task information message to one or more nodes connected to that node. In an implementation, the node is configured to generate the task information message that includes information, such as ID, specific task ID, and any relevant metadata or requirements associated with the task. Thereafter, the node is configured to send the generated task information to the one or more nodes that are connected with the node. Moreover, the one or more connected nodes include direct nodes that have been identified as potentially relevant based on previous data exchanges. Moreover, the task information message includes a task id of an origin node providing an identifier for an original task, an input token and a counter for the original local memory state. Additionally, the input token includes an original local memory state resulting from the original task. In a implementation, the task ID of the origin node provides an identifier for the task being executed by the origin node, allowing other nodes to understand the specific task context while the input token includes the original local memory state that is generated by processing the task at the origin node. Moreover, the memory state encapsulates the processed data that may be useful to the one or more nodes. In another implementation, the counter for the original local memory state is configured to track the relevance and freshness of the original memory state, helping receiving nodes assess the timeliness of the data. As a result, the method 200 is used to allow the node to communicate specific task requirement and share relevant information with the one or more connected nodes for facilitating effective collaboration and clustering within the multi-agent intelligent network 100. Furthermore, at step 204, the method 200 includes receiving a response message from the one or more nodes connected to that node. By receiving the response messages from the one or more nodes that are connected to the node allows the node to ensure an accurate, efficient, and targeted future communications within the multi-agent intelligent network 100. As a result, the method 200 is used to enhance the overall interactions between the one or more nodes based on real-time feedback, thereby reducing unnecessary data exchanges.
[0034] In accordance with an embodiment, the response message further comprises an identifier of that node, and a counter for the original memory state of the origin node. In an implementation, the identifier provides valuable context for the originating node that helps the originating node track which specific node has responded, facilitating an improved management of interactions and collaborations within the multi-agent intelligent network 100. Moreover, the counter for the original memory state of the origin node is configured to indicate the current relevance or freshness of the memory state, which is being evaluated. As a result, the identifier of that node and the counter for the original memory state of the origin node is further utilized for assessing the timeliness of the response message that and ensures that the origin node makes an informed decisions about interacting with the one or more nodes and which memory states to prioritize or discard thereby improving the precision and efficiency of the multi-agent intelligent network 100, leading to more relevant and effective data exchanges.
[0035] In accordance with an embodiment, the response message further includes the identifier of the origin node, the identifier of the node from which the response message was received, and the identifier of a task of the origin node. The inclusion of the identifier of the origin node allows the receiving node to associate the response message with the specific source of the memory state in order to ensure that the response is correctly matched to the data. Moreover, the identifier of the node from which the response message is received provides the information about the node that has transmitted the response message, helping the origin node. Additionally, the identifier of the task of the origin node provides a context about the specific task related to the memory state that is evaluated, which helps the receiving node to understand the relevance of the data in relation to the task thereby improving the accuracy of the evaluation process. As a result, by incorporating the identifiers into the response message, the multi-agent intelligent network 100 is configured to enhance the efficiency and effectiveness of the multi-agent intelligent network 100, leading to an informed decision-making and better alignment of tasks and data exchanges.
[0036] The response message includes an acknowledgement or a non-acknowledgement indicating whether the original local memory state was useful or not to the node for obtaining the output and for the response message received, including an acknowledgement and adding a pair comprising an identifier of the origin node and an identifier of the node from which the response message was received to a node cluster table. When the node receives the response message that includes an acknowledgment, then, in that case, the node adds a pair to the node cluster table, which includes the identifier of the origin node and the identifier of the node that sent the acknowledgment in order to enhance the clustering process by building a record of effective collaborations thereby allowing the node to recognize the one or more nodes that are aligned with the data and tasks. Moreover, such node cluster table is further utilized for optimizing future communications and data exchanges thereby ensuring that the node interacts primarily with the one or more nodes that are useful in order to reduce any unnecessary data transmissions and fostering more effective task execution across the multi-agent intelligent network 100.
[0037] In accordance with an embodiment, the method 200 further includes a scheduler clustering nodes based on the cluster table. In an implementation, the scheduler clustering nodes are further utilized to analyze the cluster table, which include pairs of node identifiers that have previously shared useful information and uses such pairs to form clusters of nodes that are mutually beneficial for each other's tasks. As a result, an efficient communication within the multi-agent intelligent network 100 is established with reduced unnecessary node interactions while allowing the node to adapt changing conditions dynamically, such as shifts in task priorities or the availability of new data that enhances the scalability and robustness of the muti-agent intelligent network 100. In accordance with an embodiment, the method 200 further includes receiving task information message(s) from at least one of the one or more nodes connected to that node, and evaluating the usefulness of received memory states using linear attention, and if the evaluation shows that the memory state was useful, then send a response message including an acknowledgement, and if not useful, then send a response message including a non-acknowledgement. In an implementation, if the evaluation shows that the memory state is useful, then, in that case, the node is configured to generate the response message and send the response message back to the node that includes the acknowledgment (ACK). In such an implementation, the acknowledgment indicates that the shared memory state has provided valuable information that can be further utilized for future communications. In another implementation, if the evaluation shows that the memory state is not useful, then, in that case, the corresponding node is configured to send the response message including the non-acknowledgment (NACK), signaling that the data was not relevant or useful. As a result, evaluating and responding to received memory states is used for maintaining efficient communication within the multi-agent intelligent network 100 and by providing immediate feedback on the usefulness of shared data, the one or more nodes are configured to refine their interactions and focus on exchanging only the most relevant information with the node. Hence, the unnecessary data traffic is reduced while the collaboration between the nodes of the multi-agent intelligent network 100 is enhanced leading to an effective and adaptive multi-agent intelligent network 100.
[0038] In accordance with an embodiment, the method 200 further includes receiving a set of local input embeddings (Xn,Xl-X3) as the input information. The node is configured to receive the set of local input embeddings as the input information to initialize the data processing at the local node level. Moreover, the set of local input embeddings, for example, a first local input embedding, a second local input embedding, and a third local input embedding, refers to a set of tokens that represents the input information about the local data input of the one or more nodes within the multi-agent intelligent network 100. As a result, the node is configured to receive the set of local input embeddings as the input information to process and interpret the local data efficiently for further computations and decision-making processes within the multi-agent intelligent network 100.
[0039] Furthermore, the method 200 includes applying positional embedding to the set of local input embeddings (Xn, X1-X3). In other words, the application of the positional embedding to the set of local input embeddings is used to encode the position of each input element in the sequence, allowing the node to distinguish between different positions. In an implementation, the node is configured to generate the positional embeddings, such as by using predefined or learned functions. Thereafter, the generated positional embeddings are added to the local input embeddings. As a result, by incorporating positional embedding, the node is configured to distinguish between different positions of the one or more nodes, thereby allowing the node to handle various types of sequential data effectively, making the multi-agent intelligent network 100 adaptable to different applications, such as text, audio, and video processing.
[0040] Furthermore, the method 200 includes determining a set of keys (Kn) by multiplying the set of local input embeddings (Xn,Xl- X3) with a learned key matrix (WK). In an implementation, the set of local input embeddings, such as the first local input embedding, the second local input embedding, and the third local input embedding, are multiplied with learned key matrix in order to obtain the set of keys, such as a first key, a second key, and a third key. Moreover, the determination of the set of keys involves transforming the set of local input embeddings by using the learned key matrix to provide the set of keys that are further utilized to compute the memory states. Moreover, by using the learned key matrix, the node is configured to provide an efficient and effective representation of the data that can be used for computing the linear attention.
[0041] Furthermore, the method 200 includes determining a set of values (Vn) by multiplying the set of local input embeddings (Xn,Xl- X3) with a learned value matrix (Wv) and a set of queries (Qn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned query matrix (WQ). In an example, the set of local input embeddings, such as the first local input embedding, the second local input embedding, and the third local input embedding are multiplied with learned value matrix in order to obtain the set of values, such as a first value, a second value, and a third value. Similarly, the set of local input embeddings, such as the first local input embedding, the second local input embedding, and the third local input embedding, are multiplied with learned query matrix to determine the set of queries that includes a first query, a second query, and a third query. The determination of the set of queries and the set of values are used to improve the efficiency, scalability, and overall performance of the node while minimizing the communication overhead within the multi-agent intelligent network 100. Moreover, the node is characterized in that the node is further configured to determine a set of local memory states based on the set of local input embeddings, a learned key matrix, and a learned value matrix. In an implementation, the set of local memory states refers to input partial tokens that are associated with each node that is derived through a series of matrix multiplications involving the input token and a set of learned matrices, such as the set of values, set of keys, and the set of queries. Moreover, the local memory states, for example, a first local memory state, a second local memory state, and a third local memory state, are configured to encapsulate the information contained in the input tokens in a manner that is suitable for further processing within the node and for sharing the same with other nodes of the multi-agent intelligent network 100. Firstly, the set of input embeddings (or tokens) are received by the node locally. Thereafter, the set of keys, the set of values, and the set of queries are determined in order to further determine the set of local memory states for each node of the multi-agent intelligent network 100, such as based on the set of local embeddings, the set of learned key matrix, the learned value matrix. The set of local memory states allows the node to perform attention distribution in order to allow information sharing within the multi-agent intelligent network 100 locally, thereby maintaining the data privacy within the multi-agent intelligent network 100. As a result, the set of local memory states is determined to provide an efficient local processing, distributed attention, data privacy, and reduced communication overhead in the multi-agent intelligent network 100.
[0042] Moreover, the method 200 further includes determining a set of local memory states (S’n) based on the set of local input embeddings (Xn, X1-X3), a learned key matrix (WK) and a learned value matrix (Wv). By using learned matrices, the node is configured to transform the raw input embeddings into a format that highlights the key features and values in order to integrate and share such information with other nodes in the multi-agent intelligent network 100. By determining the local memory states by the multiplication of the set of input embeddings with the learned key and the learned value matrices, the multi-agent intelligent network 100 is configured to ensure that each node accurately encodes and processes the local data for efficient transformation of the raw data into meaningful representations, facilitating effective distributed processing and information sharing.
[0043] Furthermore, the method 200 includes receiving one or more node memory states (S1) from at least one of the one or more other nodes, the received one or more node memory states forming a set of received node memory states (Sn). By receiving the set of node memory states from the at least one or more other nodes, the node is configured to integrate external information with the local memory state of the node in order to facilitate a distributed linear attention mechanism without sharing raw data.
[0044] Furthermore, the method 200 includes determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n). In other words, each node of the multi-agent intelligent network 100 determines the local memory states from the set of input embeddings by using learned matrices and transmits the memory states to one or more other nodes. Finally, the received memory states are integrated with the local memory states of the node to further determine the combined memory states that are used to compute the linear attention. The combined memory state is scaled and rotated, which is added to the first memory state, for example, at operation in order to obtain a combined memory state. Furthermore, the combined memory state is scaled and rotated and is further add to the second memory state to obtain a combined memory state, for example, at operation. Thereafter, the combined memory state is scaled and rotated to further add with the third memory state, for example, to obtain a combined memory state. Hence, the combined memory state includes information from the combined memory state. As a result, the set of combined node memory states is used to facilitate distributed attention in order to ensure that each node has access to a comprehensive set of node combined memory states with an efficient and effective data integration and processing with reduced communication overhead, such as by transmitting aggregated states rather than raw data. Additionally, the determination of the set of node combined memory states is used to maintain data privacy, such as by sharing the combined node memory state with an improved overall performance of the multiagent intelligent network 100.
[0045] Furthermore, the method 200 includes determining the usefulness of a received memory state based on a product of the received memory state (S1) and the query (Qk) and a product of the query and a determined combined memory states (Sn). The product of the received memory state and the query allows the node to compare both the received memory state and the combined memory states from prior exchanges, which is used to ensure that only the most relevant data is incorporated into the decisionmaking process of the node. As a result, the determination of the usefulness of the received memory state based on the product of the received memory state and the query is used to reduce the computational load by focusing only on relevant data, allowing nodes to process large amounts of information more efficiently. In addition, such determination also minimizes the communication overhead by limiting unnecessary exchanges of unhelpful data, conserving network bandwidth and improving the execution of the data transmission within the multi-agent intelligent network 100.
[0046] In accordance with an embodiment, the method 200 further includes determining that the received memory state is useful if the product of the received memory state (S1) and the query (Qk) minus the product of the query and the determined combined memory states (Sn), divided by the product of the query and the determined combined memory states (Sn) exceeds a threshold value (C). By using the threshold value, the node is configured to filter out the memory states that do not contribute to the improvement of the task performance. Moreover, such calculation is used to ensure that the node incorporates the data that adds meaningful value with reduced redundancy. As a result, the likelihood of unnecessary data processing and data transmission is reduced thereby improving the overall efficiency of the multi-agent intelligent network 100. Additionally, the performance of the multi-agent intelligent network 100 is enhanced with reduced computational and communication overhead while maintaining high task accuracy.
[0047] In accordance with an embodiment, the method 200 further includes providing the set of combined node memory states (Sn) to at least one next node and determine an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn). After combining the memory states from the local data and the data received from the one or more nodes, the corresponding node shares the set of combined memory states with other one or more connected nodes. Thereafter, the at least one next node is configured to further utilize the received combined memory states to determine the output. Therefore, by transmitting the set of combined memory states to the at least one next node, each node contributes to a comprehensive understanding of the task at hand. The next node can then determine the output based on the relevant queries and the combined memory states, thereby improving the overall decision-making capability of the multi-agent intelligent network 100 by pooling the knowledge and resources of the one or more nodes.
[0048] In accordance with an embodiment, the method 200 further includes determining if a counter for a memory state of a received task information message is below a threshold number, and if so applying a decay factor to the received memory state, updating the counter, and include in the task information message to be sent to the one or more connected nodes, and if not ignoring the received task information message. In other words, when a task information message containing a memory state is received by a node, the node first checks if the counter associated with the memory state is below the threshold or not. In an implementation, if the counter is below the threshold, then, in that case, the node is configured to apply the decay factor to the received memory state thereby ensuring that the relevance of the data is reduced over time. Moreover, the updated memory state and the counter are included in the task information message, which is then forwarded to the connected nodes. Additionally, if the counter exceeds the threshold, then, in that case, the node disregards the task information message in order to prevent the further propagation of stale data. As a result, the method 200 is used to ensure that the memory states are not shared indefinitely, reducing the propagation of outdated or irrelevant information and by applying the decay factor to the memory state allows the prioritization of the nodes thereby, ensuring that only valuable data is transmitted and processed. In accordance with an embodiment, the method 200 further comprises that node applying a rotational factor (□) when the counter for the memory state of the received task information message is below the threshold number. When the task information message is received and the memory state counter is determined to be below the threshold, the node applies a rotational factor to the memory state. This process modifies the memory state by rotating it in a defined way, which could involve adjusting the parameters of the data representation to capture different aspects of the information. After applying the rotational factor, the node updates the task information message with the modified memory state and forwards the modified memory state to the next set of connected nodes. As a result, the memory states are shared across the multi-agent intelligent network 100 in order to enhance decision-making outcomes without increasing the computational load.
[0049] In accordance with an embodiment, the method 200 further includes repeating the receiving and sending of task information messages and response messages a number of times equaling the threshold number. In an implementation, each node receives task information messages from connected nodes, evaluates the usefulness of the received memory states, and sends response messages with acknowledgements (ACK) or non-acknowledgements (NACK). After each cycle, the node is configured to update the cluster table with new pairs of node identifiers if relevant data is found. Moreover, such cycle is repeated in the number of times equaling the threshold number, as determined by the threshold number. During each round, the nodes are exposed to new memory states, leading to an accurate clustering and collaboration decisions. In an implementation, by repeating the exchange of task information and response messages for the number of times equaling the threshold, ensures that each node has multiple opportunities to share and receive relevant data from the one or more connected nodes that maximizes the chances of discovering useful memory states from other nodes and allows for more thorough collaboration across the multi-agent intelligent network 100.
[0050] In accordance with an embodiment, the multi-agent intelligent network 100 has a fixed mesh topology. In an implementation, the fixed mesh topology allows the one or more nodes to be connected to the node, forming a reliable, decentralized system for data sharing. Moreover, the fixed nature of the fixed mesh topology ensures consistent and predictable communication patterns, for managing the exchange of task information messages and coordinating tasks in distributed multi-agent environments.
[0051] Advantageously, the method 200 is used to enhance the efficiency and performance of the multi-agent intelligent network 100 by enabling decentralized, privacy-preserving collaboration without the need for centralized control or raw data sharing by utilizing task information messages, response messages, and the memory states, which allows the nodes to identify and collaborate with the one or more nodes. Moreover, the distributed linear attention, local and combined memory states, along with an adaptive clustering techniques are used to optimize information exchange and reduce unnecessary data transmission. In addition, by employing learned matrices, and positional embeddings, the method 200 is used to handle various types of sequential data efficiently for assessing data relevance and freshness, such as counters, decay factors, and rotational factors, ensuring that only valuable and timely information is propagated through the multi-agent intelligent network 100. As a result, the method 200 is used to provide a scalable, robust, and adaptive clustering of nodes with enhanced accuracy and reduced computational cost and communication overhead in complex, distributed multi-agent environments.
[0052] The steps 202 to 204 are only illustrative, and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.
[0053] There is further provided a computer program product comprising program instructions for performing the method 200 when executed by one or more processors in the multi-agent intelligent network 100. The computer program product is implemented as an algorithm, embedded in a software stored in a non-transitory computer-readable storage medium. The non-transitory computer-readable storage means may include, but are not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Examples of implementation of computer-readable storage medium, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), a computer-readable storage medium, and / or CPU cache memory.
[0054] FIG. 3 is a diagram that depicts an apparatus configured to be used in a multi-agent intelligent network, in accordance with an embodiment of the present disclosure. FIG. 3 is described in conjunction with elements from FIG. 1 to 2. With reference to FIG. 3, there is shown a diagram 300 that illustrates an exemplary scenario for an apparatus 302 that is configured to be used in the multi-agent intelligent network 100.
[0055] The apparatus 302 refers to a node, or any hardware, such as a chip, a chipset, and the like that is used to support the node for clustering the one or more nodes. Moreover, each node from the one or more nodes refers to an individual device within the multi-agent intelligent network 100 that processes local data and communicates with the one or more nodes (the first node 304A, the second node 304B, the third node 304C, up to nth node 304N, such as user equipment (UEs) and the like of the multi-agent intelligent network 100.
[0056] There is provided the apparatus 302 that is configured to be used in the multi-agent intelligent network 100. Moreover, a node is arranged to receive input tokens and to process the input tokens to obtain an output of the node related to a task. The apparatus 302 is configured to enhance the efficiency and performance of the multi-agent intelligent network 100 by enabling nodes to identify and collaborate with other relevant nodes without the need for centralized control or raw data sharing.
[0057] The apparatus 302 is configured to send a task information message to one or more nodes 304 connected to the apparatus 302. In an example, the apparatus 302 is configured to send a task information message to the first node 304A connected to the apparatus 302. In another example, the apparatus 302 is configured to send a task information message to the second node 304B connected to the apparatus 302. In an implementation, the node is configured to generate the task information message that includes information, such as ID, specific task ID, and any relevant metadata or requirements associated with the task. Thereafter, the node is configured to send the generated task information to the one or more nodes that are connected with the node. Moreover, the one or more connected nodes include direct nodes that have been identified as potentially relevant based on previous data exchanges.
[0058] Moreover, the task information message includes a task id of an origin node providing an identifier for an original task, an input token and a counter for the original local memory state. Additionally, the input token includes an original local memory state resulting from the original task. In a implementation, the task ID of the origin node provides an identifier for the task being executed by the origin node, allowing other nodes to understand the specific task context while the input token includes the original local memory state that is generated by processing the task at the origin node. Moreover, the memory state encapsulates the processed data that may be useful to the one or more nodes. In another implementation, the counter for the original local memory state is configured to track the relevance and freshness of the original memory state, helping receiving nodes assess the timeliness of the data. As a result, the apparatus 302 is used to allow the node to communicate specific task requirement and share relevant information with the one or more connected nodes for facilitating effective collaboration and clustering within the multi-agent intelligent network 100.
[0059] The apparatus 302 is configured to receive a response message from the one or more nodes 304 connected to that apparatus 302. By receiving the response messages from the one or more nodes that are connected to the node allows the node to ensure an accurate, efficient, and targeted future communications within the multi-agent intelligent network 100. As a result, the apparatus 302 is configured to enhance the overall interactions between the one or more nodes based on real-time feedback, thereby reducing unnecessary data exchanges. The response message includes an acknowledgement or a non-acknowledgement indicating whether the original local memory state was useful or not to the node for obtaining the output and for the response message received, including an acknowledgement and adding a pair comprising an identifier of the origin node and an identifier of the node from which the response message was received to a node cluster table. When the node receives the response message that includes an acknowledgment, then, in that case, the node adds a pair to the node cluster table, which includes the identifier of the origin node and the identifier of the node that sent the acknowledgment in order to enhance the clustering process by building a record of effective collaborations thereby allowing the node to recognize the one or more nodes that are aligned with the data and tasks. Moreover, such node cluster table is further utilized for optimizing future communications and data exchanges thereby ensuring that the node interacts primarily with the one or more nodes that are useful in order to reduce any unnecessary data transmissions and fostering more effective task execution across the multi-agent intelligent network 100.
[0060] In accordance with an embodiment, the apparatus 302 is further configured to receive task information message(s) from at least one of the one or more nodes 304 connected to that apparatus 302 and evaluate the usefulness of received memory states using linear attention, and if the evaluation shows that the memory state was useful, then send a response message including an acknowledgement, and if not useful, then send a response message including a non-acknowledgement. In an implementation, if the evaluation shows that the memory state is useful, then, in that case, the node is configured to generate the response message and send the response message back to the node that includes the acknowledgment (ACK). In such an implementation, the acknowledgment indicates that the shared memory state has provided valuable information that can be further utilized for future communications. In another implementation, if the evaluation shows that the memory state is not useful, then, in that case, the corresponding node is configured to send the response message including the non-acknowledgment (NACK), signalling that the data was not relevant or useful. As a result, evaluating and responding to received memory states is used for maintaining efficient communication within the multi-agent intelligent network 100 and by providing immediate feedback on the usefulness of shared data, the one or more nodes are configured to refine their interactions and focus on exchanging only the most relevant information with the node. Hence, the unnecessary data traffic is reduced while the collaboration between the nodes of the multi-agent intelligent network 100 is enhanced leading to an effective and adaptive multi-agent intelligent network 100.
[0061] In accordance with an embodiment, the apparatus 302 is configured to receive a set of local input embeddings (Xn, X1-X3) as the input information. The apparatus 302 is configured to receive the set of local input embeddings as the input information to initialize the data processing at the local node level. Moreover, the set of local input embeddings, for example, a first local input embedding, a second local input embedding, and a third local input embedding, refers to a set of tokens that represents the input information about the local data input of the one or more nodes within the multi-agent intelligent network 100. As a result, the apparatus 302 is configured to receive the set of local input embeddings as the input information to process and interpret the local data efficiently for further computations and decision-making processes within the multi-agent intelligent network 100.
[0062] Furthermore, the apparatus 302 is configured to apply positional embedding to the set of local input embeddings (Xn, X1-X3). In other words, the application of the positional embedding to the set of local input embeddings is used to encode the position of each input element in the sequence, allowing the node to distinguish between different positions. In an implementation, the node is configured to generate the positional embeddings, such as by using predefined or learned functions. Thereafter, the generated positional embeddings are added to the local input embeddings. As a result, by incorporating positional embedding, the node is configured to distinguish between different positions of the one or more nodes, thereby allowing the node to handle various types of sequential data effectively, making the multi-agent intelligent network 100 adaptable to different applications, such as text, audio, and video processing.
[0063] Furthermore, the apparatus 302 is configured to determine a set of keys (Kn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned key matrix (WK), a set of values (Vn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned value matrix (Wv), a set of queries (Qn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned query matrix (WQ). In an implementation, the set of local input embeddings, such as the first local input embedding, the second local input embedding, and the third local input embedding, are multiplied with learned key matrix in order to obtain the set of keys, such as a first key, a second key, and a third key. Moreover, the determination of the set of keys involves transforming the set of local input embeddings by using the learned key matrix to provide the set of keys that are further utilized to compute the memory states. Moreover, by using the learned key matrix, the node is configured to provide an efficient and effective representation of the data that can be used for computing the linear attention. Furthermore, in an example, the set of local input embeddings, such as the first local input embedding, the second local input embedding, and the third local input embedding are multiplied with learned value matrix in order to obtain the set of values, such as a first value, a second value, and a third value. Similarly, the set of local input embeddings, such as the first local input embedding, the second local input embedding, and the third local input embedding, are multiplied with learned query matrix to determine the set of queries that includes a first query, a second query, and a third query. The determination of the set of queries and the set of values are used to improve the efficiency, scalability, and overall performance of the node while minimizing the communication overhead within the multi-agent intelligent network 100. Moreover, the node is characterized in that the node is further configured to determine a set of local memory states based on the set of local input embeddings, a learned key matrix, and a learned value matrix. In an implementation, the set of local memory states refers to input partial tokens that are associated with each node that is derived through a series of matrix multiplications involving the input token and a set of learned matrices, such as the set of values, set of keys, and the set of queries. Moreover, the local memory states, for example, a first local memory state, a second local memory state, and a third local memory state, are configured to encapsulate the information contained in the input tokens in a manner that is suitable for further processing within the node and for sharing the same with other nodes of the multiagent intelligent network 100. Firstly, the set of input embeddings (or tokens) are received by the node locally. Thereafter, the set of keys, the set of values, and the set of queries are determined in order to further determine the set of local memory states for each node of the multi-agent intelligent network 100, such as based on the set of local embeddings, the set of learned key matrix, the learned value matrix. The set of local memory states allows the node to perform attention distribution in order to allow information sharing within the multi-agent intelligent network 100 locally, thereby maintaining the data privacy within the multi-agent intelligent network 100. As a result, the set of local memory states is determined to provide an efficient local processing, distributed attention, data privacy, and reduced communication overhead in the multi-agent intelligent network 100.
[0064] Furthermore, the apparatus 302 is configured to determine a set of local memory states (S’n) based on the set of local input embeddings (Xn, X1-X3), a learned key matrix (WK) and a learned value matrix (Wv). By using learned matrices, the node is configured to transform the raw input embeddings into a format that highlights the key features and values in order to integrate and share such information with other nodes in the multi-agent intelligent network 100. By determining the local memory states by the multiplication of the set of input embeddings with the learned key and the learned value matrices, the multi-agent intelligent network 100 is configured to ensure that each node accurately encodes and processes the local data for efficient transformation of the raw data into meaningful representations, facilitating effective distributed processing and information sharing.
[0065] Furthermore, the apparatus 302 is configured to receive one or more node memory states (Si) from at least one of the one or more other nodes the received one or more node memory states forming a set of received node memory states (Sn). By receiving the set of node memory states from the at least one or more other nodes, the node is configured to integrate external information with the local memory state of the node in order to facilitate a distributed linear attention mechanism without sharing raw data. Furthermore, the apparatus 302 is configured to determine a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n). In other words, each node of the multi-agent intelligent network 100 determines the local memory states from the set of input embeddings by using learned matrices and transmits the memory states to one or more other nodes. Finally, the received memory states are integrated with the local memory states of the node to further determine the combined memory states that are used to compute the linear attention. The combined memory state is scaled and rotated, which is added to the first memory state, for example, at operation in order to obtain a combined memory state. Furthermore, the combined memory state is scaled and rotated and is further added to the second memory state to obtain a combined memory state, for example, at operation. Thereafter, the combined memory state is scaled and rotated to further add with the third memory state, for example, to obtain a combined memory state. Hence, the combined memory state includes information from the combined memory state. As a result, the set of combined node memory states is used to facilitate distributed attention in order to ensure that each node has access to a comprehensive set of node combined memory states with an efficient and effective data integration and processing with reduced communication overhead, such as by transmitting aggregated states rather than raw data. Additionally, the determination of the set of node combined memory states is used to maintain data privacy, such as by sharing the combined node memory state with an improved overall performance of the multiagent intelligent network 100.
[0066] Furthermore, the apparatus 302 is configured to determine the usefulness of a received memory state based on a product of the received memory state (Si) and the query (Qk) and a product of the query and a determined combined memory states (Sn). The product of the received memory state and the query allows the node to compare both the received memory state and the combined memory states from prior exchanges, which is used to ensure that only the most relevant data is incorporated into the decision-making process of the node. As a result, the determination of the usefulness of the received memory state based on the product of the received memory state and the query is used to reduce the computational load by focusing only on relevant data, allowing nodes to process large amounts of information more efficiently. In addition, such determination also minimizes the communication overhead by limiting unnecessary exchanges of unhelpful data, conserving network bandwidth and improving the execution of the data transmission within the multi-agent intelligent network 100.
[0067] In accordance with an embodiment, the apparatus 302 is further configured to determine that the received memory state is useful if the product of the received memory state (Si) and the query (Qk) minus the product of the query and the determined combined memory states (Sn), divided by the product of the query and the determined combined memory states (Sn) exceeds a threshold value (C). By using the threshold value, the node is configured to filter out the memory states that do not contribute to the improvement of the task performance. Moreover, such calculation is used to ensure that the node incorporates the data that adds meaningful value with reduced redundancy. As a result, the likelihood of unnecessary data processing and data transmission is reduced thereby improving the overall efficiency of the multi-agent intelligent network 100. Additionally, the performance of the multi-agent intelligent network 100 is enhanced with reduced computational and communication overhead while maintaining high task accuracy.
[0068] In accordance with an embodiment, the apparatus 302 is further configured to provide the set of combined node memory states (Sn) to at least one next node and determine an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn). After combining the memory states from the local data and the data received from the one or more nodes, the corresponding node shares the set of combined memory states with other one or more connected nodes. Thereafter, the at least one next node is configured to further utilize the received combined memory states to determine the output. Therefore, by transmitting the set of combined memory states to the at least one next node, each node contributes to a comprehensive understanding of the task at hand. The next node can then determine the output based on the relevant queries and the combined memory states, thereby improving the overall decision-making capability of the multi-agent intelligent network 100 by pooling the knowledge and resources of the one or more nodes.
[0069] In accordance with an embodiment, the apparatus 302 is further configured to determine if a counter for a memory state of a received task information message is below a threshold number, and if so apply a decay factor to the received memory state, update the counter, and include in the task information message to be sent to the one or more connected nodes, and if not ignore the received task information message. In other words, when a task information message containing a memory state is received by a node, the node first checks if the counter associated with the memory state is below the threshold or not. In an implementation, if the counter is below the threshold, then, in that case, the node is configured to apply the decay factor to the received memory state thereby ensuring that the relevance of the data is reduced over time. Moreover, the updated memory state and the counter are included in the task information message, which is then forwarded to the connected nodes. Additionally, if the counter exceeds the threshold, then, in that case, the node disregards the task information message in order to prevent the further propagation of stale data. As a result, the apparatus 302 is configured to ensure that the memory state are not shared indefinitely, reducing the propagation of outdated or irrelevant information and by applying the decay factor to the memory state allows the prioritization of the nodes thereby, ensuring that only valuable data is transmitted and processed.
[0070] In accordance with an embodiment, the apparatus 302 is further configured to apply a rotational factor when the counter for the memory state of the received task information message is below the threshold number. When the task information message is received and the memory state counter is determined to be below the threshold, the node applies a rotational factor to the memory state. This process modifies the memory state by rotating it in a defined way, which could involve adjusting the parameters of the data representation to capture different aspects of the information. After applying the rotational factor, the node updates the task information message with the modified memory state and forwards the modified memory state to the next set of connected nodes. As a result, the memory states are shared across the multi-agent intelligent network 100 in order to enhance decision-making outcomes without increasing the computational load.
[0071] Advantageously, the apparatus 302 is used to enhance the efficiency and performance of the multi-agent intelligent network 100 by enabling decentralized, privacy-preserving collaboration without the need for centralized control or raw data sharing by utilizing task information messages, response messages, and the memory states, which allows the nodes to identify and collaborate with the one or more nodes. Moreover, the distributed linear attention, local and combined memory states, along with an adaptive clustering techniques are used to optimize information exchange and reduce unnecessary data transmission. In addition, by employing learned matrices, and positional embeddings, the apparatus 302 is used to handle various types of sequential data efficiently for assessing data relevance and freshness, such as counters, decay factors, and rotational factors, ensuring that only valuable and timely information is propagated through the multi-agent intelligent network 100. As a result, the apparatus 302 is used to provide a scalable, robust, and adaptive clustering of nodes with enhanced accuracy and reduced computational cost and communication overhead in complex, distributed multi-agent environments.
[0072] FIG. 4 is a diagram that illustrates an exemplary scenario for clustering of nodes in the multi-agent intelligent network, in accordance with an embodiment of the present disclosure. FIG. 4 is described in conjunction with elements from FIG. 1 to 3. With reference to FIG. 4, there is shown a diagram 400 that illustrates an exemplary scenario for clustering of the nodes in the multi-agent intelligent network 100.
[0073] In an implementation scenario, the first node 304A, the second node 304B, and the third node 304C utilize local data to produce memory states and exchange the memory states with the one or more nodes 304 for data usefulness evaluation. For example, the second node 304B and the third node 304C exchanges the memory states with the first node 304A. Moreover, after such data exchange, each node is configured to update the cluster table which lists all the nodes having useful data for each node. In an implementation, each node utilizes a linear attention module to process the input data (i.e., at operation 402) and obtain a memory state, initialize an empty cluster table, and sets a counter to “CTR_inif ’. Furthermore, the first node 403A is configured to share the local memory state information with neighbouring nodes, such as the second node 304B and the third node 304C. In an implementation, the first node 304A is configured to send sender’s ID (e.g., ID(sender)=ID(k)), the ID of the node producing the original memory state (e.g., ID(origin)=ID(k) ), a task id of the node producing the original memory state (e.g., the task id of agent k), a local memory state of ID(origin) (e.g., a memory state of the first node 304A), and a counter of the state of ID(origin) (e.g., CTR=CTR_init), such as at operation 406 and operation 408. In another implementation, both, the second node 304B and the third node 304C are configured to send the message that includes a sender’s ID, the ID of the node producing the original memory state (e.g., ID(origin)=ID(k)), a task id of the node producing the original memory state (e.g., the task id of agent k), ACK or NACK to the first node 304A), such as at operation 404 and operation 410. Whenever ACK is received from any of the one or more nodes, the first node 304A is configured to add a pair (i.e., ID (origin), ID(n)) to the cluster table. In addition, the first agent 304A is configured to receive the local information from the second node 304B and the third node 304C for usefulness evaluation. From the first node 304A is configured to evaluate the usefulness of each received memory state using linear attention. Moreover, if the counter of a received memory state is above the threshold, (i.e., CTR_rec(origin)=CTR_max), then, in that case, the first node 304A is configured to ignore the memory state. Alternatively, the first node 308A is configured to apply the decay coefficient to the received state and increases the counter (e.g., State_new(origin) = y State_rec(origin) and CTR_new(origin) = CTR_rec(origin) + 1). Moreover, the first node 304A is configured to send a message with ID (origin), an updated state and the counter to the second node 304B and the third node 304C. Moreover, the first node 304A is configured to send a message with ID (origin), an updated state and the counter to the second node 304B and the third node 304C. If an ACK is received from either node, the first node 304A adds a pair (ID(origin), ID(n)) to the cluster table. If the cluster table of the first node 304A has no pair (ID(origin), ID(k)), which means that the data of the origin node is useful for another node but not for itself, the first node 304A acts as a relay, forwarding the message with ACK recursively until the message reaches the origin node. The first node 304A also receives forwarded states from neighboring devices for joint evaluation. Furthermore, the first node 304A receives messages of type A with ID(origin), state, and CTR from selected neighbors, evaluates the usefulness of each received memory state using linear attention, and responds with messages of type B containing ACK / NACK. If a received state is useful, the first node 304A adds a pair (ID(origin), ID(k)) to its cluster table. As a result, the first node 304A is configured to enhance the efficiency and performance of the multiagent intelligent network 100 by enabling decentralized, privacy-preserving collaboration without the need for centralized control or raw data sharing by utilizing task information messages, response messages, and the memory states, which allows the nodes to identify and collaborate with the one or more nodes.
[0074] FIG. 5A, 5B, and 5C collectively are diagrams that illustrate an exemplary scenario for multi-round message exchanges between the nodes, in accordance with an embodiment of the present disclosure. FIGs. 5A, 5B, and 5C are described in conjunction with elements from FIG. 1 to 4. With reference to FIG. 5A, there is shown a diagram 500A that illustrates initialization of empty cluster tables and computation of local memory states.
[0075] In an implementation scenario, the FIG. 5A, 5B, and 5C represents a first node 502, a second node 504, a third node 506, a fourth node 508, and a fifth node 510. Each of the node from the one or more node is configured to determine the local state, such as a first local state 514A, a second local state 514B, a third local state 514C, a fourth local state 514D, and a fifth local state 514E through a first input 512A, a second input 512B, a third input 512C, a fourth input 512D, and a fifth input 512E respectively.
[0076] Furthermore, with reference to FIG. 5B, there is shown a diagram 500B that illustrates exchanging of the local memory state with other nodes, which is a first exchange 516 of the local memory. At operation 518, the first node 502 is configured to exchange the local memory state with the second node 504 that includes, an ID, a task, and a counter of the first node 502, which is further transferred to the third node 506, for example, at operation 520. Similarly, at operation 522, the third node 506 is configured to send the local memory state to the fourth node 508 that includes the ID, task and the counter of the third node 506 and the fourth node 508 is configured to send the local memory state to the fifth node 510. At operation 526, the second node 504 is configured to send the local memory state to the first node 502 and at operation 528, the third node 506 is configured to send the local memory state to the second node 504. Similarly, at operation 530, the fourth node 508 is configured to send the local memory state to the third node 506 and the fifth node 510 is configured to send the local memory state to the fourth node 508, such as at operation 532. Moreover, each of the node is configured to send the response message 534 to the other node from which the local memory state is received. At operation 536, the first node 502 is configured to send the response message to the second node 504 that includes acknowledgement (i.e., not acknowledged). Similarly, the second node 504 is configured to send the response message to the first node 502 that includes acknowledgement (i.e., as acknowledged), such as at operation 544. Furthermore, at operation 538, the second node 504 is configured to send the response message (i.e., as acknowledged) to the third node 506 and the third node 506 is configured to send the response message (i.e., as nonacknowledged), to the fourth node 508. Similarly, at operation 542 the fourth node 508 is configured to send the response message (i.e., as acknowledged) to the fifth node 510 and the fifth node 510 is configured to send the response message (i.e., as acknowledged) to the fourth node 508, such as at operation 550. In addition, at operation 548, the fourth node 508 is configured to send the response message (i.e., as not acknowledged) to the third node 506 and further at operation 546, the third node 506 is configured to send the response message (i.e., as acknowledged) to the second node 504. As a result, the clustering of the nodes in the multi-agent intelligent network 100.
[0077] With reference to FIG. 5C, there is shown a diagram 500C that illustrates forwarding of the local memory states with the one or more nodes within the multi-agent intelligent network 100, such as through the second exchange 552 of the locla memory state. At operation 554, the second node 504 is configured to send the local memory state to the first node 502 while at operatio 556, the second node 504 is configured to send the local memory state to the third node 506. Furthermore, the third node 506 and the first node 502 are configrued to send a response message 558 (including node ID and acknowledgement) to the second node 504, such as at operation 560 and 562. As a result, the exchange of local memory state is used to perform cluetering of the nodes more efficiently and accurately.
[0078] FIG. 6 is a diagram that illustrates an exemplary scenario for evaluating usefulness of the received state, in accordance with an embodiment of the present disclosure. FIG. 6 is described in conjunction with elements from FIG. 1 to 5C. With reference to FIG. 6, there is shown a diagram 600 that depicts the evaluation of the usefulness of the received state by the first node 502.
[0079] In an implementation scenario, the first node 502 is configured to receive the memory state (i.e., S(rec)) for usefulness evaluation. Moreover, the first node 502 includes a linear attention module with parameters, such as learned query matrix, learned key matrix, learned value matrix, decay factor, rotating factor, and the like. Firstly, the first node 502 is configured to computes queries, keys, values, and a memory' state from the local data as given in the below-mentioned equation (1 ), such as at operation 602, through input tokens 604: -
[0080] Qj= WQXJ KJ = WKXJ V j = WvXj S(j) = K Ni (1)
[0081] Thereafter, the first node 502 is configured to combine the local memory state with states received in previous rounds linearly as given in the below-mentioned equation (2): -
[0082] S= S(K) + SXe^)CTR® O S(j) (2)
[0083] Moreover, the combined memory state represents all the information that is acquired by the first node 502. In the above- mentioned equation (2), the CTR(j) is a counter of the received memory state, which considers the decaying relevance of the individual memory states from the one or more nodes. Finally, the corresponding node is configured to compute the relative information contribution of the new received state by the below mentioned equation (3): -
[0084] C=||QkS(rec)-QkS||\||QkS|| (3)
[0085] Moreover, if the contribution is larger than the threshold value, then, the new memory state (i.e., S(rec)) is added to the relevant information. Alternately, the memory state (i.e., S(rec)) is considered as not relevant. Hence, the first node 502 is configured to cluster the one or more nodes of the multi-agent intelligent network 100. Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as "including", "comprising", "incorporating", "have", "is" used to describe and claim the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural. The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or to exclude the incorporation of features from other embodiments. The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". It is appreciated that certain features of the present disclosure, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable combination or as suitable in any other described embodiment of the disclosure.
Claims
CLAIMS1. A method (200) for clustering nodes of a multi-agent intelligent network (100), wherein a node of the multi-agent intelligent network (100) is arranged to receive input tokens and to process the input tokens to obtain an output of the node related to a task, wherein the method (200) comprises sending a task information message to one or more nodes (304) connected to that node, wherein the task information message comprises a task id of an origin node providing an identifier for an original task, an input token and a counter for the original local memory state, wherein the input token includes an original local memory state resulting from the original task, and receiving a response message from the one or more nodes (304) connected to that node, wherein the response message comprises an acknowledgement or a non-acknowledgement indicating whether the original local memory state was useful or not to the node for obtaining the output, and wherein for the response message received and including an acknowledgement, and adding a pair comprising an identifier of the origin node and an identifier of the node from which the response message was received to a node cluster table.
2. The method (200) according to claim 1, wherein the method (200) further comprises a scheduler clustering nodes based on the cluster table.
3. The method (200)according to claim 1 or 2, wherein the method (200) further comprises receiving task information message(s) from at least one of the one or more nodes (304) connected to that node, and evaluating the usefulness of received memory states using linear attention, and if the evaluation shows that the memory state was useful, then send a response message including an acknowledgement, and if not useful, then send a response message including a non-acknowledgement.
4. The method (200) according to claim 3, wherein the method (200) further comprises that node receiving a set of local input embeddings (Xn,Xl-X3) as the input information, applying positional embedding to the set of local input embeddings (Xn, X1-X3), determining a set of keys (Kn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned key matrix (WK), determining a set of values (Vn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned value matrix (Wv), determining a set of queries (Qn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned query matrix (WQ), wherein the method (200) further comprises the node determining a set of local memory states (S’n) based on the set of local input embeddings (Xn, X1-X3), a learned key matrix (WK) and a learned value matrix (Wv), receiving one or more node memory states (S1) from at least one of the one or more other nodes (L, M), the received one or more node memory states forming a set of received node memory states (Sn), determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n), and determining the usefulness of a received memory state based on a product of the received memory state (S1) and the query (Qk) and a product of the query and a determined combined memory states (Sn).
5. The method (200) according to claim 4, wherein the method (200) further comprises that node determining that the received memory state is useful if the product of the received memory state (S1) and the query (Qk) minus the product of the query and the determined combined memory states (Sn), divided by the product of the query and the determined combined memory states (Sn) exceeds a threshold value (C).
6. The method (200) according to claim 5, wherein the method (200) further comprises that node providing the set of combined node memory states (Sn) to at least one next node, and determine an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn).
7. The method (200) according to any preceding claim, wherein the method (200) further comprises that node determining if a counter for a memory state of a received task information message is below a threshold number, and if so applying a decay factor to the received memory state, updating the counter and include in the task information message to be sent to the one or more connected nodes, and if not ignoring the received task information message.
8. The method (200) according to claim 7, wherein the method (200) further comprises that node applying a rotational factor (□) when the counter for the memory state of the received task information message is below the threshold number.
9. The method (200) according to any preceding claim, wherein the method (200) further comprises repeating the receiving and sending of task information messages and response messages a number of times equalling the threshold number.
10. The method (200) according to any preceding claim, wherein the information message further comprises an identifier of that node, and a counter for the original memory state of the origin node.
11. The method (200) according to any preceding claim, wherein the response message further includes the identifier of the origin node, the identifier of the node from which the response message was received, and the identifier of a task of the origin node.
12. The method (200) according to any preceding claim, wherein the multi-agent intelligent network (100) has a fixed mesh topology.
13. A computer program product comprising program instructions for performing the method (200) according to any preceding claim, when executed by one or more processors in a multi-agent intelligent network (100).
14. An apparatus (302) configured to be used in a multi-agent intelligent network (100), wherein a node is arranged to receive input tokens and to process the input tokens to obtain an output of the node related to a task, wherein the apparatus (302) is configured to send a task information message to one or more nodes (304) connected to the node, wherein the task information message comprises a task id of an origin node providing an identifier for an original task, an input token and a counter for the original local memory state, wherein the input token includes an original local memory state resulting from the original task, and to receive a response message from the one or more nodes (304) connected to that node, wherein the response message comprisesan acknowledgement or a non-acknowledgement indicating whether the original local memory state was useful or not to the node for obtaining the output, and wherein for each the response message received and including an acknowledgement, add a pair comprising an identifier of the origin node and an identifier of the node from which the response message was received to a node cluster table.
15. The apparatus (302) according to claim 14, wherein the apparatus (302) is further configured to receive task information message(s) from at least one of the one or more nodes connected to that apparatus (302), and evaluate the usefulness of received memory states using linear attention, and if the evaluation shows that the memory state was useful, then send a response message including an acknowledgement, and if not useful, then send a response message including a non-acknowledgement.
16. The apparatus (302) according to claim 14, wherein the node is further configured to receive a set of local input embeddings (Xn,Xl-X3) as the input information, apply positional embedding to the set of local input embeddings (Xn, X1-X3), determine a set of keys (Kn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned key matrix (WK), determine a set of values (Vn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned value matrix (Wv), determine a set of queries (Qn) by multiplying the set of local input embeddings (Xn,Xl-X3) with a learned query matrix (WQ), determine a set of local memory states (S’n) based on the set of local input embeddings (Xn, X1-X3), a learned key matrix (WK) and a learned value matrix (Wv), receive one or more node memory states (S1) from at least one of the one or more other nodes (L, M), the received one or more node memory states forming a set of received node memory states (Sn), determining a set of combined node memory states (Sn) based on the received set of node memory states (Sn) and the set of local memory states (S’n), and determining the usefulness of a received memory state based on a product of the received memory state (S1) and the query (Qk) and a product of the query and a determined combined memory states (Sn).
17. The apparatus (302) according to claim 16, wherein the apparatus (302) is further configured to determine that the received memory state is useful if the product of the received memory state (S1) and the query (Qk) minus the product of the query and the determined combined memory states (Sn), divided by the product of the query and the determined combined memory states (Sn) exceeds a threshold value (C).
18. The apparatus (302) according to claim 17, wherein the apparatus (302) is further configured to provide the set of combined node memory states (Sn) to at least one next node, and determine an output (On) based on the determined set of queries (Qn) and the set of combined node memory states (Sn).
19. The apparatus (302) according to claim 18, wherein the node is further configured to determine if a counter for a memory state of a received task information message is below a threshold number, and if so apply a decay factor to the received memory state, update the counter, and include in the task information message to be sent to the one or more connected nodes, and if not ignore the received task information message.
20. The apparatus (302) according to claim 19, wherein the apparatus (302) is further configured to apply a rotational factor (<|> ) when the counter for the memory state of the received task information message is below the threshold number.