System and method for constructing cognitive programs
First Claim
1. A method of creating a program to perform a first task having a first goal, the method comprising:
- receiving input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks;
receiving satisfaction criteria;
automatically obtaining a number of subprograms by learning from the number of examples in the received input, data that are determined, in accordance with the satisfaction criteria, operable to satisfactorily perform one of the other tasks;
adding the obtained subprogram or subprograms to a storage library;
creating a number of instructions each operable to invoke one of the subprograms stored in the storage library;
selecting one or more of the created instructions;
adding the selected instruction or instructions to previously obtained instructions to obtain available instructions;
selecting a number of the available instructions so as to create a first instruction set; and
creating said program to perform said first task based on the first instruction set,in which each automatically obtained subprogram is operable to satisfactorily perform one of the other tasks by itself.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a method to search for a solution to a problem in a domain. The method may comprise obtaining a plurality of agents each operable to produce one or more numerical bids and to propose one or more actions and a plurality of nodes each representing a state of the domain; automatically selecting a respective agent and a respective node based on a bids from the plurality of agents; and automatically adding a new node representing a new state which is obtained by applying to the state represented by the selected node an action proposed by the selected agent. The plurality of nodes may each have a depth associated therewith and the respective agent and the respective node may be selected regardless of the depth associated with the selected node.
-
Citations
15 Claims
-
1. A method of creating a program to perform a first task having a first goal, the method comprising:
-
receiving input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks; receiving satisfaction criteria; automatically obtaining a number of subprograms by learning from the number of examples in the received input, data that are determined, in accordance with the satisfaction criteria, operable to satisfactorily perform one of the other tasks; adding the obtained subprogram or subprograms to a storage library; creating a number of instructions each operable to invoke one of the subprograms stored in the storage library; selecting one or more of the created instructions; adding the selected instruction or instructions to previously obtained instructions to obtain available instructions; selecting a number of the available instructions so as to create a first instruction set; and creating said program to perform said first task based on the first instruction set, in which each automatically obtained subprogram is operable to satisfactorily perform one of the other tasks by itself. - View Dependent Claims (2)
-
-
3. A method of creating a program to perform a first task having a first goal, the method comprising:
-
receiving input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks; retrieving from storage a stored program having a number of arguments and a number of associated annotations, in which the associated annotations are utilized in obtaining the number of examples; receiving satisfaction criteria; automatically obtaining a number of subprograms by learning from the number of examples in the received input data that are determined, in accordance with the satisfaction criteria, operable to satisfactorily perform one of the other tasks; adding the obtained subprogram or subprograms to a storage library; creating a number of instructions each operable to invoke one of the subprograms stored in the storage library; selecting one or more of the created instructions; adding the selected. instruction or instructions to previously obtained instructions to obtain available instructions; selecting a number of the available instructions so as to create a first instruction set; and creatin said program to perform said first task based on the first instruction set, in which the creating of said program includes substituting for each argument in the stored program one of the available instructions. - View Dependent Claims (4, 5)
-
-
6. A system for creating a program to perform a first task having a first goal, the system comprising:
-
means for receiving input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks; means for receiving satisfaction criteria; means for automatically obtaining a number of subprograms by learning from the number of examples in the received input data that are determined, in accordance with the satisfaction. criteria, operable to satisfactorily perform one of the other tasks; means for adding the obtained subprogram or subprograms to a storage library; means for creating a number of instructions each operable to invoke one of the subprograms stored in the storage library; means for selecting one or more of the created instructions; means for adding the selected instruction or instructions to previous obtained instructions to obtain available instructions; means for selecting a number of the available instructions so as to create a first instruction set; and means for creating said program to perform said first task based on the first instruction set, in which each automatically obtained subprogram is operable to satisfactorily perform one of the other tasks by itself. - View Dependent Claims (7)
-
-
8. A system for creating a program to perform a first task having a first goal, the system comprising:
-
means for receiving input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks; means for retrieving from storage a stored program having a number of arguments and a number of associated annotations, in which the associated annotations are utilized in obtaining the number of examples; means for receiving satisfaction criteria; means for automatically obtaining a number of subprograms by learning from the number of examples in the received input data that are determined, in accordance with the satisfaction criteria, operable to satisfactorily perform one of the other tasks; means for adding the obtained subprogram or subprograms to a storage library; means for creating a number of instructions each operable to invoke one of the subprograms stored in the storage library; means for selecting one or more of the created instructions; means for adding the selected instruction or instructions to previously obtained instructions to obtain available instructions; means for selecting a number of the available instructions so as to create a first instruction set; and means for creating said program to perform said first task based on the first instruction set, in which the means for creating said program includes means for substituting for each argument of the stored program one of the available instructions. - View Dependent Claims (9, 10)
-
-
11. A system for creating a program to perform a first task having a first goal, the system comprising:
-
a receiver operable to receive input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks; a device operable to receive satisfaction criteria; an obtaining device operable to automatically obtain a number of subprograms by learning from the number of examples in the received input data that are determined, in accordance with the satisfaction criteria, operable to satisfactorily perform one of the other tasks; a device operable to add the obtained subprogram. or subprograms to a storage library; a device operable to create a number of instructions each operable to invoke one of the subprograms stored in the storage library; a selecting device operable to enable selection of one or more of the created instructions; a device operable to add the selected instruction or instructions to previously obtained instructions to obtain available instructions; a device operable to enable selection, of a number of the available instructions so as to create a first instruction set; and a creating device operable to create said program to perform said first task based on the first instruction set, in which each automatically obtained subprogram is operable to satisfactorily perform one of the other tasks by itself. - View Dependent Claims (12)
-
-
13. A system for creating a program to perform a first task having a first goal, the system comprising:
-
a receiver operable to receive input data pertaining to a number of other tasks each being different from the first task and each having a goal different from the first goal, in which said input data includes information pertaining to a number of examples in which each example represents a particular situation of one of the other tasks; a device operable to retrieve from storage a stored program having a number of arguments and a number of associated annotations, in which the associated annotations are utilized in obtaining the number of examples; a device operable to receive satisfaction criteria; an obtaining device operable to automatically obtain a number of subprograms by learning from the number of examples in the received input data that are determined, in accordance with the satisfaction criteria operable to satisfactorily perform one of the other tasks; a device operable to add the obtained subprogram or subprograms to a storage library; a device operable to create a number of instructions each operable to invoke one of the subprograms stored in the storage library; a selecting device operable to enable selection of one or more of the created instructions; a device operable to add the selected instruction or instructions to previously obtained instructions to obtain available instructions; a device operable to enable selection of a number of the available instructions so as to create a first instruction set; and a creating device operable to create said program to perform said first task based on the first instruction set, in which the device operable to create said program includes a device operable to substitute for each argument of the stored program one of the available instructions. - View Dependent Claims (14, 15)
-
Specification