Method and system for algorithm synthesis in problem solving
First Claim
1. A problem solving method for use in a computer system, wherein the computer system includes an applications module having a problem solver, wherein the problem solver comprises a solving module and a complexity module, the method comprising the steps of:
- receiving a problem statement from the applications module;
determining an expected problem solver behavior associated with said configuration parameters for said problem statement;
providing the solving module with configuration parameters;
selecting a set of configuration parameter vectors;
determining a set of search space points;
perform a partial search with said configuration parameter vectors;
determining actual solver behavior;
reviewing said actual solver behavior to determine if a problem solution has been found;
determining whether to perform a solver iteration step or to request the complexity module to perform an adaptation step if a problem solution has not been found;
performing a said solver iteration step when said solver iteration step is selected, comprising the steps of determining new actual solver behavior and determining whether to repeat said solver iteration step;
repeating said solver iteration step until said adaptation step is selected;
comparing said actual solver behavior with said expected solver behavior when said adaptation step is selected;
requesting the complexity module to perform said adaptation step;
performing said adaptation step, comprising the steps of modifying said configuration parameters within the complexity module, configuring the solving module with said modified configuration parameters, determining expected solver behavior associated with said modified configuration parameters for said problem statement, selecting an algorithm to calculate a revised problem solution, determining a revised actual solver behavior associated with said modified configuration parameters for said problem statement, reviewing said revised actual solver behavior to determine if a problem solution has been found, determining whether to perform said solver iteration step or to request the complexity module to perform another adaptation step if a problem solution has not been found, and repeating said iteration step until said adaptation step is selected;
repeating said adaptation step until a problem solution is found; and
providing the solution to the applications module.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for problem solving in a computer system includes an applications module for sending a problem statement to a complexity module, which configures a solving module with configuration parameters and also determines expected problem solver behavior. The solving module selects a set of parameter configuration vectors, determines a set of search space points, performs a partial search based on the parameter configuration vectors, and determines actual problem solver behavior. The solving module then determines whether a problem solution has been found, whether to perform a solver iteration step or request a complexity module to perform an adaptation step.
23 Citations
44 Claims
-
1. A problem solving method for use in a computer system, wherein the computer system includes an applications module having a problem solver, wherein the problem solver comprises a solving module and a complexity module, the method comprising the steps of:
-
receiving a problem statement from the applications module;
determining an expected problem solver behavior associated with said configuration parameters for said problem statement;
providing the solving module with configuration parameters;
selecting a set of configuration parameter vectors;
determining a set of search space points;
perform a partial search with said configuration parameter vectors;
determining actual solver behavior;
reviewing said actual solver behavior to determine if a problem solution has been found;
determining whether to perform a solver iteration step or to request the complexity module to perform an adaptation step if a problem solution has not been found;
performing a said solver iteration step when said solver iteration step is selected, comprising the steps of determining new actual solver behavior and determining whether to repeat said solver iteration step;
repeating said solver iteration step until said adaptation step is selected;
comparing said actual solver behavior with said expected solver behavior when said adaptation step is selected;
requesting the complexity module to perform said adaptation step;
performing said adaptation step, comprising the steps of modifying said configuration parameters within the complexity module, configuring the solving module with said modified configuration parameters, determining expected solver behavior associated with said modified configuration parameters for said problem statement, selecting an algorithm to calculate a revised problem solution, determining a revised actual solver behavior associated with said modified configuration parameters for said problem statement, reviewing said revised actual solver behavior to determine if a problem solution has been found, determining whether to perform said solver iteration step or to request the complexity module to perform another adaptation step if a problem solution has not been found, and repeating said iteration step until said adaptation step is selected;
repeating said adaptation step until a problem solution is found; and
providing the solution to the applications module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system for problem solving, the system having implementation units communicating with the computer system, the system comprising:
-
an input device for providing the problem statement;
a computer coupled to the output of said input device;
a memory portion coupled to the computer comprising;
software for receiving the problem statement from said input device;
software for determining solver configuration parameter vectors;
software for configuring a problem solver;
software for determining expected solver behavior;
software for performing a partial search with said configuration parameter vectors;
software for determining actual solver behavior and determining whether a solution has been found;
software for determining whether to perform a solver iteration step or to perform an adaptation step; and
software for performing an adaptation step, comprising modifying said configuration parameters and reconfiguring said problem solver; and
output means for providing a solution statement. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer system for problem solving, the system having implementation units communicating with the computer system, the system comprising:
-
an input device for providing the primary goal for the task to be performed;
a computer coupled to the output of said input device;
a memory portion coupled to said computer comprising;
a complexity module for configuring a problem statement and determining expected solver behavior;
a controllable solving module coupled to said complexity module for determining actual solver behavior;
a synthesis module for determining configuration parameter vectors; and
comparison means for comparing said actual solver behavior with said expected solver behavior; and
output means for providing a statement of the problem solution. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
34. A problem solver within a computer system, said problem solver comprising:
-
means for receiving a problem statement, means for determining expected solver behavior associated with said problem statement;
means for providing configuration parameters for a plurality of problems;
means for determining a set of configuration parameter vectors;
means for performing a partial search with said configuration parameter vectors;
means for calculating actual solver behavior;
means for reviewing said actual solver behavior to determine if a problem solution has been found;
means for determining whether to perform a solver iteration step or to request an adaptation step if a problem solution has not been found;
means for performing a solver iteration step, comprising performing another search step, calculating a revised actual solver behavior and determining whether to repeat said solver iteration step;
means for comparing said actual solver behavior with said expected solver behavior;
means for requesting performance of an adaptation step;
means for performing an adaptation step, comprising modifying said configuration parameters, determining a revised expected problem solver behavior, and providing said modified configuration parameters and said revised expected problem solver behavior to said means for performing a solver iteration step; and
means for providing the problem solution to an output device.
-
-
35. A problem solving method for use in a computer system comprising the steps of:
-
receiving a problem statement;
configuring a problem solver with configuration parameters;
determining a set of configuration parameter vectors;
determining expected solver behavior associated with said configuration parameters for said problem statement;
searching for a solution with said configuration parameter vectors;
determining actual solver behavior;
determining if a problem solution has been found;
determining whether to perform a solving iteration step or an adaptation step if a problem solution has not been found;
performing said solver iteration step, when said solver iteration step is selected, comprising the steps of determining a new actual solver behavior and determining whether to repeat said iteration step;
repeating said solver iteration step until said adaptation step is selected;
comparing said actual solver behavior with said expected solver behavior when said adaptation step is selected;
performing said adaptation step, comprising the steps of modifying said configuration parameters, determining expected solver behavior associated with said modified configuration parameters, determining a revised actual solver behavior, reviewing said revised actual solver behavior to determine if a problem solution has been found, determining whether to perform said solver iteration step or to perform another adaptation step if a problem solution has not been found, and repeating said iteration step until said adaptation step is selected;
repeating said adaptation step until a problem solution is found; and
transmitting a solution statement.
-
-
44. A problem solver stored via storage media, the storage media comprising:
-
a first plurality of binary values for receiving a problem statement transmission and storing the problem statement in a first data format;
a second plurality of binary values for transforming the first data format to a second data format;
a third plurality of binary values for determining expected solver behavior associated with said second data format;
a fourth plurality of binary values for selecting a set of configuration parameter vectors;
a fifth plurality of binary values for performing a partial search;
a sixth plurality of binary values for determining actual solver behavior associated with said second data format;
a seventh plurality of binary values for determining if a problem solution has been found;
an eighth plurality of binary values for determining whether to perform a solver iteration step or perform an adaptation step if a problem solution has not been found;
a ninth plurality of binary values for comparing said expected solver behavior and said actual solver behavior;
a tenth plurality of binary values for performing a solver iteration step;
an eleventh plurality of binary values for performing a solver adaptation step; and
a twelfth plurality of binary values for transmitting a solution statement in a third data format.
-
Specification