DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 24 Mar 2026 has been entered.
Status of Claims
This Office Action is in response to the communication filed on 24 Mar 2026.
Claims 1-10, 16-18, 20-25, and 27 are being considered on the merits.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-2, 4-10, 16-18, 20-21, and 23-25 are rejected under 35 USC § 101 because of the following reasons:
Claims 1, 16, and 20 are rejected under 35 USC § 101:
Step 1: Claim 1 recites a system, which is one of the four statutory categories of patent-eligible subject matter.
Step 2A, Prong 1: Claim 1 recites the following elements:
generating, from the agent data, graph data specifying an input graph that comprises: (i) a plurality of nodes comprising (a) a respective agent node for each of the multiple agents and (b) one or more non-entity nodes representing one or more non-agent entities in the shared environment, wherein one or more of the non-agent entities are objects interacted with by the one or more agents (ii) one or more edges each connecting two of the plurality of nodes, and (iii) a respective node attribute for each of the agent nodes, the respective node attribute representing the action of the agent at the current time point, wherein each of the agent nodes is connected to each of the other agent nodes by an edge and wherein each of the non-agent entity nodes is connected to each of the agent nodes by an edge; (Mental process: Generating graph data is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components; nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can combine the various items i.e. agents, entities, edges, to draw a graph with labels of agents or objects and connecting edge lines).
generating augmented observation data by combining (i) state data representing observations of a state of the shared environment and (ii) a representation of the decoded node attributes and the decoded edge attributes for one or more of the agents; (Mental process: Generating augmented observation data is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components; nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can combine data and node attributes to generate augmented observation data.)
Step 2A Prong 2: This judicial exception is not integrated into practical application
A system comprising: one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising: (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
A computer-implemented method comprising: (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers perform operations comprising: (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
obtaining agent data representing actions at a current time point for each of multiple agents in a shared environment, wherein the multiple agents comprise one or more of: a robot, an autonomous vehicle; (Insignificant extra-solution activity to the judicial exception: Receiving or transmitting data over a network – See MPEP § 2106.05(g))
processing the graph data specifying the input graph using an encoder graph neural network to generate encoded graph data that comprises encoded node attributes for the plurality of nodes and edge attributes for the one or more edges; (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
processing the encoded graph data using an updating neural network to generate updated graph data comprising (i) updated node attributes that are an updated version of the encoded node attributes and (i) updated edge attributes that are an updated version of the edge attributes in the encoded graph data; (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
processing the updated graph data using a decoder graph neural network to generate decoded graph data comprising (i) decoded node attributes that are a decoded version of the updated node attributes and (ii) decoded edge attributes that are a decoded version of the updated edge attributes in the updated graph data, wherein each decoded edge attribute comprises a representation of an effect a sender node of the graph has on a receiver node; (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
processing the augmented observation data using a policy neural network to select future actions for the one or more of the agents; and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
controlling the one or more agents to cause the agents to perform the selected future actions in the shared environment, wherein the controlling comprises one or more of: (i) controlling a movement or an operation of the robot to perform the selected future action; or (ii) controlling a movement or an operation of the autonomous vehicle to perform the selected future action. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
A system for predicting actions of multiple agents in a shared environment, the system comprising: one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising: (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
A computer-implemented method comprising: (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers perform operations comprising: (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
obtaining agent data representing actions at a current time point for each of multiple agents in a shared environment, wherein the multiple agents comprise one or more of: a robot, an autonomous vehicle; (Insignificant Extra Solution Activity: Receiving or transmitting data over a network is well-understood, routine, conventional activity – see Berkheimer evidence MPEP § 2106.05(d))
processing the graph data specifying the input graph using an encoder graph neural network to generate encoded graph data that comprises encoded node attributes for the plurality of nodes and edge attributes for the one or more edges; (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
processing the encoded graph data using an updating neural network to generate updated graph data comprising an updated version of the node attributes and edge attributes of the encoded graph data; (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
processing the updated graph data using a decoder graph neural network to generate decoded graph data comprising a decoded version of the node attributes and edge attributes of the updated graph data, wherein each decoded edge attribute comprises a representation of an effect a sender node of the graph has on a receiver node; (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
processing the augmented observation data using a policy neural network to select future actions for the one or more of the agents. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
controlling the one or more agents to cause the agents to perform the selected future actions in the shared environment, wherein the controlling comprises one or more of: (i) controlling a movement or an operation of the robot to perform the selected future action; or (ii) controlling a movement or an operation of the autonomous vehicle to perform the selected future action. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claims 2 and 21 are rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claims 1 and 20 above. The same rationale applies to this dependent claim.
Step 2A Prong 2: This judicial exception is not integrated into practical application
wherein the agent data representing agent actions comprises agent position and motion data for each of multiple agents, and (Insignificant extra-solution activity to the judicial exception: Receiving or transmitting data over a network – See MPEP § 2106.05(g))
wherein the node attributes for determining the actions of each agent further include attributes for the position and motion of each agent. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
wherein the agent data representing agent actions comprises agent position and motion data for each of multiple agents, and (Insignificant Extra Solution Activity: Receiving or transmitting data over a network is well-understood, routine, conventional activity – see Berkheimer evidence MPEP § 2106.05(d))
wherein the node attributes for determining the actions of each agent further include attributes for the position and motion of each agent. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claims 4 and 23 are rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claims 1 and 20 above. The same rationale applies to this dependent claim.
wherein the operations further comprise: using one or more output neural network layers to combine the node attributes for a node in the decoded graph data to generate a predicted action of the agent represented by the node, and outputting the predicted action of the agent. (Mental process: Generating a predicted action is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting “output neural network layers”, nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can combine node attributes and make a prediction entirely in their mind or with the assistance of a pen and paper).
Step 2A Prong 2 and Step 2B: The claim does not include additional elements.
Claims 5 and 24 are rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claims 1 and 20 above. The same rationale applies to this dependent claim.
wherein the operations further comprise generating representation data comprising a representation of one or both of the node attributes and edge attributes of the decoded graph data for one or more of the agents, (Mental process: Generating representation data is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind; nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can generate data by conceptualizing entirely in their mind or with the assistance of a pen and paper).
Step 2A Prong 2: This judicial exception is not integrated into practical application
wherein the representation data defines a spatial map of data derived from the node attributes of one or more nodes representing one or more of the agents and wherein, in the spatial map, the data derived from the node attributes is represented at or adjacent a position of the respective node. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
wherein the representation data defines a spatial map of data derived from the node attributes of one or more nodes representing one or more of the agents and wherein, in the spatial map, the data derived from the node attributes is represented at or adjacent a position of the respective node. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claims 6 and 25 are rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claims 1 and 20 above. The same rationale applies to this dependent claim.
wherein the operations further comprise generating representation data comprising a representation of one or both of the node attributes and edge attributes of the decoded graph data for one or more of the agents, (Mental process: Generating representation data is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind; nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can generate data by conceptualizing entirely in their mind or with the assistance of a pen and paper).
wherein the representation of the edge attributes for an edge is determined from a combination of the edge attributes for the edge. (Mental process: Determining representation using edge attributes is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind; nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can observe edge attributes and combine them together to evaluate a representation).
Step 2A Prong 2: This judicial exception is not integrated into practical application
wherein the representation data comprises a representation of the edge attributes of the decoded graph data for the edges connecting to one or more of the nodes, and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
wherein the representation data comprises a representation of the edge attributes of the decoded graph data for the edges connecting to one or more of the nodes, and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claim 7 is rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claim 1 above. The same rationale applies to this dependent claim.
Step 2A Prong 2: This judicial exception is not integrated into practical application
wherein the representation data defines a spatial map and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
wherein, in the spatial map, the representation of the edge attributes for an edge is represented at an origin node position for the edge. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
wherein the representation data defines a spatial map and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
wherein, in the spatial map, the representation of the edge attributes for an edge is represented at an origin node position for the edge. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claim 8 is rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claim 1 above. The same rationale applies to this dependent claim.
The system of claim 1, wherein one or more of the encoder graph neural network, the updating neural network, or the decoder graph neural network is configured to: for each of the edges, process edge features using an edge neural network to determine output edge features, (Mental process: Determining output edge features is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting an “edge neural network”, nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can look at edge features and evaluate the output of the features mentally or with the assistance of pen and paper).
for each of the nodes, aggregate the output edge features for edges connecting to the node to determine aggregated edge features for the node, and (Mental process: aggregating output node features is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting a “decoder graph neural network”, nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can look at edge features and aggregate them mentally or with the assistance of pen and paper).
Step 2A Prong 2: This judicial exception is not integrated into practical application
for each of the nodes, process the aggregated edge features and node features using a node neural network to determine output node features. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
for each of the nodes, process the aggregated edge features and node features using a node neural network to determine output node features. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claim 9 is rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claim 1 above. The same rationale applies to this dependent claim.
Step 2A Prong 2: This judicial exception is not integrated into practical application
The system of claim 8, wherein processing the edge features comprises, for each edge, providing the edge features and node features for the nodes connected by the edge to the edge neural network to determine the output edge features. (Insignificant extra-solution activity to the judicial exception: Receiving or transmitting data over a network – See MPEP § 2106.05(g))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
The system of claim 8, wherein processing the edge features comprises, for each edge, providing the edge features and node features for the nodes connected by the edge to the edge neural network to determine the output edge features. (Insignificant Extra Solution Activity: Receiving or transmitting data over a network is well-understood, routine, conventional activity – see Berkheimer evidence MPEP § 2106.05(d))
Claim 10 is rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claim 1 above. The same rationale applies to this dependent claim.
Step 2A Prong 2: This judicial exception is not integrated into practical application
The system of claim 8, wherein one or more of the encoder graph neural network, the updating neural network, or the decoder graph neural network is further configured to determine a global feature vector using a global feature neural network, the global feature vector representing the output edge features and the output node features, and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
wherein a subsequent graph neural network is configured to process the global feature vector when determining the output edge features and output node features. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
The system of claim 8, wherein one or more of the encoder graph neural network, the updating neural network, or the decoder graph neural network is further configured to determine a global feature vector using a global feature neural network, the global feature vector representing the output edge features and the output node features, and (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
wherein a subsequent graph neural network is configured to process the global feature vector when determining the output edge features and output node features. (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f))
Claim 17 is rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claim 16 above. The same rationale applies to this dependent claim.
The method of claim 16, further comprising: processing the node attributes for a node of the decoded graph data to determine a predicted action of the agent represented by the node, (Mental process: Determining a predicted action is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting “a node of the decoded graph data”, nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can evaluate a node and determine a predicted action).
Step 2A Prong 2: This judicial exception is not integrated into practical application
and outputting the predicted action of the agent (Insignificant extra-solution activity to the judicial exception: Receiving or transmitting data over a network – See MPEP § 2106.05(g))
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception
and outputting the predicted action of the agent (Insignificant Extra Solution Activity: Receiving or transmitting data over a network is well-understood, routine, conventional activity – see Berkheimer evidence MPEP § 2106.05(d))
Claim 18 is rejected under 35 USC § 101:
Step 2A Prong 1: See the rejection of claim 16 above. The same rationale applies to this dependent claim.
The method of claim 16, further comprising: processing the edge attributes of an edge of the decoded graph data that connects an influencing node to an agent node to determine data representing an importance of the influencing node to the agent node. (Mental process: Processing edge attributes is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting “decoded graph data”, nothing in this claim element precludes the step from practically being performed in the mind. For example, a person can evaluate attributes of data and determine its importance).
Step 2A Prong 2 and Step 2B: The claim does not include additional elements.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 4-10, 16-18, 20-21, and 23-25 are rejected under 35 U.S.C. 103 as being unpatentable over C. I. Mavrogiannis, V. Blukis and R. A. Knepper ("Socially competent navigation planning by deep learning of multi-agent path topologies," 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 2017, pp. 6817-6824, doi: 10.1109/IROS.2017.8206601; hereinafter, “Mavrogiannis”), in view of Crabtree, et. al. (US 2024/0386015 A1; hereinafter, “Crabtree”)
Claims 1, 16 and 20:
A system comprising: one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising: (Crabtree, para. 0463: “The exemplary computing environment described herein comprises a computing device 10 (further comprising a system bus 11, one or more processors 20, a system memory 30, one or more interfaces 40, one or more non-volatile data storage devices 50), external peripherals and accessories 60, external communication devices 70, remote computing devices 80, and cloud-based services 90.”)
A computer-implemented method comprising: (Crabtree, para. 0031: “According to another preferred embodiment, a computer-implemented method executed on an advanced reasoning platform for semantic search”)
One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: (Crabtree, para. 0463: “The exemplary computing environment described herein comprises a computing device 10 (further comprising a system bus 11, one or more processors 20, a system memory 30, one or more interfaces 40, one or more non-volatile data storage devices 50), external peripherals and accessories 60, external communication devices 70, remote computing devices 80, and cloud-based services 90.”)
obtaining agent data representing actions at a current time point for each of multiple agents (Mavrogiannis, sec. IV(D): “Let us denote by Mt the context of the scene at time t∈[0,1] By context, we refer to information that is either publicly available (e.g. the map of the scene, points of interest, etc.), or directly acquirable through sensing (e.g. agents' state history)”) in a shared environment, wherein the multiple agents comprise one or more of: a robot or an autonomous vehicle (Crabtree, para. 0143 and 0166: “Each of the plurality of neural network models may be associated with a specific type of AI system (e.g., gaming, medical diagnosis, sentiment analysis, LLM, recommendation system, virtual reality, autonomous vehicle, etc.)” “Scene graph generation is a computer vision task that involves analyzing an image and generating a structured representation, known as a scene graph, that captures the objects, their attributes, and the relationships between them within the image. A scene graph is a data structure that represents the semantic content of an image in a graphical format. It consists of nodes and edges, where: nodes represent the objects or entities present in the image, such as people, animals, vehicles, or other identifiable items; edges represent the relationships or interactions between the objects, such as “person riding a bike,” “cat sitting on a chair,” or “car parked next to a building”; and attributes are additional properties associated with the objects, such as color, size, pose, or any other relevant characteristics.” Examiner notes Crabtree teaches a scene with multiple agents as well as autonomous vehicles)
generating, from the agent data, graph data specifying an input graph that comprises: (i) a plurality of nodes comprising (Crabtree, para. 0304: “ In some embodiments, ontological databases 3260 may comprise knowledge graphs which represent information as nodes and edges, capturing relationships and hierarchies. This structured format enhances the ability to perform complex queries and derive insights from the data. Integrating symbolic representations with LLMs allows for logical reasoning over the knowledge graph, supporting more sophisticated query processing and inference.”) (a) a respective agent node for each of the multiple agents and (b) one or more non-entity nodes representing one or more non-agent entities in the shared environment, wherein one or more of the non-agent entities are objects interacted with by the one or more agents (ii) one or more edges each connecting two of the plurality of nodes, and (iii) a respective node attribute for each of the agent nodes, the respective node attribute representing the action of the agent at the current time point (Mavrogiannis, sec. III(D): “The actions that agents select at each time step become part of the context, as they constitute information that may be directly acquirable by all agents through sensing”), wherein each of the agent nodes is connected to each of the other agent nodes by an edge and wherein each of the non-agent entity nodes is connected to each of the agent nodes by an edge (Crabtree, para. 0091 and 0166: “The typical knowledge graph comprises nodes representing entities, concepts, and relationships, and edges representing the connections between them. The nodes are categorized into different types, such as classes, instances, and properties, based on their semantic roles. The edges are labeled with the specific relationships they represent, such as ‘is-a’, ‘part-of’, or ‘has-property’. This structured representation allows for efficient traversal and reasoning over the property graph.” A scene graph is a data structure that represents the semantic content of an image in a graphical format. It consists of nodes and edges, where: nodes represent the objects or entities present in the image, such as people, animals, vehicles, or other identifiable items; edges represent the relationships or interactions between the objects, such as “person riding a bike,” “cat sitting on a chair,” or “car parked next to a building”; and attributes are additional properties associated with the objects, such as color, size, pose, or any other relevant characteristics.” Examiner notes Crabtree teaches nodes representing as entities i.e. agents or objects i.e. non-agents with edges connecting such nodes where Mavrogiannis teaches the state of a node at each time step i.e. a then-current time point).
processing the graph data specifying the input graph using an encoder graph neural network to generate encoded graph data that comprises encoded node attributes for the plurality of nodes and edge attributes for the one or more edges; (Mavrogiannis, sec. V(C): “For this reason, we employ a sequence to sequence encoder-decoder learning architecture. The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology. The embedding vector is then fed to a decoder RNN that outputs estimates of P(τ1|Mit,aiT),P(τ2|Mit,ait,τ1),…,P(τK|Mit,ait,τ1,…,τK−1).” )
processing the encoded graph data using an updating neural network to generate updated graph data comprising (i) updated node attributes that are an updated version of the encoded node attributes and (i) updated edge attributes that are an updated version of the edge attributes in the encoded graph data; (Mavrogiannis, sec. VI(D): “Algorithm 1 presents our algorithm for Socially Competent Navigation (SCN). The Function UpdateContext incorporates the current system state Q to the context Mt. Next, the function CollisionChecking checks the action set for collisions and returns a collision-free subset Acf⊆A,” Examiner notes that Algorithm 1 includes a loop which teaches processing of updated attributes every loop).
processing the updated graph data using a decoder graph neural network to generate decoded graph data comprising (i) decoded node attributes that are a decoded version of the updated node attributes and (ii) decoded edge attributes that are a decoded version of the updated edge attributes in the updated graph data, wherein each decoded edge attribute comprises a representation of an effect a sender node of the graph has on a receiver node; (Crabtree, para. 0166, 0204, and 0223: “Scene graph generation is a computer vision task that involves analyzing an image and generating a structured representation, known as a scene graph, that captures the objects, their attributes, and the relationships between them within the image.” “The Decoder generates the output probabilities. It has a similar structure to the Encoder, with a few additions. The Decoder takes output embeddings and processes them through a stack of layers (represented as dashed box 2220).” “The learned embeddings can be used as input features for other models, such as recurrent neural networks (RNNs) including echo state network (ESN) and graph neural network (GNN) variants or convolutional neural networks (CNNs), in tasks like text classification, sentiment analysis, or language translation” Examiner notes Crabtree teaches a graph data capturing attributes, a decoder which takes and processes embeddings and teaches an example of a graph neural network as such a model which can take embeddings for processing i.e. a decoder graph neural network)
generating augmented observation data by combining (i) state data representing observations of a state of the shared environment and (ii) a representation of the decoded node attributes and the decoded edge attributes for one or more of the agents; (Crabtree, para. 0173: “Simulations and uncertainty quantification routines to isolate the factors influencing deviation between expected and actual observations in empirical and synthetic data sets may be handled by the system, to include via DCG specified processes, to guide ongoing model and simulation training and fitness and selection routines and to guide AI agent and or human decision makers in the evaluation of data, ontology, model, simulation or process level decisions or fitness for a given situation or task.” Examiner notes Crabtree teaches simulations using observations and node attributes).
processing the augmented observation data using a policy neural network to select future actions for the one or more of the agents; and (Mavrogiannis, sec. V(B) and V(C): “ each example i is described by a feature tuple ⟨MiT,aiT⟩, where MiT is the context at time step T∈{1,…,Tmax} and aiT is the action that agent i executed at that time step, both expressed with respect to frame Fi centered at the starting position of agent i, with y-axis pointing towards its destination.” “Using the aforementioned setup…we employ a sequence to sequence encoder-decoder learning architecture. The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology. The embedding vector is then fed to a decoder RNN that outputs estimates of P(τ1|Mit,aiT),P(τ2|Mit,ait,τ1),…,P(τK|Mit,ait,τ1,…,τK−1).” Examiner notes that Mavrogiannis teaches a decoder what produces models of conditional probabilities where such models are augmentations of the observation data insofar as they are a current state + time step represented by the edges, i.e. it produces future states of the agents in the environment given the current state and trajectories.)
controlling the one or more agents to cause the agents to perform the selected future actions in the shared environment, (Mavrogiannis sec. V(B) “aiT is the action that agent i executed at that time step, both expressed with respect to frame Fi centered at the starting position of agent i, with y-axis pointing towards its destination” Examiner notes Mavrogiannis teaches an action performing an action of a set of possible actions)
wherein the controlling comprises one or more of: (i) controlling a movement or an operation of the robot to perform the selected future action; (Crabtree, para. 0317: “An example task plan for the robot may comprise the following. Running errands: robot checks the car's readiness and loads the groceries; user drives to the grocery store while the robot assists with navigation; and robot helps unload the groceries at home.” Examiner notes Crabtree teaches controlling an operation of a robot to perform actions such as loading groceries) or (ii) controlling a movement or an operation of the autonomous vehicle to perform the selected future action. (Crabtree, para. 0147: “ For example, an autonomous vehicle AI system uses a hierarchical process to handle different driving situations. At a top level, the platform decides whether to use models specialized for highway driving, city navigation, or parking. Within each specialization, further routing occurs to handle specific challenges like merging, pedestrian detection, or parallel parking.” Examiner notes Crabtree teaches controlling an operation of a vehicle to perform operations such as merging)
It would have obvious to one of ordinary skill in the art before the effective filing date of the present application to combine the teachings of Crabtree into Mavrogiannis. Mavrogiannis teaches a data-driven framework for planning socially competent robot behaviors in crowded environments; Crabtree teaches a contextual semantic search and reasoning system which integrates with an AI platform to provide advanced search capabilities by leveraging automatically generated ontologies and knowledge graphs and RAGs and knowledge graph RAGs. One of ordinary skill would have been motivated to combine the teachings of Crabtree into Mavrogiannis, as modified, in order to achieve deeper understanding, contextual decision-making, and enhanced performance across diverse applications (Crabtree, para. 0028).
Claims 2 and 21:
wherein the agent data representing agent actions comprises agent position and motion data for each of multiple agents, and (Mavrogiannis, sec. VI and VI(A): “Our goal is to enable an autonomous agent to exhibit socially competent behavior in a multi-agent setting. From our perspective, this is equivalent to selecting actions that (1) are considered as appropriate within the state of the context Mt, (2) respect the personal space and the motion plans of others and (3) contribute progress towards the planning agent's destination.” “Building on our past work [15], we encapsulate the aforementioned specifications in a cost function C:A→R, defined as [equation omitted] where E:A→R quantifies the Efficiency of an action a∈A, H:A→R quantifies the expected state of Consensus among agents over the emerging system path topology, upon executing the action in consideration, and λ is a weighting factor.”)
wherein the node attributes for determining the actions of each agent further include attributes for the position and motion of each agent (Mavrogiannis, sec. IV(D): “The actions that agents select at each time step become part of the context, as they constitute information that may be directly acquirable by all agents through sensing. Therefore, having an understanding of what collective behaviors τ may be compatible with the context Mt, may allow an agent to contribute to it by executing actions that appear to be in compliance with the emerging collective behavior. In particular, an agent that is considering executing an action from a set of actions A may be able to understand how each action a∈A may reshape the belief of any observers, by simulating this action and computing P(τ|Mt,a)”)
Claims 4 and 23:
wherein the operations further comprise: using one or more output neural network layers to combine the node attributes for a node in the decoded graph data to generate a predicted action of the agent represented by the node, and (Mavrogiannis, sec. VI(D): “Algorithm 1 presents our algorithm for Socially Competent Navigation (SCN). The Function UpdateContext incorporates the current system state Q to the context Mt. Next, the function CollisionChecking checks the action set for collisions and returns a collision-free subset Acf⊆A, Subsequently, the function GetTopologies derives a set of likely topologies T, Then, the function ScoreTopologies evaluates every topology in T given each action a∈Acf and the context Mt by using our learned model P(τ|Mt,a) and returns a corresponding matrix of probabilities P. Finally, the function MinimizeUtilityCost evaluates all actions in Acf with respect to the utility cost C and returns the action a∗ that both contributes the best compromise between progress to destination and communication of compliance with the most likely system path topology at the given time. The algorithm runs until the agent reaches its destination, i.e., until the boolean variable AtGoal becomes 1.”)
Claims 5 and 24:
wherein the operations further comprise generating representation data comprising a representation of one or both of the node attributes and edge attributes of the decoded graph data for one or more of the agents, (Mavrogiannis, sec. IV(B) and Fig. 7: “In a scene with n agents, infinitely many, arbitrarily complex braids could be mathematically possible. However not all of them are likely to emerge. For computational and practical reasons, the planning agent concludes to a set T⊂Bn of likely topologies. To do so, the agent maintains a graph, called permutohedron, comprising nodes-permutations and edges-elementary braids (see Fig. 7). At planning time, the agent determines the permutation with respect to the x-axis of its body frame that corresponds to the current system state Q and derives the set of all possible future braids words of a given length.”)
wherein the representation data defines a spatial map of data derived from the node attributes of one or more nodes representing one or more of the agents and wherein, in the spatial map, the data derived from the node attributes is represented at or adjacent a position of the respective node (Mavrogiannis, sec. IV(D): “Let us denote by Mt the context of the scene at time t∈[0,1] By context, we refer to information that is either publicly available (e.g. the map of the scene, points of interest, etc.), or directly acquirable through sensing (e.g. agents' state history) or indirectly acquirable through processing (e.g. agents' current arrangement p∈Perm(N), inference about agents' destinations, their corresponding final ordering pm, agents' groupings, etc.) during the time frame [0,t]. Assuming that by time t∈[0,1], a sequence of k events τ1,…,τk have already occurred, a model of the form P(τk+1,…,τK|Mt) describes the probability of a future system path topology τ=τk+1…τK∈Bn given the context Mt.”)
Claims 6 and 25:
wherein the operations further comprise generating representation data comprising a representation of one or both of the node attributes and edge attributes of the decoded graph data for one or more of the agents, (Mavrogiannis, sec. IV(B) and Fig. 7: “In a scene with n agents, infinitely many, arbitrarily complex braids could be mathematically possible. However not all of them are likely to emerge. For computational and practical reasons, the planning agent concludes to a set T⊂Bn of likely topologies. To do so, the agent maintains a graph, called permutohedron, comprising nodes-permutations and edges-elementary braids (see Fig. 7). At planning time, the agent determines the permutation with respect to the x-axis of its body frame that corresponds to the current system state Q and derives the set of all possible future braids words of a given length.”)
wherein the representation data comprises a representation of the edge attributes of the decoded graph data for the edges connecting to one or more of the nodes, and wherein the representation of the edge attributes for an edge is determined from a combination of the edge attributes for the edge. (Mavrogiannis, sec. VI(D): “Next, the function CollisionChecking checks the action set for collisions and returns a collision-free subset Acf⊆A, Subsequently, the function GetTopologies derives a set of likely topologies T, Then, the function ScoreTopologies evaluates every topology in T given each action a∈Acf and the context Mt by using our learned model P(τ|Mt,a) and returns a corresponding matrix of probabilities P. Finally, the function MinimizeUtilityCost evaluates all actions in Acf with respect to the utility cost C and returns the action a∗ that both contributes the best compromise between progress to destination and communication of compliance with the most likely system path topology at the given time.” Examiner notes that Mavrogiannis teaches edge data as from edge attributes entirely and then combination of edge data wherein all edges are combined into a set and filtered for collision such that the remaining non-colliding edges are left).
Claims 7:
wherein the representation data defines a spatial map and wherein, in the spatial map, the representation of the edge attributes for an edge is represented at an origin node position for the edge. (Mavrogiannis, sec. IV and IV(D): “A set of agents N={1,2,…,n} navigate a workspace Q⊆R2. The state of agent i∈N is given by qi∈Q. Agent i starts from an initial position qsi∈Q and moves towards a destination qdi that lies in a destination region Di⊂Q. “ “Let us denote by Mt the context of the scene at time t∈[0,1] By context, we refer to information that is either publicly available (e.g. the map of the scene, points of interest, etc.), or directly acquirable through sensing (e.g. agents' state history) or indirectly acquirable through processing (e.g. agents' current arrangement p∈Perm(N), inference about agents' destinations, their corresponding final ordering pm, agents' groupings, etc.) during the time frame [0,t]. Assuming that by time t∈[0,1], a sequence of k events τ1,…,τk have already occurred, a model of the form P(τk+1,…,τK|Mt) describes the probability of a future system path topology τ=τk+1…τK∈Bn given the context Mt.”)
Claim 8:
The system of claim 1, wherein one or more of the encoder graph neural network, the updating neural network, or the decoder graph neural network is configured to: for each of the edges, process edge features using an edge neural network to determine output edge features, (Mavrogiannis, sec. V(C): “The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology” Examiner notes that Mavrogiannis teaches an encoder that processes features (i.e. the elements of a vector) to produce an embedded vector for all edges).
for each of the nodes, aggregate the output edge features for edges connecting to the node to determine aggregated edge features for the node, and (Mavrogiannis, sec. V(C): “The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology” Examiner notes that Mavrogiannis teaches an encoder that processes features (i.e. the elements of a vector) to produce an embedded vector all edges, including those connected to each node).
for each of the nodes, process the aggregated edge features and node features using a node neural network to determine output node features. (Mavrogiannis, sec. V(C): “The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology” Examiner notes that Mavrogiannis teaches an encoder that processes features (i.e. the elements of a vector) to produce an embedded vector including aggregating all features).
Claim 9:
The system of claim 8, wherein processing the edge features comprises, for each edge, providing the edge features and node features for the nodes connected by the edge to the edge neural network to determine the output edge features. (Mavrogiannis, sec. V(C): “Using the aforementioned setup, the goal of our learning algorithm is to extract models of the conditional probabilities of eq. (4), i.e., P(τ1|MT,a), …, P(τK|MT,a,τ1…τK−1), so that given an action a∈A and a system path topology τ of maximum braid length K, we can compute the probability P(τ|MT,a)…The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology” Examiner notes that Mavrogiannis teaches an encoder that processes features (i.e. the elements of a vector) of an action from each agent to produce an embedded vector including aggregating all features).
Claim 10:
The system of claim 8, wherein one or more of the encoder graph neural network, the updating neural network, or the decoder graph neural network is further configured to determine a global feature vector using a global feature neural network, the global feature vector representing the output edge features and the output node features, and wherein a subsequent graph neural network is configured to process the global feature vector when determining the output edge features and output node features. (Mavrogiannis, sec. V(C): “For this reason, we employ a sequence to sequence encoder-decoder learning architecture. The input sequence ⟨MiT,aiT⟩ is fed to an encoder Recurrent Neural Network (RNN), which produces an embedding vector MˆiT that captures the expected future system path topology. The embedding vector is then fed to a decoder RNN that outputs estimates of P(τ1|Mit,aiT),P(τ2|Mit,ait,τ1),…,P(τK|Mit,ait,τ1,…,τK−1).” Examiner notes that Mavrogiannis teaches an encoder that processes features (i.e. the elements of a vector) to produce an embedded vector including aggregating all features)
Claim 17:
The method of claim 16, further comprising: processing the node attributes for a node of the decoded graph data to determine a predicted action of the agent represented by the node, and outputting the predicted action of the agent. (Mavrogiannis, sec. VI(D): “Algorithm 1 presents our algorithm for Socially Competent Navigation (SCN). The Function UpdateContext incorporates the current system state Q to the context Mt. Next, the function CollisionChecking checks the action set for collisions and returns a collision-free subset Acf⊆A, Subsequently, the function GetTopologies derives a set of likely topologies T, Then, the function ScoreTopologies evaluates every topology in T given each action a∈Acf and the context Mt by using our learned model P(τ|Mt,a) and returns a corresponding matrix of probabilities P. Finally, the function MinimizeUtilityCost evaluates all actions in Acf with respect to the utility cost C and returns the action a∗ that both contributes the best compromise between progress to destination and communication of compliance with the most likely system path topology at the given time. The algorithm runs until the agent reaches its destination, i.e., until the boolean variable AtGoal becomes 1.”)
Claim 18:
The method of claim 16, further comprising: processing the edge attributes of an edge of the decoded graph data that connects an influencing node to an agent node to determine data representing an importance of the influencing node to the agent node. (Mavrogiannis, sec. VI(D): “Then, the function ScoreTopologies evaluates every topology in T given each action a∈Acf and the context Mt by using our learned model P(τ|Mt,a) and returns a corresponding matrix of probabilities P. Finally, the function MinimizeUtilityCost evaluates all actions in Acf with respect to the utility cost C and returns the action a∗ that both contributes the best compromise between progress to destination and communication of compliance with the most likely system path topology at the given time”)
Response to Applicant Arguments/Remarks
35 U.S.C §101
Applicant’s claims, as modified, are rejected under section 101 as set forth above. Applicant has further specified controlling a movement. However, controlling a movement is an insignificant extra-solution activity.
35 U.S.C §103
Start the bottom of page 11 of applicant’s remarks, applicant argues that the prior art does not teach the claims as amended. In light of applicant’s amendments, a new search was completed and the claims as amended now stand rejected as set forth above.
At the top of page 12, applicant further argues that Mavrogiannis’s permutohedron does not teach the “input graph” as claimed. However, in light of applicant’s amendments to the claim limitation, the entire claim limitation has been updated and the input graph is taught by Crabtree.
Applicant further argues that Mavrogiannis’s decoder RNN does not teach, “decoded edge attributes…wherein each decoded edge attribute comprises a representation of an effect a sender node of the graph has on a receiver node” However, in light of applicant’s amendments, such limitation is taught by Crabtree where edges represent relationships between nodes such that any node can be a “sender node” and any node a “receiver node” insofar as a context between two nodes. For example, a car as a sender node and an intersection as a receiver node could be connected by an edge relationship where the intersection is 10 feet away from the car. If the two nodes are switched in their roles of sender and receiver, the car is 10 feet away from the intersection.
Independent claims 1, 16, and 20 are rejected pursuant to 35 USC § 103 over Mavrogiannis in view of Crabtree, as set forth above. Applicant makes no further independent argument regarding the patentability of dependent claims. Therefore, for at least the reasons set forth above such dependent claims remain rejected pursuant to USC § 103.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Sally T. Ley whose telephone number is (571)272-3406. The examiner can normally be reached Monday - Thursday, 10:00am - 6:00pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Viker Lamardo can be reached at (571) 270-5871. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/STL/Examiner, Art Unit 2147
/ERIC NILSSON/Primary Examiner, Art Unit 2151