Genetic programming: Difference between revisions

Content deleted Content added
Wrp103 (talk | contribs)
m -,
mNo edit summary
Line 1:
'''Genetic programming''' ('''GP''') is a subfield of [[evolutionary computation]] pioneered by [[Nichael Lynn Cramer]] in 1985 and first explored in depth by [[John Koza]] in his 1992 book ''Genetic Programming: On the Programming of Computers by Means of Natural Selection''. It is a method used to allow computer [[programming|programs]] to evolve according to some user-defined goal. It uses [[evolution]]ary operators including [[crossover (genetic algorithm)|crossover]], selection, replication and [[mutation]]s to evolve the programs, which are usually represented by trees or prefix-notation expressions ([[s-expression]]s). To work effectively, it requires an appropriate selection of operators, fitness function and primitives.
 
Genetic programming uses methods which are similar to [[genetic algorithm]]s (GA), but is based on programs which perform tasks whose results can then be evaluated to delivervia a fitness function, similaras toin a GAsGA. Instead of using populations of parameter lists to be evaluated by some evaluation procedure, GP uses populations of programs which are to be run to perform the required task. A technical difference between GAs and GPs is that GAs use list structures, often of fixed size, to store their data, while GPs use tree structures which can vary in size and shape.
 
The application of a tree representation (and required genetic operators) for using genetic algorithms to generate programs was first described in 1985 by Cramer. Koza, though he did first explore genetic programming, is indisputably the field's most prolific and persuasive author. Koza and other early GP researchers used the artificial inteligence language [[Lisp_programming_language|Lisp]] to program their GPs.