Non-linear genetic algorithms for solving problems
First Claim
1. A process for problem solving, using a population of entities of various sizes and shapes wherein each entity is a hierarchical arrangement of functions and arguments said process comprising iterations of a series of steps, each iteration comprising the steps:
- activating each said entity to produce a result by performing each function in said hierarchical arrangement of functions and arguments;
assigning a value to each said result and associating each said value with a corresponding entity which produced each said result, said value indicative of the fitness of said corresponding entity in solving or partially solving a problem;
selecting at least one selected entity from said population using selection criteria, said selection criteria based on said value associated with each said entity, said selection criteria preferring each said entity having a relatively high associated value over each said entity having a relatively low associated value;
choosing and performing an operation, wherein said chosen operation is one of the operations of crossover or reproduction;
if said chosen operation is crossover, creating at least one new entity by crossover using a group of entities, said group of entities comprising said selected entity and at least one other entity from said population, such that any new entity created by crossover comprises at least a portion of said selected entity and at least a portion of said other entity, said new entity can differ in size and shape from said selected entity and said other entity;
if said chosen operation is reproduction, retaining said selected entity in said population such that said selected entity remains unchanged;
adding said new entity to said population.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a non-linear genetic algorithm for problem solving. The iterative process of the present invention operates on a population of problem solving entities. First, the activated entities perform, producing results. Then the results are assigned values and associated with the producing entity. Next, entities having relatively high associated values are selected. The selected entities perform either crossover, reproduction, or permutation operations. Lastly, the newly created entities are added to the population.
-
Citations
44 Claims
-
1. A process for problem solving, using a population of entities of various sizes and shapes wherein each entity is a hierarchical arrangement of functions and arguments said process comprising iterations of a series of steps, each iteration comprising the steps:
-
activating each said entity to produce a result by performing each function in said hierarchical arrangement of functions and arguments; assigning a value to each said result and associating each said value with a corresponding entity which produced each said result, said value indicative of the fitness of said corresponding entity in solving or partially solving a problem; selecting at least one selected entity from said population using selection criteria, said selection criteria based on said value associated with each said entity, said selection criteria preferring each said entity having a relatively high associated value over each said entity having a relatively low associated value; choosing and performing an operation, wherein said chosen operation is one of the operations of crossover or reproduction; if said chosen operation is crossover, creating at least one new entity by crossover using a group of entities, said group of entities comprising said selected entity and at least one other entity from said population, such that any new entity created by crossover comprises at least a portion of said selected entity and at least a portion of said other entity, said new entity can differ in size and shape from said selected entity and said other entity; if said chosen operation is reproduction, retaining said selected entity in said population such that said selected entity remains unchanged; adding said new entity to said population. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 14)
-
-
10. In a computer system having a population of programs of various sizes and structures, an iterative process for problem solving comprising iterations of a series of steps, each iteration of said process comprising the steps:
-
executing each said program to produce a result; assigning a value to each said result and associating each said value with a corresponding program which produced each said result, said value indicative of the fitness of said corresponding program in solving or partially solving a problem; selecting at least one selected program from said population using selection criteria, said selection criteria based on said value associated with each said program, said selection criteria preferring each said program having a relatively high associated value over each said program having a relatively low associated value; choosing and performing an operation, wherein said chosen operation is one of the operations of crossover or reproduction; if said operation is crossover, creating at least one new program by crossover using a group of programs, said group of programs comprising said selected program and at least one other program from said population, such that any new program created by crossover comprises at least a portion of said selected program and at least a portion of said other program, said new program can differ in size and structure from said selected program and said other program; if said chosen operation is reproduction, retaining said selected program in said population such that said selected program remains unchanged; adding said new program to said population. - View Dependent Claims (11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. In a parallel processing computer system having a population of of various sizes and structures and wherein more than one program can be executed simultaneously, a group of parallel processes for problem solving wherein more than one parallel process of said group of parallel processes can be performed simultaneously, each parallel process of said group of parallel processes comprising iterations of a series of steps, each iteration of each said parallel process comprising the steps:
-
executing each said program to produce a result; assigning a value to each said result and associating each said value with a corresponding program which produced each said result, said value indicative of the fitness of said corresponding program in solving or partially solving a problem; selecting at least one selected program from said population using selection criteria, said selection criteria based on said value associated with each said program, said selection criteria preferring each said program having a relatively high associated value over each said program having a relatively low associated value; choosing and performing an operation, including; crossover, wherein at least one new program is created by crossover using a group of programs, said group of programs comprising said selected program and at least one other program from said population, such that any new program created by crossover comprises at least a portion of said selected program and at least a portion of said other program, said new program can differ in size and structure from said selected program and said other program; reproduction, wherein said selected program is retained in said population such that said selected program remains unchanged; adding said new program to said population. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer system for problem solving comprising:
-
memory means for storing a population of entities of various sizes and shapes, wherein each entity is a hierarchical arrangement of functions and arguments; processing means coupled to said memory means for retrieving said entities stored in said memory means, said processing means executes instructions determined by said retrieved entities; means for assigning a value to results of executing instructions of said retrieved entities and associating each said value with a corresponding entity which produced each said result, said value indicative of the fitness of said corresponding entity in solving or partially solving the problem, said means for assigning a value coupled to said processing means; means for selecting at least one selected entity from said population using selection criteria, said selection criteria based on said value associated with each said entity, said selection criteria preferring each said entity having a relatively high associated value over each said entity having a relatively low associated value, said means for selecting coupled to said processing means; means for choosing and performing an operation on each said selected entity, said chosen operation is one of the operations of crossover or reproduction, said means for choosing and performing an operation coupled to said processing means, said means for choosing and performing an operation comprising; means for performing the operation of crossover comprising creation of at least one new entity by crossover using a group of entities, said group of entities comprising said selected entity and at least one other entity from said population, such that any new entity created by crossover comprises at least a portion of said selected entity and at least a portion of said other entity, said new entity can differ in size and shape from said selected entity and said other entity; means for performing the operation of reproduction comprising retention of said selected entity in said population such that said selected entity remains unchanged; means for adding said new entity to said population of stored entities in said memory means for further execution by said processor, said means for adding coupled to said processing means. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification