DETAILED ACTION
Claims 1-20 have been presented for examination.
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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 05 May 2023 was filed in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Drawings
The drawings received on 05 May 2023 are accepted.
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-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to judicial exception (i.e. abstract idea) without significantly more.
Step 1: Claims 1-10 are directed to a method, which is a process, which is a statutory category of invention. Claims 11-18 are directed to a processor, which is a machine, which is a statutory category of invention. Claims 19 and 20 are directed to a system, which is a machine, which is a statutory category of invention. Therefore, claims 1-20 are directed to patent eligible categories of invention.
Step 2A, Prong 1: Claims 1, 11 and 19 recite the abstract idea of simulating particles based on their accelerations, constituting an abstract idea based on Mathematical Concepts including mathematical formulas or equations as well as calculations or alternatively Mental Processes based on concepts performed in the human mind, or with the aid of pencil and paper. The limitation of “determining a plurality of accelerations associated with the plurality of particles based on the second plurality of features propagated to the plurality of particles” in claims 1, 11, and 19 covers mathematical concepts including analyzing a machine learning model and utilizing the output to determine the accelerations associated with the particles. Alternatively, this limitation covers mental processes including analyzing a machine learning model and utilizing the output to determine the accelerations associated with the particles, which can be performed with the use of a pencil and paper. Additionally, the limitation of “generating a simulation associated with the plurality of particles based on the plurality of accelerations” in claims 1, 11 and 19 covers mathematical concepts including applying the predicted accelerations associated with the particles, following an algorithm, and applying mathematical equations. Alternatively, this limitation covers mental processes including applying the predicted accelerations associated with the particles, following a series of steps, and applying mathematical equations, which can be performed with the use of a pencil and paper. Thus, the claims recite the abstract idea of a mental process performed in the human mind, or with the aid of pencil and paper. That is, other than reciting “by the computing system,” nothing in the claim element precludes the step from practically being performed in the mind.
Dependent claims 2-10, 12-18, and 20 further narrow the abstract ideas, identified in the independent claims.
Step 2A, Prong 2: The judicial exception is not integrated into a practical application. The limitations of “propagating, via a first portion of a machine learning model, a first plurality of features associated with a plurality of particles across a plurality of grids, wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing” and “propagating, via a second portion of the machine learning model, a second plurality of features across the plurality of grids to the plurality of particles” in claims 1, 11 and 19, merely uses a computer device as a tool to perform the abstract idea. (MPEP 2106.05(f)) The propagation of features, via a machine learning model are mere instructions to apply an exception as set forth in MPEP2106.05(f). Use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a mental process) does not integrate a judicial exception into a practical application. (MPEP 2106.05(f)(2)) Therefore, the judicial exception is not integrated into a practical application.
Step 2B: Claims 1, 11, and 19 do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The limitations of “propagating, via a first portion of a machine learning model, a first plurality of features associated with a plurality of particles across a plurality of grids, wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing” and “propagating, via a second portion of the machine learning model, a second plurality of features across the plurality of grids to the plurality of particles” in claims 1, 11 and 19, merely uses a computer device as a tool to perform the abstract idea. (MPEP 2106.05(f)) The propagation of features, via a machine learning model are mere instructions to apply an exception as set forth in MPEP2106.05(f). Use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a mental process) does not integrate a judicial exception into a practical application. (MPEP 2106.05(f)(2)) Therefore, the claim as a whole does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements, when considered alone or in combination, do not amount to significantly more than the judicial exception. As stated in Section I.B. of the December 16, 2014 101 Examination Guidelines, “[t]o be patent-eligible, a claim that is directed to a judicial exception must include additional features to ensure that the claim describes a process or product that applies the exception in a meaningful way, such that it is more than a drafting effort designed to monopolize the exception.”
The dependent claims include the same abstract ideas recited as recited in the independent claims, and merely incorporate additional details that narrow the abstract ideas and fail to add significantly more to the claims.
Dependent claims 2 and 12 are directed to further defining the first plurality of features, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes.”
Dependent claim 3 is directed to further defining the first plurality of features, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes.”
Dependent claims 4 and 13 are directed to further defining the plurality of states associated with the plurality of particles, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes.”
Dependent claim 5 is directed to further defining the plurality of states associated with the plurality of particles, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes.”
Dependent claims 6 is directed to further defining the first portion of the machine learning model, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes” or alternatively “Mathematical Concepts.”
Dependent claims 7 and 14 are directed to aggregating the first set of features into the second set of features and updating the second set of features based on the third set of features, which further narrows the abstract idea identified in the independent claim, which is directed to “Mere Instructions to Apply an Exception” (MPEP2106.05(f)) and “Insignificant Extra-Solution Activity” (MPEP2106.05(g)).
Dependent claim 8 is directed to further defining the aggregation of the first set of features, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes” or alternatively “Mathematical Concepts.”
Dependent claims 9 and 15 are directed to updating a first set of features based on a second set of features, and aggregating the updated features into a third set of features, which further narrows the abstract idea identified in the independent claim, which is directed to “Mere Instructions to Apply an Exception” (MPEP2106.05(f)) and “Insignificant Extra-Solution Activity” (MPEP2106.05(g)).
Dependent claim 10 is directed to further defining the plurality of particles, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes.”
Dependent claim 16 is directed to updating a third set of features based on a fourth set of features, and aggregating the updated features into a fifth set of features, which further narrows the abstract idea identified in the independent claim, which is directed to “Mere Instructions to Apply an Exception” (MPEP2106.05(f)) and “Insignificant Extra-Solution Activity” (MPEP2106.05(g)).
Dependent claim 17 is directed to further defining the generation of the simulation, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes” or alternatively “Mathematical Concepts.”
Dependent claims 18 are directed to further defining the processor, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes” or alternatively “Mathematical Concepts.”
Dependent claims 20 are directed to further defining the system, which further narrows the abstract idea identified in the independent claim, which is directed to “Mental Processes” or alternatively “Mathematical Concepts.”
Accordingly, claims 1-20 are rejected under 35 U.S.C 101 because the claimed invention is directed to a judicial exception (i.e. an abstract idea) without anything significantly more.
Claim Rejections - 35 USC § 103
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-7 and 9-20 are rejected under 35 U.S.C 103 as being unpatentable over NPL: Yalan Zhang, Xiaojuan Ban, Feilong Du, Wu Di, FluidsNet: End-to-end learning for Lagrangian fluid simulation, Expert Systems with Applications, Volume 152, 2020, 113410, ISSN 0957-4174, hereafter Z in view of NPL: Martinkus, K., Lucchi, A., & Perraudin, N. (2021). Scalable graph networks for particle simulations. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 35, No. 10, pp. 8912-8920), hereafter M.
Regarding Claim 1: Z discloses a method comprising:
propagating, via a first portion of a machine learning model, a first plurality of features associated with a plurality of particles across a plurality of grids
Z [Page 4: Section 3.1] “To infer F’, we design a deep neural network (DNN), named FluidsNet, taking RNxm as input and RNx3 as output. In this paper, we take position, velocity and a fluid/solid marker as input feature, the input Lagrangian fluid simulation data is denoted by P = {pi = [ xi, yi, zi, ui, vi, wi, s/f] ∈ R7, i ∈ [1, N]}. We take velocity field as output feature, F′ ∈ RNx7→ RNx3.
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.”
Z [Page 5: Section 4.4] “Before voxel feature learning, we subdivide the simulation scene space R into equally 3-dimensional spaced background grid as shown in Fig. 2. Suppose the simulation space is in range W, D, H along the X, Y, Z axes. Define the background grid is of size gw, gd and gh. The resulting gridded simulation scenes ˆ R is of size ˆ W = W/gw , ˆD = D/gd , ˆH = H/gh accordingly, defined as ˆR = [0, ˆW ] ×[0, ˆH ] ×[0, ˆD ]. Here, W, D, H are set to be a multiple of gw, gd and gh for simplicity. Fluid particles are grouped according to the background grid they reside in.”
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
propagating, via a second portion of the machine learning model, a second plurality of features across the plurality of grids to the plurality of particles
Z [Page 4: Figure 2] Examiner notes that this figure shows the particles propagating through the local and voxel feature learning through the first portion of the machine learning model, and then through global feature learning through the second portion of the machine learning model in order to ultimately calculate the velocity at the end.
Z [Page 5: Section 4.5] “The global feature learning layers consist of a stack 3D convolution layers to obtain multi-resolution features and learn the behavior of fluid. The convolutional layers aggregate voxel-wise features within a progressively expanding receptive field, adding more context to the dynamic description … Denote f global as the global feature. Note that the final dimension of the global feature cannot be much larger than the
dimension of the local feature, in case the global features account for too much weight in predicting the velocity field and result in the homoplasy in all particles.
determining a plurality of accelerations associated with the plurality of particles based on the second plurality of features propagated to the plurality of particles
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations”
Z [Page 4: Section 4.1] “Then FluidsNet concatenates features from earlier layers to later layers in order to allow the network to combine local and global information.” Examiner notes that this connects the determining of acceleration to be based on the second plurality of features.
Z [Page 3: Algorithm 1] Examiner notes that the algorithm displays the acceleration being determined in order to use the acceleration to determine the velocity of each particle in the end.
generating a simulation associated with the plurality of particles based on the plurality of accelerations
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.” Examiner notes that the determination of the accelerations of each particle determine the next state of each particle in the simulation.
Z doesn’t disclose wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing.
However, M discloses wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing.
M [Page 8913: Section 3] “Figure 1: 3 level hierarchy (L = 3) from the point of view of the black particles that belong to the black cells. The first level (l = 1) has 16 cells, in each subsequent level, the number of cells quadruples. At the lowest level, we have the particles. Each cell is connected to its four child cells at the lower level. Cells at the second-lowest level (L − 1) are instead connected to the particles that belong to them. First, during an upward pass cell features are recursively computed from the features of their children. Then, during the downward pass, at each level, the black cell interacts with its near-neighbours (blue). Aggregated interactions are propagated to the cell’s children. At the lowest level (L), particles interact directly with particles (blue) from the neighbouring cells (grey)”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierarchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 2: Z in view of M discloses the method of claim 1, further comprising determining the first plurality of features for the plurality of particles based on a plurality of states associated with the plurality of particles.
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.”
Regarding Claim 3: Z in view of M discloses the method of claim 2, wherein the first plurality of features comprises normalizing a feature value for a feature based on one or more statistics associated with the feature.
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
Regarding Claim 4: Z in view of M discloses the method of claim 2, wherein the plurality of states comprises at least one of a position of a particle relative to a bounding box, one or more velocities of the particle, or a particle type associated with the particle.
Z [Pages 3-4: Section 3.1] “Given a set of fluid particles with physical quantities on the spatial domain ⊂ R3, we want to find the velocity field from the data. According to the Navier-Stokes equations for incompressible fluids:
PNG
media_image1.png
31
246
media_image1.png
Greyscale
we assume that the observed data are associated with a generic nonlinear evolution function
PNG
media_image2.png
18
252
media_image2.png
Greyscale
”
Regarding Claim 5: Z in view of M discloses the method of claim 2.
Z does not disclose wherein the plurality of states comprising a normal vector from a particle to a nearest obstacle.
However, M discloses wherein the plurality of states comprising a normal vector from a particle to a nearest obstacle.
M [Page 8914: Section 3.2] “Graph networks enforce a structure similar to traditional simulation methods, where first interactions (edges) between particles (nodes) are computed. Then all incoming interactions (edges) are aggregated per particle (node) and together with particle features are used to compute updated particle features … In the basic case, a particle system is represented as a fully connected graph, where each node is a particle. The node features we use are mass m, position q, velocity q’ and if applicable charge z. The edge matrix E holds sender and receiver IDs for each edge. In our case relative node positions are used in the models. Meaning that one of the edge features used during the forward pass is the distance vector between the sender and the receiver. Node positions are masked everywhere else.” Examiner notes that obstacles can be omitted from the simulation if obstacles are not required or used in the simulation (See [0034]).
M [Page 8914: Section 3.1] “Each cell is also connected to its near-neighbours. Near-neighbours are other cells at the same level that are not directly adjacent to the cell, but whose parents were adjacent to the cell’s parent (blue, Figure 1).
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 6: Z in view of M discloses the method of claim 1, wherein the first portion comprises a first set of neural network layers and the second portion comprise a second set of neural network layers, and further comprising training the first set of neural network layers and the second set of neural network layers based on a mean square error associated with the plurality of accelerations.
Z [Page 4: Section 3.1] “To infer F’, we design a deep neural network (DNN), named FluidsNet, taking RNxm as input and RNx3 as output. In this paper, we take position, velocity and a fluid/solid marker as input feature, the input Lagrangian fluid simulation data is denoted by P = {pi = [ xi, yi, zi, ui, vi, wi, s/f] ∈ R7, i ∈ [1, N]}. We take velocity field as output feature, F′ ∈ RNx7→ RNx3. The FluidsNet structure is parameterized by its weights W and biases b, determines a function space F and aims to find the optimal solution F′ ∈ F. For now, we will assume that all functions are continuous and sufficiently differentiable. We have two goals when calculating the velocity field: the main goal is staying true to the original simulations by min F’∈F (F′−F)2 + ∥W∥2, where we use the mean squared error to measure the distance between the two functions and ∥W∥2 is a L2 norm biases F term.”
Z [Page 3: Algorithm 1] discloses after the accelerations are predicted, for each particle, a velocity is found using each particle’s acceleration:
PNG
media_image3.png
56
194
media_image3.png
Greyscale
Regarding Claim 7: Z in view of M discloses the method of claim 1, wherein propagating the first plurality of features comprises:
aggregating a first set of features for one or more particles enclosed by a first set of cells within the first grid into a second set of features for a first set of points included in the first set of cells
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
and performing one or more message passing iterations to update the second set of features based on a third set of features.
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “After computing the locally aggregated feature, we feed it back to per particle features by concatenating the locally aggregated feature with each of the particle features, as f2 = [f’1, fG]. Then we extract new per particle features based on the combined particle features after several feature learning layers, the per particle feature is aware of information at different scales. After learning the voxel features of the m layer, we obtain the feature set G = {fm} i =1 ... n of size n×fm . The voxel feature is obtained by transforming the output feature set into a 1×fm tensor via element-wise AveragePooling.”
Z doesn’t disclose for one or more edges connected to the first set of points.
However, M discloses for one or more edges connected to the first set of points.
M [Page 8914: Section 3.2] “Graph networks enforce a structure similar to traditional simulation methods, where first interactions (edges) between particles (nodes) are computed. Then all incoming interactions (edges) are aggregated per particle (node) and together with particle features are used to compute updated particle features.”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 9: Z in view of M discloses the method of claim 1, wherein propagating the second plurality of features comprises:
performing one or more message passing iterations to update a first set of features for a first set of points;
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “After computing the locally aggregated feature, we feed it back to per particle features by concatenating the locally aggregated feature with each of the particle features, as f2 = [f’1, fG]. Then we extract new per particle features based on the combined particle features after several feature learning layers, the per particle feature is aware of information at different scales. After learning the voxel features of the m layer, we obtain the feature set G = {fm} i =1 ... n of size n×fm . The voxel feature is obtained by transforming the output feature set into a 1×fm tensor via element-wise AveragePooling.”
and aggregating the updated first set of features into a third set of features for a second set of points
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
Z doesn’t disclose a first set of cells within the second grid based on a second set of features for one or more edges connected to the first set of points, or a second set of cells within the first grid.
However, M discloses a first set of cells within the second grid based on a second set of features for one or more edges connected to the first set of points, or a second set of cells within the first grid.
M [Page 8913: Section 3] “Figure 1: 3 level hierarchy (L = 3) from the point of view of the black particles that belong to the black cells. The first level (l = 1) has 16 cells, in each subsequent level, the number of cells quadruples. At the lowest level, we have the particles. Each cell is connected to its four child cells at the lower level. Cells at the second-lowest level (L − 1) are instead connected to the particles that belong to them. First, during an upward pass cell features are recursively computed from the features of their children. Then, during the downward pass, at each level, the black cell interacts with its near-neighbours (blue). Aggregated interactions are propagated to the cell’s children. At the lowest level (L), particles interact directly with particles (blue) from the neighbouring cells (grey)”
M [Page 8914: Section 3.2] “Graph networks enforce a structure similar to traditional simulation methods, where first interactions (edges) between particles (nodes) are computed. Then all incoming interactions (edges) are aggregated per particle (node) and together with particle features are used to compute updated particle features.”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 10: Z in view of M disclose the method of claim 1, wherein the plurality of particles corresponds to at least one of water, sand, or snow.
Z [Page 3: Section 3.1] “Our approach aims for automatically finding the best model to generate fluid animation. Given a set of fluid particles with physical quantities on the spatial domain Ω ⊂ R3, we want to find the velocity field from the data.”
Regarding Claim 11: Z discloses a processor comprising: one or more processing units to perform operations comprising:
propagating, via a first portion of a machine learning model, a first plurality of features associated with a plurality of particles across a plurality of grids
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.”
Z [Page 5: Section 4.4] “Before voxel feature learning, we subdivide the simulation scene space R into equally 3-dimensional spaced background grid as shown in Fig. 2. Suppose the simulation space is in range W, D, H along the X, Y, Z axes. Define the background grid is of size gw, gd and gh. The resulting gridded simulation scenes ˆ R is of size ˆ W = W/gw , ˆD = D/gd , ˆH = H/gh accordingly, defined as ˆR = [0, ˆW ] ×[0, ˆH ] ×[0, ˆD ]. Here, W, D, H are set to be a multiple of gw, gd and gh for simplicity. Fluid particles are grouped according to the background grid they reside in.”
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
propagating, via a second portion of the machine learning model, a second plurality of features across the plurality of grids to the plurality of particles
Z [Page 4: Figure 2] Examiner notes that this figure shows the particles propagating through the local and voxel feature learning through the first portion of the machine learning model, and then through global feature learning through the second portion of the machine learning model in order to ultimately calculate the velocity at the end.
Z [Page 5: Section 4.5] “The global feature learning layers consist of a stack 3D convolution layers to obtain multi-resolution features and learn the behavior of fluid. The convolutional layers aggregate voxel-wise features within a progressively expanding receptive field, adding more context to the dynamic description … Denote f global as the global feature. Note that the final dimension of the global feature cannot be much larger than the dimension of the local feature, in case the global features account for too much weight in predicting the velocity field and result in the homoplasy in all particles
determining a plurality of accelerations associated with the plurality of particles based on the second plurality of features propagated to the plurality of particles
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations”
Z [Page 4: Section 4.1] “Then FluidsNet concatenates features from earlier layers to later layers in order to allow the network to combine local and global information.” Examiner notes that this connects the determining of acceleration to be based on the second plurality of features.
Z [Page 3: Algorithm 1] Examiner notes that the algorithm displays the acceleration being determined in order to use the acceleration to determine the velocity of each particle in the end.
generating a simulation associated with the plurality of particles based on the plurality of accelerations
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.” Examiner notes that the determination of the accelerations of each particle determine the next state of each particle in the simulation.
Z doesn’t disclose wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing.
However, M discloses wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing.
M [Page 8913: Section 3] “Figure 1: 3 level hierarchy (L = 3) from the point of view of the black particles that belong to the black cells. The first level (l = 1) has 16 cells, in each subsequent level, the number of cells quadruples. At the lowest level, we have the particles. Each cell is connected to its four child cells at the lower level. Cells at the second-lowest level (L − 1) are instead connected to the particles that belong to them. First, during an upward pass cell features are recursively computed from the features of their children. Then, during the downward pass, at each level, the black cell interacts with its near-neighbours (blue). Aggregated interactions are propagated to the cell’s children. At the lowest level (L), particles interact directly with particles (blue) from the neighbouring cells (grey)”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 12: Z in view of M discloses the processor of claim 11, further comprising determining the first plurality of features for the plurality of particles based on a plurality of states associated with the plurality of particles.
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Regarding Claim 13: Z in view of M discloses the processor of claim 12, wherein the plurality of states comprises at least one of a position of a particle relative to a grid cell center, one or more velocities of the particle, or a normal vector from a particle to a nearest obstacle.
Z [Pages 3-4: Section 3.1] “Given a set of fluid particles with physical quantities on the spatial domain ⊂ R3, we want to find the velocity field from the data. According to the Navier-Stokes equations for incompressible fluids:
PNG
media_image1.png
31
246
media_image1.png
Greyscale
we assume that the observed data are associated with a generic nonlinear evolution function
PNG
media_image2.png
18
252
media_image2.png
Greyscale
”
Regarding Claim 14: Z in view of M discloses the processor of claim 11, wherein propagating the first plurality of features comprises:
aggregating a first set of features for one or more particles enclosed by a first set of cells within the first grid into a second set of features for a first set of points included in the first set of cells
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
performing one or more message passing iterations to update the second set of features based on a third set of features;
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “After computing the locally aggregated feature, we feed it back to per particle features by concatenating the locally aggregated feature with each of the particle features, as f2 = [f’1, fG]. Then we extract new per particle features based on the combined particle features after several feature learning layers, the per particle feature is aware of information at different scales. After learning the voxel features of the m layer, we obtain the feature set G = {fm} i =1 ... n of size n×fm . The voxel feature is obtained by transforming the output feature set into a 1×fm tensor via element-wise AveragePooling.”
and aggregating the updated second set of features into a fourth set of features for a second set of points
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
Z doesn’t disclose one or more edges connected to the first set of points, or a second set of points included in a set of cells within the second grid.
However, M discloses one or more edges connected to the first set of points, or a second set of points included in a set of cells within the second grid.
M [Page 8913: Section 3] “Figure 1: 3 level hierarchy (L = 3) from the point of view of the black particles that belong to the black cells. The first level (l = 1) has 16 cells, in each subsequent level, the number of cells quadruples. At the lowest level, we have the particles. Each cell is connected to its four child cells at the lower level. Cells at the second-lowest level (L − 1) are instead connected to the particles that belong to them. First, during an upward pass cell features are recursively computed from the features of their children. Then, during the downward pass, at each level, the black cell interacts with its near-neighbours (blue). Aggregated interactions are propagated to the cell’s children. At the lowest level (L), particles interact directly with particles (blue) from the neighbouring cells (grey)”
M [Page 8914: Section 3.2] “Graph networks enforce a structure similar to traditional simulation methods, where first interactions (edges) between particles (nodes) are computed. Then all incoming interactions (edges) are aggregated per particle (node) and together with particle features are used to compute updated particle features.”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 15: Z in view of M discloses the processor of claim 11, wherein propagating the second plurality of features comprises:
performing one or more message passing iterations to update a first set of features for a first set of points;
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “After computing the locally aggregated feature, we feed it back to per particle features by concatenating the locally aggregated feature with each of the particle features, as f2 = [f’1, fG]. Then we extract new per particle features based on the combined particle features after several feature learning layers, the per particle feature is aware of information at different scales. After learning the voxel features of the m layer, we obtain the feature set G = {fm} i =1 ... n of size n×fm . The voxel feature is obtained by transforming the output feature set into a 1×fm tensor via element-wise AveragePooling.”
and aggregating the updated first set of features into a third set of features for a second set of points
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
Z doesn’t disclose a first set of cells within the second grid based on a second set of features for one or more edges connected to the first set of points, or a second set of cells within the first grid.
However, M discloses a first set of cells within the second grid based on a second set of features for one or more edges connected to the first set of points, or a second set of cells within the first grid.
M [Page 8913: Section 3] “Figure 1: 3 level hierarchy (L = 3) from the point of view of the black particles that belong to the black cells. The first level (l = 1) has 16 cells, in each subsequent level, the number of cells quadruples. At the lowest level, we have the particles. Each cell is connected to its four child cells at the lower level. Cells at the second-lowest level (L − 1) are instead connected to the particles that belong to them. First, during an upward pass cell features are recursively computed from the features of their children. Then, during the downward pass, at each level, the black cell interacts with its near-neighbours (blue). Aggregated interactions are propagated to the cell’s children. At the lowest level (L), particles interact directly with particles (blue) from the neighbouring cells (grey)”
M [Page 8914: Section 3.2] “Graph networks enforce a structure similar to traditional simulation methods, where first interactions (edges) between particles (nodes) are computed. Then all incoming interactions (edges) are aggregated per particle (node) and together with particle features are used to compute updated particle features.”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 16: Z in view of M discloses the processor of claim 15, wherein propagating the second plurality of features comprises:
performing one or more message passing iterations to update a third set of features based on a fourth set of features;
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “After computing the locally aggregated feature, we feed it back to per particle features by concatenating the locally aggregated feature with each of the particle features, as f2 = [f’1, fG]. Then we extract new per particle features based on the combined particle features after several feature learning layers, the per particle feature is aware of information at different scales. After learning the voxel features of the m layer, we obtain the feature set G = {fm} i =1 ... n of size n×fm . The voxel feature is obtained by transforming the output feature set into a 1×fm tensor via element-wise AveragePooling.”
and aggregating the updated third set of features into a fifth set of features for one or more particles enclosed by the second set of cells.
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
Z [Page 6: Section 4.4] “Then, each f1 is transformed through a multi-layer perceptron network into a feature space, where we can aggregate information from the point features f’1 to encode the physical behavior within the voxel. Batch normalization (BN) is used for all MLP layers with a hyperbolic tangent activation function. After obtaining feature representations by particle, we use elementwise AveragePooling across all f’1 associated to G to get the locally aggregated feature f G of size 1 × f’1 for the current background grid.”
Z doesn’t disclose one or more additional edges connected to the second set of points.
However, M discloses one or more additional edges connected to the second set of points.
M [Page 8914: Section 3.2] “Graph networks enforce a structure similar to traditional simulation methods, where first interactions (edges) between particles (nodes) are computed. Then all incoming interactions (edges) are aggregated per particle (node) and together with particle features are used to compute updated particle features.”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 17: Z in view of M discloses the processor of claim 11, wherein generating the simulation comprises updating a plurality of velocities and a plurality of positions associated with the plurality of particles based on the plurality of accelerations.
Z [Page 3: Section 3.1] “Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.”
Z [Page 3: Algorithm 1] discloses finding the acceleration of each particle and updating the velocity and position of each particle:
PNG
media_image4.png
345
576
media_image4.png
Greyscale
Regarding Claim 18: Z in view of W discloses the processor of claim 11, wherein the processor is comprised in at least one of:
a control system for an autonomous or semi-autonomous machine;
a perception system for an autonomous or semi-autonomous machine;
a system for performing simulation operations;
a system for performing simulation operations;
Z [Page 2: Section 1] “In this paper, we introduce a new end-to-end intelligent system, FluidsNet, for Lagrangian fluid simulation. It uses Lagrangian fluid simulation data as input to automatically find a model to generate fluid animation, as shown in Fig. 1.”
a system for performing digital twin operations;
a system for performing light transport simulation;
a system for performing collaborative content creation for 3D assets;
a system for performing deep learning operations;
a system for performing deep learning operations;
Z [Page 4: Section 3.1] “To infer F’, we design a deep neural network (DNN), named FluidsNet, taking RNxm as input and RNx3 as output.
a system implemented using an edge device;
a system for generating or presenting at least one of virtual reality content, augmented reality content, or mixed reality content;
a system implemented using a robot;
a system for performing conversational AI operations;
a system for generating synthetic data;
a system for generating synthetic data;
Z [Page 6: Section 5.4] “In the section, we show FluidsNet can reliably predict and synthesize dynamic flow fields in different data sets.
a system for performing operations using a language model;
a system incorporating one or more virtual machines (VMs);
a system implemented at least partially in a data center; or
a system implemented at least partially using cloud computing resources.
Regarding Claim 19: Z in view of M discloses a system comprising: one or more processing units to execute operations comprising:
propagating, via a first portion of a machine learning model, a first plurality of features associated with a plurality of particles across a plurality of grids
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.”
Z [Page 5: Section 4.4] “Before voxel feature learning, we subdivide the simulation scene space R into equally 3-dimensional spaced background grid as shown in Fig. 2. Suppose the simulation space is in range W, D, H along the X, Y, Z axes. Define the background grid is of size gw, gd and gh. The resulting gridded simulation scenes ˆ R is of size ˆ W = W/gw , ˆD = D/gd , ˆH = H/gh accordingly, defined as ˆR = [0, ˆW ] ×[0, ˆH ] ×[0, ˆD ]. Here, W, D, H are set to be a multiple of gw, gd and gh for simplicity. Fluid particles are grouped according to the background grid they reside in.”
Z [Page 4: Section 4.2] “There are 7 features of fluid particles used in FluidsNet as in- puts, which are 3-dimensional position [x, y, z], 3-dimensional velocity [u, v, w] and fluid/solid marking s/f. At first sight, taking the acceleration field as predictive output is a feasible solution. After all, acceleration is the basic quantity in physics for measuring force and motion.”
propagating, via a second portion of the machine learning model, a second plurality of features across the plurality of grids to the plurality of particles
Z [Page 4: Figure 2] Examiner notes that this figure shows the particles propagating through the local and voxel feature learning through the first portion of the machine learning model, and then through global feature learning through the second portion of the machine learning model in order to ultimately calculate the velocity at the end.
Z [Page 5: Section 4.5] “The global feature learning layers consist of a stack 3D convolution layers to obtain multi-resolution features and learn the behavior of fluid. The convolutional layers aggregate voxel-wise features within a progressively expanding receptive field, adding more context to the dynamic description … Denote f global as the global feature. Note that the final dimension of the global feature cannot be much larger than the dimension of the local feature, in case the global features account for too much weight in predicting the velocity field and result in the homoplasy in all particles
determining a plurality of accelerations associated with the plurality of particles based on the second plurality of features propagated to the plurality of particles
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations”
Z [Page 4: Section 4.1] “Then FluidsNet concatenates features from earlier layers to later layers in order to allow the network to combine local and global information.” Examiner notes that this connects the determining of acceleration to be based on the second plurality of features.
Z [Page 3: Algorithm 1] Examiner notes that the algorithm displays the acceleration being determined in order to use the acceleration to determine the velocity of each particle in the end.
generating a simulation associated with the plurality of particles based on the plurality of accelerations
Z [Page 3: Section 3.1] “In the traditional Lagrangian fluid simulation method, continuous quantities are approximated by using discrete moving particles, as shown in Algorithm 1. In each physics update, it needs to find the local neighbors k for all particles P: RNx3 → RNx3xk, where N is the number of particles in the space. Then, the density, pressure, and the resulting forces acting on each particle are evaluated and used to compute accelerations, which we use function F: (RNxm, P) → RNx3 to present, where m is the feature numbers of every particle. Finally, particle physical quantities of the next state are integrated using the estimated accelerations, which could be presented as I: (RNxm, F) → RNxm.” Examiner notes that the determination of the accelerations of each particle determine the next state of each particle in the simulation.
Z doesn’t disclose wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing.
However, M discloses wherein the plurality of grids includes a first grid having a first grid spacing and a second grid having a second grid spacing that is greater than the first grid spacing.
M [Page 8913: Section 3] “Figure 1: 3 level hierarchy (L = 3) from the point of view of the black particles that belong to the black cells. The first level (l = 1) has 16 cells, in each subsequent level, the number of cells quadruples. At the lowest level, we have the particles. Each cell is connected to its four child cells at the lower level. Cells at the second-lowest level (L − 1) are instead connected to the particles that belong to them. First, during an upward pass cell features are recursively computed from the features of their children. Then, during the downward pass, at each level, the black cell interacts with its near-neighbours (blue). Aggregated interactions are propagated to the cell’s children. At the lowest level (L), particles interact directly with particles (blue) from the neighbouring cells (grey)”
Z and M are analogous because they both pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of M with Z because the hierarchical model of M allows for the extension of existing models and simulation of complex systems that require O(N2) interactions with thousands of particles which have been observed empirically to be infeasible when a fully connected graph was used. In addition to that the hierchical approach retains similar accuracy to models working with a fully connected graph and a smaller count (See M [Page 8912: Introduction]).
Regarding Claim 20: Z in view of W discloses the system of claim 19, wherein the system is comprised in at least one of:
a control system for an autonomous or semi-autonomous machine;
a perception system for an autonomous or semi-autonomous machine;
a system for performing simulation operations;
a system for performing simulation operations;
Z [Page 2: Section 1] “In this paper, we introduce a new end-to-end intelligent system, FluidsNet, for Lagrangian fluid simulation. It uses Lagrangian fluid simulation data as input to automatically find a model to generate fluid animation, as shown in Fig. 1.”
a system for performing digital twin operations;
a system for performing light transport simulation;
a system for performing collaborative content creation for 3D assets;
a system for performing deep learning operations;
a system for performing deep learning operations;
Z [Page 4: Section 3.1] “To infer F’, we design a deep neural network (DNN), named FluidsNet, taking RNxm as input and RNx3 as output.
a system implemented using an edge device;
a system for generating or presenting at least one of virtual reality content, augmented reality content, or mixed reality content;
a system implemented using a robot;
a system for performing conversational AI operations;
a system for generating synthetic data;
a system for generating synthetic data;
Z [Page 6: Section 5.4] “In the section, we show FluidsNet can reliably predict and synthesize dynamic flow fields in different data sets.
a system for performing operations using a language model;
a system incorporating one or more virtual machines (VMs);
a system implemented at least partially in a data center; or
a system implemented at least partially using cloud computing resources.
Claim 8 is rejected under 35 U.S.C 103 as being unpatentable over NPL: Yalan Zhang, Xiaojuan Ban, Feilong Du, Wu Di, FluidsNet: End-to-end learning for Lagrangian fluid simulation, Expert Systems with Applications, Volume 152, 2020, 113410, ISSN 0957-4174, hereafter Z in view of NPL: Martinkus, K., Lucchi, A., & Perraudin, N. (2021). Scalable graph networks for particle simulations. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 35, No. 10, pp. 8912-8920), hereafter M, further in view of NPL: Zijie Li, Amir Barati Farimani, Graph neural network-accelerated Lagrangian fluid simulation, Computers & Graphics, Volume 103, 2022, Pages 201-211, ISSN 0097-8493, hereafter L.
Regarding Claim 8: Z and M in view of L discloses the method of claim 7,
Z and M do not disclose wherein aggregating the first set of features comprises scaling each feature included in the first set of features by an interpolation weight associated with a corresponding point included in the first set of points.
However, L discloses wherein aggregating the first set of features comprises scaling each feature included in the first set of features by an interpolation weight associated with a corresponding point included in the first set of points.
L [Page 203: Section 3.3] “Note that here our design of message and aggregation function is analogous to the kernel interpolation model in SPH, which assure a smooth response under varying neighborhoods and reduce the total number of model parameters compared to fully MLP-based message passing function [17,21]. Using distance based weights when aggregating neighborhood features are a widely adopted technique in point cloud deep learning, as it incorporates a very important inductive bias: the dependency between a pair of particles is closely related to their distance and there are stronger dependency between closer particles. For instance, PointNet++ [41] uses the inverse of squared distance as the weight function for point cloud feature interpolation.
Z, M, and L are analogous because they all pertain to the simulation of particles with neural networks.
It would have been obvious to one with ordinary skill in the art before the effective filing date to combine the teachings of L with M and Z because the Fluid Graph Networks model of L remains stable and accurate in long-term simulation, and it substantially improves the computational efficiency compared to classical simulation methods and offers competitive performance among other data-driven simulators. (See L [Pages 201-202: Introduction])
Conclusion
All Claims are rejected.
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure:
Alexey Stomakhin, Craig Schroeder, Lawrence Chai, Joseph Teran, and Andrew Selle. 2013. A material point method for snow simulation. ACM Trans. Graph. 32, 4, Article 102 (July 2013), 10 pages. https://doi.org/10.1145/2461912.2461948 discloses the simulation of snow using a user-controllable elasto-plastic constitutive model integrated with a hybrid Eulerian/Lagrangian Material Point Method.
Evgenii Tumanov, Dmitry Korobchenko, and Nuttapong Chentanez. 2021. Data-Driven Particle-Based Liquid Simulation with Deep Learning Utilizing Sub-Pixel Convolution. Proc. ACM Comput. Graph. Interact. Tech. 4, 1, Article 12 (April 2021), 16 pages. https://doi.org/10.1145/3451261 discloses the use of modern sub-pixel convolution techniques originally used for image super-resolution, to perform data-driven particle-based liquid simulations.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Scott T. Tran whose telephone number is (571) 272-8533. The examiner can normally be reached on M-F, 8:00-4:00.
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://uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Renee Chavez, can be reached at (571) 270-1104. The fax phone number for the organization where this application or proceeding is assigned is (571) 273-8300. Informal or draft communication, please label PROPOSED or DRAFT, can be additionally sent to the Examiner’s fax phone number (571) 272-8533.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published a applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
STT
/SCOTT THANH BINH TRAN/Examiner, Art Unit 2186
/RENEE D CHAVEZ/Supervisory Patent Examiner, Art Unit 2186