Self-optimizing method and machine
First Claim
1. A method for automatically developing software according to a prespecified software performance in response to variations on a prescribed number m of selected control variables related to the software performance, m being an integer which is at least 7, comprising:
- automatically planning a software experiment involving a set of n statistically designed software tests for testing in said n tests said m selected control variables, n being an integer greater than m, said n tests being centered around a specified experimental point in an m-dimensional experimental space;
performing said n designed software tests to collect experimental software performance results;
determining from said n experimental results the combination of said m variables which optimizes said prespecified software performance;
setting and coding in the developed software the conditions of said m variables at the thus-determined optimum variables combination; and
saving the thus-developed software in a software storage device.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for automatically developing new and improved software according to a prespecified performance criterion comprising: automatically planning experiment on selected control variables related to the software; executing the planned experiment; analyzing the experimental results to compare the performance characteristics of the various combinations of the selected control variables in order to determine that combination which improves or optimizes the prespecified optimizing criterion; coding the thus-determined combination in computer-usable form; and saving the coded computer software onto a software storage device. A machine which automatically develops new, self-optimized software according to this method is also disclosed.
-
Citations
44 Claims
-
1. A method for automatically developing software according to a prespecified software performance in response to variations on a prescribed number m of selected control variables related to the software performance, m being an integer which is at least 7, comprising:
-
automatically planning a software experiment involving a set of n statistically designed software tests for testing in said n tests said m selected control variables, n being an integer greater than m, said n tests being centered around a specified experimental point in an m-dimensional experimental space; performing said n designed software tests to collect experimental software performance results; determining from said n experimental results the combination of said m variables which optimizes said prespecified software performance; setting and coding in the developed software the conditions of said m variables at the thus-determined optimum variables combination; and saving the thus-developed software in a software storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A machine for the automatic development of software according to a prespecified software performance in response to variations on a prescribed number m of selected control variables related to the software performance, m being an integer which is at least 7, said development being accomplished through computerized automatic software experimentation for systematically or non-randomly and uniformly searching for an optimizing variables combination in an m-dimensional experimental space, comprising:
-
means for automatically planning a software experiment involving a set of n statistically designed software tests for searching in said m-dimensional space, n being an integer greater than m, said n tests being centered around a specified experimental point in said m-dimensional space; means for performing said n designed software tests to collect experimental software performance results for these tests; means for determining from said n experimental results that combination of said m variables which optimizes said prespecified software performance; means for setting and coding in the developed software the conditions of said m variables at the thus-determined optimum variables combination; and means for saving the thus-developed software in a software storage device. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method for automatically developing, in real time, software relative to a specific performance of the software to be improved or optimized comprising:
-
performing at least one automatic, computerized software experiment involving a plurality of selected control variables which affect the specific performance; computer-analyzing, in real time, the experimental results to determine the best combination of the selected control variables for achieving computerized optimization or the most known improvement at the time of said computerized experiment; setting and coding in the developed software the conditions of said selected control variables at the thus-determined optimum or most known improved variables combination; and saving the thus-generated software in a software storage device. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification