Evolving computer programs with techniques analogous to natural genetic processes
Not to be confused with genetic algorithm, generic programming, genetic engineering, or DNA computing.
Part of a series on the
Evolutionary algorithm
Artificial development
Artificial life
Cellular evolutionary algorithm
Cultural algorithm
Differential evolution
Effective fitness
Evolutionary computation
Evolution strategy
Gaussian adaptation
Grammar induction
Evolutionary multimodal optimization
Particle swarm optimization
Memetic algorithm
Natural evolution strategy
Neuroevolution
Promoter based genetic algorithm
Spiral optimization algorithm
Self-modifying code
Polymorphic code
Genetic algorithm
Chromosome
Clonal selection algorithm
Crossover
Mutation
Genetic memory
Genetic fuzzy systems
Selection
Fly algorithm
Genetic programming
Cartesian genetic programming
Linear genetic programming
Grammatical evolution
Multi expression programming
Genetic Improvement
Schema
Eurisko
Parity benchmark
v
t
e
In artificial intelligence, genetic programming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular task by applying operations analogous to natural genetic processes to the population of programs.
The operations are: selection of the fittest programs for reproduction (crossover), replication and/or mutation according to a predefined fitness measure, usually proficiency at the desired task. The crossover operation involves swapping specified parts of selected pairs (parents) to produce new and different offspring that become part of the new generation of programs. Some programs not selected for reproduction are copied from the current generation to the new generation. Mutation involves substitution of some random part of a program with some other random part of a program. Then the selection and other operations are recursively applied to the new generation of programs.
Typically, members of each new generation are on average more fit than the members of the previous generation, and the best-of-generation program is often better than the best-of-generation programs from previous generations. Termination of the evolution usually occurs when some individual program reaches a predefined proficiency or fitness level.
It may and often does happen that a particular run of the algorithm results in premature convergence to some local maximum which is not a globally optimal or even good solution. Multiple runs (dozens to hundreds) are usually necessary to produce a very good result. It may also be necessary to have a large starting population size and variability of the individuals to avoid pathologies.
and 26 Related for: Genetic programming information
intelligence, geneticprogramming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular...
representations are explored in geneticprogramming and graph-form representations are explored in evolutionary programming; a mix of both linear chromosomes...
"Linear geneticprogramming" is unrelated to "linear programming". Linear geneticprogramming (LGP) is a particular method of geneticprogramming wherein...
programming, multi expression programming etc. Evolutionary programming – Similar to geneticprogramming, but the structure of the program is fixed and its numerical...
goal: evolution strategies, evolutionary programming, and genetic algorithms. A fourth branch, geneticprogramming, eventually emerged in the early 1990s...
Evolutionary programming is one of the four major evolutionary algorithm paradigms. It is similar to geneticprogramming, but the structure of the program to be...
2015. Retrieved 20 August 2015. Koza, John R. (1996). Geneticprogramming : on the programming of computers by means of natural selection (6. print ed...
Differentiable programming is a programming paradigm in which a numeric computer program can be differentiated throughout via automatic differentiation...
and operations research, Genetic fuzzy systems are fuzzy systems constructed by using genetic algorithms or geneticprogramming, which mimic the process...
implementation. A good example of this presented a promising variant of a genetic algorithm (another popular metaheuristic) but it was later found to be...
A gene (or genetic) regulatory network (GRN) is a collection of molecular regulators that interact with each other and with other substances in the cell...
Recall Store (PORS) is a problem used in evolutionary computation and geneticprogramming. The PORS language consists of two terminal nodes (1 and recall)...
Conversion from numerical forms Geneticprogramming Gene expression programming Kolmogorov complexity Linear geneticprogramming Mathematical optimization Multi...
including geneticprogramming and other methods of machine learning, use a system of feedback based on "fitness functions" to allow computer programs to determine...
(1992). GeneticProgramming: On the Programming of Computers by Means of Natural Selection, MIT Press. ISBN 0-262-11170-5 Koza, J.R. (1994). Genetic Programming...
Schoenauer, March (1994), "Genetic Lander: An experiment in accurate neuro-genetic control", PPSN III 1994 Parallel Programming Solving from Nature, pp. 452–461...
In computer programming, genetic representation is a way of presenting solutions/individuals in evolutionary computation methods. The term encompasses...
Electronic Systems of the University of Essex. His work has centered on geneticprogramming. Poli started his academic career with a Laurea in electronic engineering...
management Automated design of mechatronic systems using bond graphs and geneticprogramming (NSF) Automated design of industrial equipment using catalogs of...