# US 2022/0036216 A1 · Predicted Variables in Programming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2022/0036216 A1
- Document ID: US20220036216A1
- Status: Published application
- Kind: A1
- Application number: 17/280,034
- Filed: 2018-11-20
- Published: 2022-02-03
- Earliest claimed: 2018-09-26
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Jay Yagnik; Aleksandr Darin; Thierry Coppey; Thomas Deselaers; Victor Carbune
- Web page: https://patentgrep.com/patent/US20220036216A1

## CPC

- G06N 5/04: Inference or reasoning models
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/00: Machine learning
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

The present disclosure is directed to a new framework the enables the combination of symbolic programming with machine learning, where the programmer maintains control of the overall architecture of the functional mapping and the ability to inject domain knowledge while allowing their program to evolve by learning from examples. In some instances, the framework provided herein can be referred to as “predictive programming.”

## Claims

### Claim 1

A computer-implemented method, the method comprising:
obtaining, by one or more computing devices, a computer program that comprises a set of computer-executable instructions, wherein the computer program defines a variable that serves as a placeholder for storing data;
providing, by the one or more computing devices, observation data to a machine learning system;
receiving, by the one or more computing devices, a predicted value for the variable produced by the machine learning system based at least in part on the observation data;
setting, by the one or more computing devices, the variable equal to the predicted value; and
after setting, by the one or more computing devices, the variable equal to the predicted value, executing, by the one or more computing devices, the computer program, wherein executing the computer program comprises implementing at least one instruction of the set of computer-executable instructions that controls an operation of the one or more computing devices based at least in part on the variable.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein receiving, by the one or more computing devices, the predicted value for the variable produced by the machine learning system comprises receiving, by the one or more computing devices via a predefined application programming interface, the predicted value for the variable produced by the machine learning system.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the machine learning system combines the observation data into a current state, and wherein the variable comprises a stateful variable.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein providing, by the one or more computing devices, the observation data to the machine learning system comprises providing, by the one or more computing devices via a predefined application programming interface, the observation data to the machine learning system.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein said providing, by the one or more computing devices, the observation data to the machine learning system is caused by and a result of execution of at least one instruction included in the computer program.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the observation data describes a current value of one or more other variables defined by the computer program.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
providing, by the one or more computing devices, feedback data to the machine learning system, wherein the feedback data is used to train the machine learning system to predict the variable.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein providing, by the one or more computing devices, the feedback data to the machine learning system comprises providing, by the one or more computing devices via a predefined application programming interface, the feedback data to the machine learning system.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, wherein said providing, by the one or more computing devices, the feedback data to the machine learning system is caused by and a result of execution of at least one instruction included in the computer program.

### Claim 10 (depends on 7)

The computer-implemented method of claim 7, wherein the feedback data describes an outcome of the operation of the one or more computing devices that was controlled based at least in part on the variable.

### Claim 11 (depends on 7)

The computer-implemented method claim 7, further comprising:
determining, by the machine learning system, a reward value based at least in part on the feedback data; and
modifying, by the machine learning system based at least in part on the reward value, a policy implemented by the machine learning system to produce the predicted value for the variable.

### Claim 12 (depends on 7)

The computer-implemented method of claim 7, wherein the feedback data describes a ground truth value for the variable that was observed after receiving the predicted value for the variable.

### Claim 13 (depends on 7)

The computer-implemented method of claim 7, further comprising:
performing, by the machine learning system, supervised learning based at least in part on a loss function that compares the predicted value for the variable paired with the ground truth value for the variable.

### Claim 14 (depends on 7)

The computer-implemented method of claim 7, further comprising:
determining, by the machine learning system, a fitness value based at least in part on the feedback data; and
determining, by the machine learning system based at least in part on the fitness value, whether to select a mutated model implemented by the machine learning system to produce the predicted value for the variable or to select to an alternative model.

### Claim 15 (depends on 7)

The computer-implemented method of claim 7, wherein providing, by the one or more computing devices, the feedback data to the machine learning system comprises providing, by the one or more computing devices, the feedback data to a prediction group, wherein the prediction group includes the variable and one or more additional variables such that feedback is provided for multiple variables at the same time.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, wherein the machine learning system comprises a software agent that produces the predicted value for the variable or the machine learning system comprises a machine-learned model that produces the predicted value for the variable.

### Claim 17

(canceled)

### Claim 18

(canceled)

### Claim 19 (depends on 1)

The computer-implemented method of claim 1, wherein the variable comprises one of the following types:
Boolean;
enumeration;
short int;
float;
normalized float;
int within a defined range;
string sequence;
a vector of any of the above;
a vector of vectors;
a list of any of the above; or
a combination thereof.

### Claim 20 (depends on 1)

The computer-implemented method of claim 1, wherein the variable exists only within a single running instance of the computer program.

### Claim 21 (depends on 1)

The computer-implemented method of claim 1, wherein the variable persists across multiple running instances of the computer program.

### Claim 22 (depends on 1)

The computer-implemented method of claim 1, wherein the variable persists across the computer program and one or more additional computer programs.

### Claim 23 (depends on 1)

The computer-implemented method of claim 1, wherein the computer program is executed by a first computing device and the machine learning system is executed by a second computing device that is different and distinct from the first computing device.

### Claim 24

(canceled)

### Claim 25

(canceled)

### Claim 26 (depends on 1)

The computer-implemented method of claim 1, wherein the machine learning system comprises a library that has been added to the computer program.

### Claim 27 (depends on 1)

The computer-implemented method of claim 1, wherein the set of computer-executable instructions included in the computer program encode symbolic logic, and wherein the machine learning system performs numerical reasoning to produce the predicted value for the variable.

### Claim 28 (depends on 1)

The computer-implemented method of claim 1, wherein an initial policy of the machine learning system comprises a user-defined heuristic.

### Claim at position 29

29-33. (canceled)

### Claim 34

One or more non-transitory computer-readable media that collectively store instructions that, when executed by one or more processors, cause the one or more processors to:
communicate using an application programming interface that enables a set of client code to interface with a machine learning system to receive a predicted value for a predicted variable defined within the set of client code;
wherein the application programming interface further enables the set of client code to pass observation data to the machine learning system, wherein the machine learning system infers the predicted value for the predicted variable based at least in part on the observation data;
wherein the application programming interface further enables the set of client code to pass feedback data to the machine learning system, wherein the machine learning system uses the feedback data to update a learned inference model that predicts the predicted value for the predicted variable.

### Claim 35

(canceled)

### Claim 36

(canceled)

### Claim 37 (depends on 34)

The one or more non-transitory computer-readable media of claim 34, wherein the application programming interface is embodied in a library, wherein the library is incorporated into a computer program that also includes the set of client code.
