|
Genetic Programming and Genetic Algorithms Genetic Programming (GP) and Genetic Algorithms (GA) is a kind of artificial intelligence where the process is built on the evolution of randomness---not logic as in typical algorithms. Basically, it is a computer simulation of the survival of the best solution until the first best solution is created. It is similar to breeding a population of computer programs genetically through architecture altering, crossover, mutation, reproduction, and variation. There are five main points in GAs. 1. Initial Creation In the Initial Creation, there is a group of randomly generated computer programs. In Architecture altering, the genetically created program changes the subroutines, iterations, loops, recursion, etc., in a way that simulates how genes are "evolved". This is done so through variation-gene deletion, insertion, and mutation. In GP, subroutines are added and deleted, along with the entire structure of the program. The architecture altering operation immediately generates a diverse population of programs that differ in numbers of iterations, recursions, etc. Through these programs, "evolution" occurs. Programs with better architectures will grow and those will worse architectures will not. In Crossover, also known as sexual recombination, two programs are selected by probability. They are then put through the crossover operation where a point in each program is randomly selected. Through these points, a subtree is created. A program is deleted and replaced by the subtree of another program. Therefore the result is a recombination of two programs. This creates variation is the GP or GA. In Mutation, one program is selected based on its fitness. A mutation point is randomly selected and the corresponding subtree is deleted and a new one is generated. In Reproduction, one program is selected based on its fitness, replicated, and is moved on to the next generation. |