Turing complete computer implemented machine learning method and system
First Claim
1. A programmed Turing complete computer including a memory for storing an indirectly executable computer program and a processor for executing the program, the program including:
- a first instruction that points to and designates machine code stored in the memory as data;
a second instruction that points to and designates machine code stored in the memory as directly executable machine code;
a third instruction that alters machine code pointed to by the first instruction; and
a fourth instruction that executes machine code pointed to by the second instruction; and
the processor, memory and program operating in combination for learning by performing the steps of;
(a) creating and storing a plurality of machine code entities, each including a directly executable instruction which includes run time data in the memory;
(b) for at least one of the entities, performing the substeps of;
(b1) executing the second instruction to point to the entity; and
(b2) executing the fourth instruction using input data to produce a result; and
(b3) evaluating the result;
(c) for at least one of the entities, performing the substeps of;
(c1) executing the first instruction to point to the entity; and
(c2) executing the third instruction to alter the entity using an alteration algorithm to include a different directly executable instruction; and
(d) repeating steps (b) and (c) until an end criterion based on the evaluation in step (b3) is reached.
0 Assignments
0 Petitions
Accused Products
Abstract
One or more machine code entities such as functions are created which represent solutions to a problem and are directly executable by a computer. The programs are created and altered by a program in a higher level language such as "C" which is not directly executable, but requires translation into executable machine code through compilation, interpretation, translation, etc. The entities are initially created as an integer array that can be altered by the program as data, and are executed by the program by recasting a pointer to the array as a function type. The entities are evaluated by executing them with training data as inputs, and calculating fitnesses based on a predetermined criterion. The entities are then altered based on their fitnesses using a machine learning algorithm by recasting the pointer to the array as a data (e.g. integer) type. This process is iteratively repeated until an end criterion is reached. The entities evolve in such a manner as to improve their fitness, and one entity is ultimately produced which represents an optimal solution to the problem. Each entity includes a plurality of directly executable machine code instructions, a header, a footer, and a return instruction. The instructions include branch instructions which enable subroutines, leaf functions, external function calls, recursion, and loops. The system can be implemented on an integrated circuit chip, with the entities stored in high speed memory in a central processing unit.
-
Citations
18 Claims
-
1. A programmed Turing complete computer including a memory for storing an indirectly executable computer program and a processor for executing the program, the program including:
-
a first instruction that points to and designates machine code stored in the memory as data; a second instruction that points to and designates machine code stored in the memory as directly executable machine code; a third instruction that alters machine code pointed to by the first instruction; and a fourth instruction that executes machine code pointed to by the second instruction; and the processor, memory and program operating in combination for learning by performing the steps of; (a) creating and storing a plurality of machine code entities, each including a directly executable instruction which includes run time data in the memory; (b) for at least one of the entities, performing the substeps of; (b1) executing the second instruction to point to the entity; and (b2) executing the fourth instruction using input data to produce a result; and (b3) evaluating the result; (c) for at least one of the entities, performing the substeps of; (c1) executing the first instruction to point to the entity; and (c2) executing the third instruction to alter the entity using an alteration algorithm to include a different directly executable instruction; and (d) repeating steps (b) and (c) until an end criterion based on the evaluation in step (b3) is reached. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification