IP Library Patent Application 18872327
Patent Application
App. No. 18/872,327

AUTOMATED DISCOVERY OF AGENTS IN SYSTEMS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
18/872,327
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for identifying agents in a system. According to one aspect, a method comprises: generating data defining a causal model of the system, comprising transmitting instructions to cause a plurality of interventions to be applied to the system, wherein each intervention modifies one or more variable elements in the system; processing the model of the system to identify one or more of the variable elements in the system as being decision elements, wherein each decision element represents an action selected by a respective agent in the system; and identifying one or more agents in the system based on the decision elements; and outputting data that identifies the agents in the system.

Claims (78)

1 . A method performed by one or more computers, the method comprising:

receiving a request to identify one or more agents in a system, wherein each agent is an entity that interacts with the system by performing actions that are selected in accordance with an action selection policy; and

in response to the receiving the request:

generating data defining a model of the system, comprising:

generating data defining a set of nodes, wherein each node represents a respective variable element of the system; and

generating data defining a set of edges, wherein each edge represents a relationship between a respective pair of variable elements of the system, and wherein generating the set of edges comprises:

transmitting instructions to cause a plurality of interventions to be applied to the system, wherein each intervention modifies one or more variable elements in the system; and

obtaining response data that defines a respective response of the system to each of the plurality of interventions that are applied to the system; and

processing the response data to generate the set of edges; and

processing the model of the system to identify one or more of the variable elements in the system as being decision elements, wherein each decision element represents an action selected by a respective agent in the system;

identifying one or more agents in the system based on the decision elements; and

outputting data that identifies the agents in the system.

2 . The method of claim 1 , wherein the plurality of interventions comprise a set of interventions corresponding to a pair of nodes comprising a first node and a second node; and

wherein processing the response data to generate the set of edges comprises:

determining whether the pair of nodes is connected by an edge based on the response data for set of interventions corresponding to the pair of nodes.

3 . The method of claim 2 , wherein the set of interventions corresponding to the pair of nodes comprising the first node and the second node comprises a plurality of interventions that differ only in the modification applied to the variable element represented by the first node.

4 . The method of claim 3 , wherein determining whether the pair of nodes is connected by an edge based on the response data for the set of interventions corresponding to the pair of nodes comprises:

determining that a response of the second node is not constant over the set of interventions corresponding to the pair of nodes; and

in response, determining that an edge connects the first node to the second node.

5 . The method of claim 1 , wherein the set of nodes comprises: (i) a plurality of nodes designated as object-level nodes, and (ii) a plurality of nodes designated as first mechanism nodes, wherein each first mechanism node corresponds to a respective object-level node and represents a model for a behavior of the variable element represented by the object-level node.

6 . The method of claim 5 , wherein processing the model of the system to identify one or more of the variable elements in the system as being decision elements comprises, for one or more object-level nodes:

determining that the mechanism node corresponding to the object-level node receives an incoming edge from a different mechanism node; and

in response, identifying the variable element represented by the object-level node as being a decision element.

7 . The method of claim 5 , wherein the set of nodes further comprises: (iii) a plurality of nodes designated as second mechanism nodes, wherein each second mechanism node corresponds to a decision rule node representing the action selection policy of one of the agents, and wherein one or more of the second mechanism nodes receives an incoming edge from one or more of the first mechanism nodes.

8 . The method of claim 5 , further comprising modifying at least one variable element represented by an object-level node with one of the interventions.

9 . The method of claim 5 , further comprising:

processing the model of the system to identify one or more of the variable elements in the system as being utility elements, wherein each utility element represents an element that is an optimization target for one or more agents in the system.

10 . The method of claim 9 , wherein processing the model of the system to identify one or more of the variable elements in the system as being utility elements comprises:

identifying each of one or more edges in the set of edges as being terminal edges; and

for each of one or more object-level nodes:

determining that the model of the system includes an outgoing terminal edge from the mechanism node for the object-level node to the mechanism node for a different object-level node that represents a decision element; and

in response, identifying the variable element represented by the object-level node as being a utility element.

11 . The method of claim 10 , wherein identifying each of one or more edges in the set of edges as being terminal edges comprises, for each edge that is identified as being a terminal edge:

determining that the edge connects a first mechanism node to a second mechanism node; and

transmitting instructions to cause a plurality of interventions to be applied to the system, wherein each of the plurality of interventions differ only in the modification applied to the variable element represented by the object-level node corresponding to the second mechanism node.

12 . The method of claim 10 , further comprising, for each decision element in the system, identifying a corresponding utility element that is an optimization target for the decision element.

13 . The method of claim 12 , wherein for each decision element, identifying the corresponding utility element that is an optimization target for the decision element comprises:

identifying, as the corresponding utility element, an element that is represented by an object-level node having a corresponding mechanism node that is connected to the mechanism node for the decision element by a terminal edge.

14 . The method of claim 1 , wherein identifying one or more agents in the system based on the decision elements comprises:

determining that the system includes a respective agent corresponding to each decision element, wherein the agent corresponding to a decision element selects the action represented by the decision element.

15 . The method of claim 1 , wherein for each of the plurality of interventions that are applied to the system, obtaining response data that defines a respective response of the system to the intervention comprises:

obtaining a respective value of each variable element of the system after the system is modified in accordance with the intervention applied to the system.

16 . The method of claim 1 , wherein the system is a computer-implemented simulation of a real-world system.

17 . The method of claim 16 , wherein the real-world system comprises an electrical system.

18 . (canceled)

19 . (canceled)

20 . The method of claim 1 , wherein the system is a software system.

21 . (canceled)

22 . (canceled)

23 . (canceled)

24 . (canceled)

25 . (canceled)

26 . A system comprising:

one or more computers; and

one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving a request to identify one or more agents in a system, wherein each agent is an entity that interacts with the system by performing actions that are selected in accordance with an action selection policy; and

in response to the receiving the request:

generating data defining a model of the system, comprising:

generating data defining a set of nodes, wherein each node represents a respective variable element of the system; and

generating data defining a set of edges, wherein each edge represents a relationship between a respective pair of variable elements of the system, and wherein generating the set of edges comprises:

transmitting instructions to cause a plurality of interventions to be applied to the system, wherein each intervention modifies one or more variable elements in the system; and

obtaining response data that defines a respective response of the system to each of the plurality of interventions that are applied to the system; and

processing the response data to generate the set of edges; and

processing the model of the system to identify one or more of the variable elements in the system as being decision elements, wherein each decision element represents an action selected by a respective agent in the system;

identifying one or more agents in the system based on the decision elements; and

outputting data that identifies the agents in the system.

27 . One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving a request to identify one or more agents in a system, wherein each agent is an entity that interacts with the system by performing actions that are selected in accordance with an action selection policy; and

in response to the receiving the request:

generating data defining a model of the system, comprising:

generating data defining a set of nodes, wherein each node represents a respective variable element of the system; and

generating data defining a set of edges, wherein each edge represents a relationship between a respective pair of variable elements of the system, and wherein generating the set of edges comprises:

transmitting instructions to cause a plurality of interventions to be applied to the system, wherein each intervention modifies one or more variable elements in the system; and

obtaining response data that defines a respective response of the system to each of the plurality of interventions that are applied to the system; and

processing the response data to generate the set of edges; and

processing the model of the system to identify one or more of the variable elements in the system as being decision elements, wherein each decision element represents an action selected by a respective agent in the system;

identifying one or more agents in the system based on the decision elements; and

outputting data that identifies the agents in the system.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2025
From: JEBREEL, ZACHARY ALEX KENTON; KUMAR, RAMANA; RICHENS, JONATHAN GEORGE; EVERITT, TOM ÅKE HELMER; FARQUHAR, AIKEN SEBASTIAN; MACDERMOTT, MATTHEW JOSEPH TILLEY
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 072000/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071498/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2025
From: JEBREEL, ZACHARY ALEX KENTON; KUMAR, RAMANA; RICHENS, JONATHAN GEORGE; EVERITT, TOM ÅKE HELMER; FARQUHAR, AIKEN SEBASTIAN; MACDERMOTT, MATTHEW JOSEPH TILLEY
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 071121/0198 →