IP Library Patent Application 14746751
Patent Application
App. No. 14/746,751

DETERMINING CONTROL ACTIONS OF DECISION MODULES

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

Techniques are described for implementing automated control systems that manipulate operations of specified target systems, such as by modifying or otherwise manipulating inputs or other control elements of the target system that affect its operation (e.g., affect output of the target system). An automated control system may have one or more decision modules that each controls at least some of a target system, with each decision module's control actions being automatically determined to reflect near-optimal solutions with respect to or one more goals and in light of a target system model having multiple inter-related constraints, such as based on a partially optimized solution that is within a threshold amount of a fully optimized solution. Such determination of one or more control actions to perform may occur for a particular time and particular decision module, as well as be repeated over multiple times for ongoing control.

Claims (80)

1 . A computer-implemented method comprising:

obtaining, by one or more computing systems of a collaborative distributed decision system, coupled differential equations that represent a current state of a physical system and that are generated from system information and objective information and sensor information, wherein the physical system has a plurality of inter-related elements and has one or more outputs whose values vary based at least in part on values of one or more manipulatable control elements of the plurality, wherein the system information is supplied by one or more users to describe the physical system and includes multiple rules that each has one or more conditions to evaluate and that specify restrictions involving the plurality of elements, wherein the objective information identifies a goal to be achieved during controlling of the physical system, and wherein the sensor information identifies current state information for at least one element of the plurality and partial initial state information for the physical system at an earlier time;

performing, by the one or more computing systems, a piecewise linear analysis of the coupled differential equations to identify one or more control actions to take in the physical system that manipulate values of the one or more manipulatable control elements and that provide a solution for the goal within a threshold amount of an optimal solution for the goal, wherein the performing of the piecewise linear analysis includes:

dividing a time window from the earlier time to the specified time into a succession of a plurality of time slices that each, other than a first time slice of the succession, overlaps at least in part with a prior time slice of the succession;

evaluating, based on the partial initial state information, the coupled differential equations to identify an initial solution for the goal for the first time slice that includes simulating effects of manipulating the one or more manipulatable control elements to one or more initial values, and storing a model describing a state of the physical system for the first time slice that includes the simulated effects of the manipulating to the one or more initial values;

for each time slice of the succession after the first time slice, updating the stored model for the prior time slice to reflect an additional solution for the goal for the time slice that includes simulating effects of further manipulating the one or more manipulatable control elements to one or more additional values; and

after updating the stored model to reflect the additional solution for the goal for a last time slice of the succession, further updating the stored model for the last time slice to reflect a further solution for the goal for a next time period after the time window based at least in part on the identified current state information, wherein the further solution includes the identified one or more control actions to take in the physical system for a current time; and

providing information about the identified one or more control actions, to enable actions to be taken in the physical system for the current time to affect the outputs based on the identified one or more control actions.

2 . The computer-implemented method of claim 1 wherein the physical system is an electricity generating facility, wherein the plurality of inter-related elements include multiple alternative electricity sources within the electricity generating facility, wherein the manipulatable control elements include one or more controls to determine whether to accept a request to supply a specified amount of electricity at the current time and to select which alternative electricity source to provide the specified amount of electricity at the current time if accepted, wherein the outputs include the electricity being provided, and wherein the goal includes to maximize profits for the electricity generating facility from providing of the electricity.

3 . The computer-implemented method of claim 1 wherein the physical system is an energy generating facility, wherein the plurality of inter-related elements include at least one energy source within the energy generating facility and at least one energy storage mechanism within the energy generating facility, wherein the manipulatable control elements include one or more controls to determine whether to accept a request to supply a specified amount of energy at the current time and to determine to provide energy to the at least one energy storage mechanism at the current time if not accepted and to provide energy from the at least one energy source at the current time if accepted, wherein the outputs include the energy being provided, and wherein the goal includes to maximize profits for the electricity generating facility from providing of the energy.

4 . The computer-implemented method of claim 1 wherein the physical system is a vehicle, wherein the plurality of inter-related elements include a motor and a battery of the vehicle, wherein the manipulatable control elements include one or more controls to select whether at the current time to remove energy from the battery to power the motor or to add excess energy to the battery and how much energy to remove from the battery, wherein the outputs include effects of the motor to move the vehicle at the current time, and wherein the goal includes to move the vehicle at one or more specified speeds with a minimum of energy produced from the battery.

5 . The computer-implemented method of claim 4 wherein the plurality of inter-related elements further includes an engine that is manipulatable to modify energy generated from the engine, wherein the manipulatable control elements further include one or more additional controls to determine how much energy to generate from the engine for use at least in part in adding the excess energy to the battery, and wherein the goal further includes to minimize use of fuel by the engine.

6 . The computer-implemented method of claim 1 wherein the physical system includes product inventory at one or more locations, wherein the plurality of inter-related elements include one or more product sources that provide products and increase the inventory at the one or more locations and further include one or more product recipients that receive products and decrease the inventory at the one or more locations, wherein the manipulatable control elements include one or more first controls to select at the current time one or more first amounts of one or more products to request from the one or more product sources, and further include one or more second controls to select at the current time one or more second amounts of at least one product to provide to the one or more product recipients, wherein the outputs include products being provided from the one or more locations to the one or more product recipients, and wherein the goal includes to maximize profit of an entity operating the one or more locations while maintaining the inventory at one or more specified levels.

7 . The computer-implemented method of claim 1 wherein the stored model for each of the time slices of the succession is expressed with a Hamiltonian function specific to the time slice, and wherein each updating of the stored model for a prior time slice to reflect an additional solution for the goal includes modifying the Hamiltonian function expressed by the stored model for the prior time slice.

8 . The computer-implemented method of claim 1 wherein the updated stored model for the last time slice is expressed with a Hamiltonian function, and wherein the further updating of the stored model for the last time slice to reflect the further solution for the goal for the next time period includes modifying the Hamiltonian function based at least in part on the identified current state information.

9 . The computer-implemented method of claim 1 wherein the evaluation of the coupled differential equations to identify the initial solution for the goal for the first time slice and the updating for each time slice of the succession after the first time slice of the stored model is performed to train the updated stored model for the last time slice to reflect values of at least some of the plurality of inter-related elements for the current time that include one or more elements whose values are not directly observable, and wherein training of the updated stored model for the last time slice enables the further updating to reflect the further solution for the goal for the next time period.

10 . The computer-implemented method of claim 1 further comprising, for each of multiple additional times after the current time, adapting a current copy of the stored model to reflect the additional time by:

obtaining additional sensor information that identifies state information at the additional time for one or more elements of the plurality;

determining, by the one or more computing systems, if an updated copy of the stored model can be generated for the additional time by attempting to identify another solution for the goal for the additional time based at least in part on the additional sensor information, wherein the another solution, if identified, includes one or more further control actions to take in the physical system for the additional time; and

if the updated copy of the stored model can be generated for the additional time, generating and storing the updated copy of the stored model, and providing information about one or more additional control actions to perform in the physical system for the additional time to further manipulate the manipulatable control elements in a specified manner.

11 . The computer-implemented method of claim 10 further comprising, for each of the multiple additional times and if the updated copy of the stored model for the additional time is not generated, providing information about one or more further associated control actions to perform in the physical system for that additional time to further manipulate the manipulatable control elements in a specified manner, wherein the one or more further associated control actions are based on the current copy of the stored model before updating for the additional time.

12 . The computer-implemented method of claim 11 wherein generating of the updated copy of the stored model for one of the multiple additional times includes a deadline for the generating to enable real-time control of the physical system to be performed based on performing control actions in the physical system for the one additional time, and wherein the generating of the updated copy of the stored model for the one additional time fails to complete before the deadline, such that the one or more further associated control actions for that one additional time are performed in the physical system for that one additional time to further manipulate the manipulatable control elements in a specified manner.

13 . The computer-implemented method of claim 10 wherein the updated copy of the stored model for one of the multiple additional times is not generated in a first attempt, and wherein the method further comprises generating the updated copy of the stored model for the one additional time during a second attempt by:

determining, by the one or more computing systems, at least one of the multiple rules to temporarily relax by modifying at least one of the specified restrictions corresponding to the determined at least one rule;

generating, by the one or more computing systems, additional coupled differential equations that represent a current state of the physical system for the one additional time based at least in part on the modified at least one specified restrictions for the determined at least one rule;

performing, by the one or more computing systems, a further piecewise linear analysis of the generated additional coupled differential equations to identify the another solution for the goal for the one additional time,

generating and storing the updated copy of the stored model for the one additional time; and

providing information about the one or more additional control actions of the updated copy of the stored model for the one additional time to perform in the physical system for the one additional time to further manipulate the manipulatable control elements in a specified manner.

14 . The computer-implemented method of claim 13 wherein the multiple rules include one or more absolute rules that specify non-modifiable restrictions that are requirements regarding operation of the physical system, and further include one or more hard rules that specify restrictions regarding operation of the physical system that can be modified in specified situations, and wherein each determined at least one rule is one of the hard rules.

15 . The computer-implemented method of claim 13 wherein the multiple rules include one or more soft rules whose conditions evaluate to one of three or more possible values under differing situations to represent varying degrees of uncertainty and further include additional rules whose conditions evaluate to either true or false under differing situations, and wherein one or more of the determined at least one rules are from the soft rules.

16 . The computer-implemented method of claim 10 wherein the determining if the updated copy of the stored model can be generated for one of the multiple additional times includes generating values for one or more model error measurements based at least in part on the current copy of the stored model for the one additional time, and includes determining that at least one of the generated values exceeds an error threshold, and

wherein the method further comprises generating the updated copy of the stored model for the one additional time by:

evaluating, by the one or more computing systems, the generated values for the one or more model error measurements to determine at least one of the multiple rules that is incorrect;

modifying, by the one or more computing systems, the determined at least one rule in a manner expected to reduce values for the one or more model error measurements;

generating, by the one or more computing systems, additional coupled differential equations that represent a current state of the physical system for the one additional time based at least in part on the modified determined at least one rule;

performing, by the one or more computing systems, a further piecewise linear analysis of the generated additional coupled differential equations to identify the another solution for the goal for the one additional time,

generating and storing the updated copy of the stored model for the one additional time; and

providing information about the one or more additional control actions of the updated copy of the stored model for the one additional time to perform in the physical system for the one additional time to further manipulate the manipulatable control elements in a specified manner.

17 . The computer-implemented method of claim 16 wherein the another solution identified for the goal for two or more of the additional times each has an associated error measurement within a defined threshold relative to an optimal solution for the goal for that additional time, and wherein the one or more model error measurements are based on a rate of change of one or more of:

Hamiltonian functions expressed by two or more copies of the model for two or more times;

amounts of entropy included in two or more copies of the model for two or more times;

values of variables associated with the plurality of inter-related elements in state information for the physical system for two or more times; or

a reduction in the associated error measurements for the another solutions for the two or more additional times.

18 . The computer-implemented method of claim 10 wherein the determining if the updated copy of the stored model can be generated for one of the multiple additional times includes:

generating, by the one or more computing systems, the updated copy of the stored model for the one additional time;

generating, by the one or more computing systems, values for one or more model error measurements for the generated updated copy of the stored model for the one additional time;

determining, by the one or more computing systems, that at least one of the generated values exceeds an error threshold; and

replacing, by the one or more computing systems, the generated updated copy of the stored model for the one additional time with a new generated updated copy of the stored model for the one additional time, by causing a new copy of the model for the one additional time to be generated without using any past copies of the model, and storing the generated new copy of the model for the one additional time.

19 . The computer-implemented method of claim 1 further comprising modifying the multiple rules during one of the multiple additional times, and wherein updating of copies of the stored model after the one additional time includes using the modified rules.

20 . The computer-implemented method of claim 1 further comprising, before the dividing of the time window into the succession of time slices, determining, by the one or more computing systems, at least one of a size of the time slices or a size of the time window.

21 . The computer-implemented method of claim 20 wherein the determining of the at least one of the size of the time slices or the size of the time window includes evaluating multiple test sizes for the at least one of the size of the time slices or the size of the time window, and selecting, based at least in part on the evaluating, one or more of the multiple sizes to use for the determined at least one size of the time slices or size of the time window.

22 . The computer-implemented method of claim 20 further comprising generating a Hamiltonian function to express a copy of the model of the state of the physical system before the dividing of the time window into the succession of time slices, and wherein the determining of the at least one of the size of the time slices or the size of the time window includes performing a symbolic computation analysis of the Hamiltonian function to identify one or more preferred sizes to use for the determined at least one size of the time slices or size of the time window.

23 . The computer-implemented method of claim 1 wherein the providing of the information about the identified one or more control actions includes performing, by the one or more computing systems, the actions in the physical system to affect the outputs by manipulating the manipulatable control elements in specified manners for the identified one or more control actions.

24 . A non-transitory computer-readable medium having stored contents that cause one or more computing systems to perform a method, the method comprising:

obtaining, by the one or more computing systems, coupled differential equations that represent a state of a target system at a specified time and that are generated from system information and objective information and sensor information, wherein the target system has a plurality of elements that are inter-related and that include one or more control elements with modifiable values, wherein the system information is supplied by one or more users to describe the physical system and includes restrictions involving the plurality of elements, wherein the objective information identifies a goal to be achieved based at least in part on modifying the values of the control elements, and wherein the sensor information identifies state information for the specified time for at least one element of the plurality;

performing, by the one or more computing systems, a piecewise linear analysis of the coupled differential equations to identify a solution for the goal for the specified time within a threshold amount of an optimal solution for the goal, wherein the identified solution has one or more associated control actions that modify at least one value of at least one of the control elements in a specified manner, and wherein the performing of the piecewise linear analysis includes:

dividing a time window from an earlier time to the specified time into a succession of a plurality of time slices;

evaluating, based on initial state information for the earlier time, the coupled differential equations to identify an initial solution for the goal for a first time slice of the succession that includes simulating effects of modifying one or more values of the one or more manipulatable control elements in a specified initial manner, and storing a model describing a state of the target system for the first time slice that includes the simulated effects of the modifying of the one or more values;

for each time slice of the succession after the first time slice, updating the stored model for a prior time slice to reflect an additional solution for the goal for the time slice that includes simulating effects of further modifying one or more values of the one or more manipulatable control elements; and

after updating the stored model to reflect the additional solution for the goal for a last time slice of the succession, further updating the stored model for the last time slice to reflect a further solution for the goal for a next time period after the time window based at least in part on the identified state information for the specified time, wherein the further solution includes the one or more associated control actions; and

providing information about the one or more associated control actions, to enable modification of the at least one value of the at least one control element for the specified time based on the one or more associated control actions.

25 . The non-transitory computer-readable medium of claim 24 wherein the target system is a physical system having one or more outputs whose values vary based at least in part on the values of the control elements, wherein the one or more computing systems are part of a collaborative distributed decision system, and wherein the stored contents include software instructions that, when executed, further cause the one or more computing systems to initiate performance of the one or more associated control actions in the physical system to modify the at least one value of the at least one control element and to cause resulting changes in the values of the one or more outputs for the specified time.

26 . The non-transitory computer-readable medium of claim 24 wherein the target system includes one or more computing resources being protected from unauthorized operations, wherein the plurality of inter-related elements include one or more sources of attempts to perform operations, wherein the control elements include one or more controls to determine whether a change in authorization to a specified type of operation is needed and to select one or more actions to take to implement the change in authorization if so determined, and wherein the goal includes to minimize unauthorized operations that are performed.

27 . The non-transitory computer-readable medium of claim 24 wherein the target system includes one or more information sources to be analyzed to determine a risk level from information of the one or more information sources, wherein the control elements include one or more controls to determine whether the risk level exceeds a specified threshold and to select one or more actions to take to mitigate the risk level, and wherein the goal includes to minimize the risk level.

28 . The non-transitory computer-readable medium of claim 24 wherein the target system includes one or more financial markets, wherein the plurality of inter-related elements include items that can be purchased and/or sold in the one or more financial markets, wherein the control elements include one or more controls to determine whether to purchase or sell particular items at particular times and to select one or more actions to initiate transactions to purchase or sell the particular items at the particular times, and wherein the goal includes to maximize profit while maintaining risk below a specified threshold.

29 . The non-transitory computer-readable medium of claim 24 wherein the target system includes functionality to perform coding for medical procedures performed on humans, wherein the plurality of inter-related elements include a plurality of medical codes corresponding to a plurality of medical procedures, wherein the control elements include one or more controls to select particular medical codes to associate with particular medical procedures in specified circumstances, and wherein the goal includes to minimize errors in selected medical codes that cause revenue leakage.

30 . A system comprising:

one or more processors of one or more computing systems; and

one or more modules that, when executed by at least one of the one or more processors, cause the one or more processors to determine one or more control actions to perform as part of controlling a physical system, the determining of the one or more control actions including:

obtaining coupled differential equations that represent a state of a physical system for a specified time and that are generated from system information and objective information and sensor information, wherein the physical system has a plurality of inter-related elements and has one or more outputs whose values vary based at least in part on values of one or more manipulatable control elements of the plurality, wherein the system information is supplied by one or more users to describe the physical system and includes restrictions involving the plurality of elements, wherein the objective information identifies a goal to be achieved during controlling of the physical system, and wherein the sensor information identifies state information for the specified time for at least one element of the plurality;

performing a first piecewise linear analysis of the coupled differential equations to train a model that describes a state of the physical system for the specified time and that includes values of at least some of the plurality of elements for the specified time, wherein the performing of the first piecewise linear analysis includes simulating effects of manipulating the one or more manipulatable control elements for each of one or more prior time periods before the specified time while satisfying the goal for the one or more prior time periods;

performing a second piecewise linear analysis of the coupled differential equations to identify one or more control actions to take in the physical system for the specified time that manipulate values of the one or more manipulatable control elements and that provide a solution for the goal for the specified time, wherein the performing of the piecewise linear analysis includes updating the model to reflect the solution for the goal for the specified time period based at least in part on the identified state information for the specified time; and

providing information about the identified one or more control actions, to enable actions to be taken in the physical system for the specified time to affect the outputs based on the identified one or more control actions.

31 . The system of claim 30 wherein the one or more modules are part of a collaborative distributed decision system and include software instructions for execution by the at least one processor, wherein the provided solution reflected in the updated model is within a threshold amount of an optimal solution for the goal for the specified time, and wherein the system further comprises one or more effectuators to perform the actions in the physical system for the specified time by manipulating the values of the one or more manipulatable control elements in specified manners for the identified one or more control actions to affect the outputs.

32 . The system of claim 31 wherein the performing of the first piecewise linear analysis of the coupled differential equations to train the model further includes:

for a time window from an earlier time to the specified time that includes the one or more prior time periods, dividing the time window into a succession of a plurality of time slices that each, other than a first time slice of the succession, overlaps at least in part with a prior time slice of the succession;

evaluating, based on initial state information for the earlier time, an initial version of the coupled differential equations to identify an initial solution for the goal for the first time slice that includes simulating effects of manipulating the one or more manipulatable control elements to one or more initial values, and storing an initial version of the model that describes the state of the physical system for the first time slice and includes the simulated effects of the manipulating to the one or more initial values; and

for each time slice of the succession after the first time slice, updating a version of the stored model from the prior time slice to reflect an additional solution for the goal for the time slice that includes simulating effects of further manipulating the one or more manipulatable control elements to one or more additional values, and

wherein the trained model is a version of the model after the updating to reflect the additional solution for the goal for a last time slice of the succession.

33 . The system of claim 30 wherein the one or more modules consist of one or more means for performing the determining of the one or more control actions to perform as part of controlling the physical system.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: ATIGEO CORPORATION
To: VERITONE ALPHA, INC.
Reel/Frame 046302/0883 →
SECURITY INTEREST Recorded Nov 9, 2015
From: ATIGEO CORPORATION
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 036995/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2015
From: KOHN, WOLF, DR.; SANDOVAL, MICHAEL LUIS; VETTRIVEL, VISHNU; CROSS, JONATHAN; KNOX, JASON; TALBY, DAVID; LAZARUS, MIKE
To: ATIGEO CORP.
Reel/Frame 036626/0575 →