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 .
This communication is responsive to application filed on 11/01/2022.
Claims 1-20 are presented for examination.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 09/21/2023 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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 an abstract idea without significantly more.
Step 1 (Does this claim fall within at least one statutory category?):
Claims 1-10 are directed to a method.
Claims 11-20 are directed to a system.
Therefore, claims 1-20 fall into at least one of the four statutory categories.
Step 2A, Prong 1: ((a) identify the specific limitation(s) in the claim that recites an abstract idea: and (b) determine whether the identified limitation(s) falls within at least one of the groups of abstract ideas enumerates in MPEP 2106.04(a)(2)):
Claim 1:
A computer-implemented method for automated design of a physical system, the method comprising:
obtaining design requirements associated with the physical system [insignificant extra solution, e.g. mere data-gathering];
iteratively performing, by a computer, a reinforcement learning (RL) process and a nonlinear optimization process to generate a design solution, wherein the RL process generates a topology represented as a model of the physical system using a modeling language, wherein the generated topology specifies a number of components and connections among the components, and wherein the nonlinear optimization process determines parameters of the components in the topology based on the model and a loss function [“mental process i.e. concepts performed in the human mind or with pen and paper (including an observation, evaluation judgement, opinion) and/or mathematical concepts]; and
providing the design solution of the physical system based on the generated topology and the determined parameters of the components, thereby facilitating construction of the physical system [“mental process i.e. concepts performed in the human mind or with pen and paper (including an observation, evaluation judgement, opinion) and/or mathematical concepts].
Step 2A, Prong 2 (1. Identifying whether there are any additional elements recited in the claim beyond the judicial exception; and 2. Evaluating those additional elements individually and in combination to determine whether the claim as a whole integrates the exception into a practical application): The claim is directed to the judicial exception.
Claim 1 recites additional element of “obtaining”. This additional element is insignificant pre-solution (i.e. data gathering). 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 fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more. Further, claim 1 recites an additional element of “a computer”. The component recited at a high level of generality (e.g. a generic computer element for performing a generic computer functions) such that it amounts to no more than mere application of the judicial exception using generic computer component(s). Accordingly, the additional element(s) of each of this claim does not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea.
Step 2B: (Does the claim recite additional elements that amount to significantly more than the judicial exception? No): As discussed above with respect to the integration of the abstract into a practical application, the additional element of “obtaining” is insignificant pre-solutions (i.e. data gathering). At most the additional element is not found to including anything more than data gathering or mere data output. See MPEP 2106.04(d) referencing MPEP 2106.05(g), example (iv) - Obtaining information about transactions. Further, as discussed above with respect to the integration of the abstract into a practical application, the additional element of “computer” amount to no more than mere instructions to apply the judicial exception using generic computer component(s). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
As per claims 2-10, the claims fall into [mathematical concepts].
As per claim 11, independent claim 11 recites limitations analogous in scope to those of independent claim 1, and as such are similar rejected. Further, claim 11 recites additional elements of “a processor” and “a storage device”. The components recited at a high level of generality (e.g. a generic computer element for performing a generic computer functions) such that it amounts to no more than mere application of the judicial exception using generic computer component(s). Accordingly, the additional element(s) of each of these claims do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Further, as discussed above with respect to the integration of the abstract into a practical application, the additional elements of “a processor” and “a storage device” amount to no more than mere instructions to apply the judicial exception using generic computer component(s). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
As per Claims 12-20, claims 12-20 recite limitations analogous in scope to those of claims 2-10, and as such are similar rejected.
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-20 are rejected under 35 U.S.C. 103 as being unpatentable over US Publication No. 2020/0210532 issued to Matei et al in view of HUANG et al (G. Huang, J. Hu, Y. He, J. Liu, M. Ma, Z. Shen, J. Wu, Y. Xu, H. Zhang, K. Zhong, X. F. Ning, Y. Ma, H. Yang, B. Yu, H. Yang, Y. Wang, “Machine Learning for Electronic Design Automation: A Survey” pgs. 1-44, 2021).
1. Matei et al discloses a computer-implemented method for automated design of a physical system (See: par [0003] a method and a system for automated design of a physical system), the method comprising:
obtaining design requirements associated with the physical system (See: Abstract, During operation, the system obtains a component library comprising a plurality of physical components, receives design requirements of the physical system, and constructs an initial system model based on physical components in the component library and the design requirements; [0003] One embodiment provides a method and a system for automated design of a physical system. During operation, the system obtains a component library comprising a plurality of physical components, receives design requirements of the physical system, and constructs an initial system model based on physical components in the component library and the design requirements);
generates a topology represented as a model of the physical system using a modeling language, wherein the generated topology specifies a number of components and connections among the components (See: Abstract, The system topology associated with the initial system model can include a large number of links that are sufficiently coupled to one another, and a respective link comprises one or more physical components; par [0003] The system topology associated with the initial system model can include a large number of links that are sufficiently coupled to one another, and a respective link comprises one or more physical components; par [0035] including selecting components, constructing system topology, and determining parameters of the components. The design system can start with a rich enough system topology describing connections among components; par [0048] FIG. 5 presents a flowchart illustrating an exemplary process for automated design, according to one embodiment. During operation, the automated design system receives requirements of the physical system (operation 502) and generates an initial system model (operation 504). In some embodiments, the initial system model (e.g., the initial topology) can be generated based on a library of physical components and the requirements of the physical system), and wherein the nonlinear optimization process determines parameters of the components in the topology based on the model (See: [0028] Embodiments described herein solve the technical problem of automated design of physical systems. The automated design system can have a library of physical components (e.g., electrical or mechanical components) and the design process can start with constructing a sufficiently large system topology describing connections among the components. The system can then apply an optimization algorithm to eliminate redundant components in the system topology and learn the best parameters that can meet the design requirements. More specifically, the optimization algorithm can transform an initial multi-objective formulation of the optimization problem into a single objective, constrained nonlinear problem. The nonlinear, constrained optimization problem can be solved using a primal-dual approach. At each update of the dual optimization variables, a model reduction step can be executed to reduce the number of components and simplify the system model; [0050] The initial system topology and the system requirements can be sent into the optimization module, which can use various optimization approaches to optimize the topology (e.g., states of the switches) and parameters of the components)and a loss function (See: par [0034] The behavior of the interface can be represented as time series or projections of the time series in the frequency domain. Let [AltContent: rect]={y.sub.t.sub.k.sup.(i), k=0 . . . N,i=1 . . . m} be the desired behavior, where the superscript i designates a physical variable at an interface port (e.g., ports 101-108), and t.sub.k is a time instant for the time series. Imposing a desired behavior to a design solution translates to minimizing a loss function defined as the mean squared error (MSE) between the desired behavior and the behavior generated by the design solution. The loss function can be denoted; par [0051] Subsequent to model reduction, the automated design system determines whether a stopping criterion is reached (operation 510). The stopping criterion can be the difference between the simulated behavior of the current system and the desired behavior (e.g., the requirements). In some embodiments, determining whether the stopping criterion is met can include determining whether the loss function is smaller than a predetermined threshold. If the stopping criterion is not met, the system updates the optimization variable of the dual problem (operation 512) and continues to solve the primal problem using the updated variable of the dual problem (operation 506)); and
providing the design solution of the physical system based on the generated topology and the determined parameters of the components, thereby facilitating construction of the physical system (See: [0053] Subsequent to the final fine-tuning of the component parameters, the automated design system outputs the design solution (operation 516). The outputted design solution can allow a user to construct a physical system that meets the design requirements. Constructing the physical system can include obtaining physical components, configuring or tuning parameters of the physical components, and interconnecting these physical components according to the design solution).
Matei et al does not specify but HUANG et al discloses a reinforcement learning (RL) process (See: pg. 4, 2.2 Machine Learning, ML-based solutions can be categorized according to their learning paradigms: supervised learning, unsupervised learning, active learning, and reinforcement learning. The difference between supervised and unsupervised learning is whether or not the input data is labeled. With supervised or unsupervised learning, ML models are trained on static data sets offline and then deployed for online inputs without refinement. With active learning, ML models subjectively choose samples from input space to obtain ground truth and refine themselves during the searching process. With reinforcement learning, ML models interact with the environment by taking actions and getting rewards, with the goal of maximizing the total reward. These paradigms all have been shown to be applied to the EDA problems … CNN models are composed of convolutional layers a and other basic blocks such as non-linear activation functions and downsample pooling functions; pg. 21, 6.3 Machine Learning for Device Sizing Automation, Based on this optimization model, Wang et al. [148] apply the reinforcement learning technique to deal with device sizing problems. Figure 12 illustrates the proposed reinforcement learning framework. At each environment step, the observations from the simulator are fed to the agent. A reward is calculated by the value network based on current performance. Then, the agent responds with an action to update the device sizes. Because the transistors are both affected by their local status (e.g., transconductance 𝑔𝑚, drain current 𝐼𝑑𝑠 , etc.) and the global status (DC operating points) of the circuit, the optimization of each transistor is not independent. To promote learning performance and efficiency, the authors use a multi-step environment, where the agent receives both the local status of the corresponding transistor and the global status. Although the device sizing problem is automated by the reinforcement learning approach, the training process depends heavily on efficient simulation tools).
It would have been obvious before the effective filing date to combine machine learning for electronic design automation as taught by HUANG et al to component-based design of physical systems of Matei et al would be to be more effective and efficient to deal with extremely large search space with low latency (HUANG et al, 1 INTRODUCTION).
2. HUANG et al discloses the method of claim 1, wherein performing the RL process comprises defining a reward function that encourages sparsity (See: page 4, “2.2 Machine Learning”, With reinforcement learning, ML models interact with the environment by taking actions and getting rewards, with the goal of maximizing the total reward. These paradigms all have been shown to be applied to the EDA problems).
It would have been obvious before the effective filing date to combine machine learning for electronic design automation as taught by HUANG et al to component-based design of physical systems of Matei et al would be to be more effective and efficient to deal with extremely large search space with low latency (HUANG et al, 1 INTRODUCTION).
3. Matei et al discloses the method of claim 1, wherein the generated topology comprises a plurality of generalized components, wherein a respective generalized component comprises a plurality of switches, with each switch coupled to a component of a particular type (See: par [0037] During the initial learning, the components are unknown. To enable the automated design system to select, from a component library, one or more components, for each link in the system topology, the system can use a switching mechanism for selecting components. FIG. 3 illustrates an exemplary switching mechanism representing a link in the topology of a physical system; par [0038] In FIG. 3, link 300 is positioned between connection points 302 and 304 and can include a plurality of switches (e.g., switches 306 and 308) and a plurality of components (components 310 and 312) of various types. More specifically, each component can be coupled to connection point 302 via a corresponding switch. For example, component 310 is coupled to connection point 302 via switch 306, and component 312 is coupled to connection point 302 via switch 308. As one can see in FIG. 3, the opening and closing of a switch can determine whether a corresponding component is included in link 300. For example, if switch 306 is closed, component 310 will be part of link 300; otherwise, component 310 is excluded from link 310. Therefore, the component selection problem becomes the problem of determining the opening/closing states of the switches), thereby select a type of the generalized component by acting on the switches (See: [0039] Essentially the switches shown in FIG. 3 are decision variables that define which components are selected for a particular link. When expressed mathematically, the switches can be interpreted as integer binary variables, with value “1” representing a closed switch and value “0” representing an open switch. Other variables in the system can include physical parameters of the components. For example, one can use β.sub.i.sup.T (where β.sub.i can be a vector) and s.sub.1 to represent physical parameters and switch variables, respectively, of component i. The decision variable vector for a particular link can be denoted by β.sup.T=[β.sub.1.sup.T, . . . , β.sub.n.sup.T] and S.sup.T=[S.sub.1, . . . , S.sub.n], where n is the number of to-be-selected components; par [0050] The initial system topology and the system requirements can be sent into the optimization module, which can use various optimization approaches to optimize the topology (e.g., states of the switches) and parameters of the components).
Matei et al does not specify but HUANG et al discloses a reinforcement learning (RL) process (See: pg. 4, 2.2 Machine Learning, ML-based solutions can be categorized according to their learning paradigms: supervised learning, unsupervised learning, active learning, and reinforcement learning. The difference between supervised and unsupervised learning is whether or not the input data is labeled. With supervised or unsupervised learning, ML models are trained on static data sets offline and then deployed for online inputs without refinement. With active learning, ML models subjectively choose samples from input space to obtain ground truth and refine themselves during the searching process. With reinforcement learning, ML models interact with the environment by taking actions and getting rewards, with the goal of maximizing the total reward. These paradigms all have been shown to be applied to the EDA problems … CNN models are composed of convolutional layers a and other basic blocks such as non-linear activation functions and downsample pooling functions; pg. 21, 6.3 Machine Learning for Device Sizing Automation, Based on this optimization model, Wang et al. [148] apply the reinforcement learning technique to deal with device sizing problems. Figure 12 illustrates the proposed reinforcement learning framework. At each environment step, the observations from the simulator are fed to the agent. A reward is calculated by the value network based on current performance. Then, the agent responds with an action to update the device sizes. Because the transistors are both affected by their local status (e.g., transconductance 𝑔𝑚, drain current 𝐼𝑑𝑠 , etc.) and the global status (DC operating points) of the circuit, the optimization of each transistor is not independent. To promote learning performance and efficiency, the authors use a multi-step environment, where the agent receives both the local status of the corresponding transistor and the global status. Although the device sizing problem is automated by the reinforcement learning approach, the training process depends heavily on efficient simulation tools).
It would have been obvious before the effective filing date to combine machine learning for electronic design automation as taught by HUANG et al to component-based design of physical systems of Matei et al would be to be more effective and efficient to deal with extremely large search space with low latency (HUANG et al, 1 INTRODUCTION).
4. Matei et al discloses the method of claim 1, wherein using the nonlinear optimization process to determine parameters of the components (See: par [0028] Embodiments described herein solve the technical problem of automated design of physical systems. The automated design system can have a library of physical components (e.g., electrical or mechanical components) and the design process can start with constructing a sufficiently large system topology describing connections among the components. The system can then apply an optimization algorithm to eliminate redundant components in the system topology and learn the best parameters that can meet the design requirements. More specifically, the optimization algorithm can transform an initial multi-objective formulation of the optimization problem into a single objective, constrained nonlinear problem. The nonlinear, constrained optimization problem can be solved using a primal-dual approach. At each update of the dual optimization variables, a model reduction step can be executed to reduce the number of components and simplify the system model) comprises: generating a Functional Mockup Unit (FMU) (See: [0076] In some embodiments, the primal optimization problem can be solved by running for a fixed number of iterations (e.g., 100 iterations). The dual problem parameter can be updated for 30 iterations. The primal problem is solved using the Powell algorithm. Without model reduction the number of operations is c×104×100×40, where the constant c defines the number of operations needed to evaluate the cost function. The cost function evaluation requires simulating the system model. In some embodiments, the system can use the Modelica language to represent the model and generate Functional Mockup Unit (FMU) objects that can be used for simulation purposes); and determining the parameters of the components using a gradient-free or gradient-approximation optimization process, which comprises simulating the model (See: par [0050] At each optimization iteration, the cost function [AltContent: rect](β, s) is evaluated, which involves simulating the behaviors of the current system and comparing such behaviors to the design requirements) and computing the loss function using the FMU (See: [0076] In some embodiments, the primal optimization problem can be solved by running for a fixed number of iterations (e.g., 100 iterations). The dual problem parameter can be updated for 30 iterations. The primal problem is solved using the Powell algorithm. Without model reduction the number of operations is c×104×100×40, where the constant c defines the number of operations needed to evaluate the cost function. The cost function evaluation requires simulating the system model. In some embodiments, the system can use the Modelica language to represent the model and generate Functional Mockup Unit (FMU) objects that can be used for simulation purposes).
5. Matei et al discloses the method of claim 1, wherein using the nonlinear optimization process to determine parameters of the components comprises: extracting a set of equations from the model, wherein the equations specify relationships between a state vector, an algebraic-variables vector (See: par [0031] The constitutive equations of the components, together with the connection equations and the boundary conditions, induce the behavior of the system. A typical mathematical model for describing the behavior of a physical system can include a differential algebraic equation (DAE), such as F ({dot over (x)}, x; β)=0, where x denotes the system's state and β is a vector of system parameters. The following discussion uses designing an electrical system as an example to describe the operation of an automated design system), and a parameter vector comprising parameters of the components (See: par [0039] Other variables in the system can include physical parameters of the components. For example, one can use β.sub.i.sup.T (where β.sub.i can be a vector) and s.sub.1 to represent physical parameters and switch variables, respectively, of component i); and determining the parameters of the components based on the extracted set of equations using a gradient-based optimization process (See: par [0063] . The design system determines whether the number of parameters in the optimization problem has been reduced to less than a predetermined threshold (operation 704). If not, the design system implements a first-order method (e.g., gradient-based algorithms) to solve the primal optimization problem (operation 706) and outputs the solution (operation 708)).
6. Matei et al discloses the method of claim 5, wherein determining the parameters of the components further comprises: computing a gradient of the loss function by using an ordinary differential equation (ODE) solver to solve the extracted equations (See: par [0031] The constitutive equations of the components, together with the connection equations and the boundary conditions, induce the behavior of the system. A typical mathematical model for describing the behavior of a physical system can include a differential algebraic equation (DAE), such as F ({dot over (x)}, x; β)=0, where x denotes the system's state and β is a vector of system parameters. The following discussion uses designing an electrical system as an example to describe the operation of an automated design system; par [0034] The behavior of the interface can be represented as time series or projections of the time series in the frequency domain. Let [AltContent: rect]={y.sub.t.sub.k.sup.(i), k=0 . . . N,i=1 . . . m} be the desired behavior, where the superscript i designates a physical variable at an interface port (e.g., ports 101-108), and t.sub.k is a time instant for the time series. Imposing a desired behavior to a design solution translates to minimizing a loss function defined as the mean squared error (MSE) between the desired behavior and the behavior generated by the design solution. The loss function can be denoted…).
7. Matei et al discloses the method of claim 5, wherein determining the parameters of the components further comprises transforming the extracted set of equations into a set of constraints used in the optimization process (See: par [0062] certain nonlinear least-square optimization algorithms can accept box constraints and, hence, no additional transformation of variables is necessary to remove the constraints. In addition to gradient-based algorithms, the design system can also implement gradient-free algorithms (e.g., Powell algorithm or Nelder-Mead algorithm). However, the optimization variables update is based on model simulation only and, hence, can be slow when facing a large number of variables (e.g., Powell algorithms requires n model simulations, where n is the total number of variables).
8. Matei et al discloses the method of claim 7, wherein transforming the equations into the constraints comprises performing local parameterization by approximating the state vector using a polynomial between adjacent time instants (See: [0034] The behavior of the interface can be represented as time series or projections of the time series in the frequency domain. Let [AltContent: rect]={y.sub.t.sub.k.sup.(i), k=0 . . . N,i=1 . . . m} be the desired behavior, where the superscript i designates a physical variable at an interface port (e.g., ports 101-108), and t.sub.k is a time instant for the time series. Imposing a desired behavior to a design solution translates to minimizing a loss function defined as the mean squared error (MSE) between the desired behavior and the behavior generated by the design solution. The loss function can be denoted….).
9. Matei et al discloses the method of claim 7, wherein transforming the equations into the constraints comprises performing global parameterization by approximating the state vector using a set of orthogonal basis functions (See: par [0061] as the number of optimization variables decreases (i.e., the number of components decreases as a result of model reduction), the design system may use a second-order algorithm (e.g., a quasi-Newton method that is specialized in solving nonlinear least-square problems) to solve the primal optimization problem. Such optimization algorithms take advantage of the quadratic structure to use the gradients only to approximate the Hessian of the cost function).
10. Matei et al discloses the method of claim 1, wherein performing the RL process comprises training a deep neural network (DNN) (See: par [0065] the automated design system can be implemented on a deep-learning platform that has automatic differentiation features. To do so, the system needs to transform the primal optimization problem that includes the mode simulation into a format that is compatible with the deep learning platform. To achieve this, the system models are flattened (model hierarchy is removed) and symbolically simplified into block lower triangular forms. This step can be executed by a simulation tool (e.g., Dymola, JModelica, OpenModelica, etc.) before the simulation of a model. Next, the simplified models can be sent to a parser that uses symbolic algebra to generate objects that can be consumed by the training platforms).
As per Claims 11-20, claims 11-20 recite limitations analogous in scope to those of claims 1-10, and as such are similar rejected.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KIBROM K GEBRESILASSIE whose telephone number is (571)272-8571. The examiner can normally be reached M-F 9:00 AM-5:30 PM.
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, Rehana Perveen can be reached at 571 272 3676. 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.
KIBROM K. GEBRESILASSIE
Primary Examiner
Art Unit 2189
/KIBROM K GEBRESILASSIE/ Primary Examiner, Art Unit 2189 01/21/2026