Encyclopedia > Genetic programming

  Article Content

Genetic programming

Genetic programming is a subfield of evolutionary computation[?] introduced 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 programs to be evolved according to some user-defined goal. It uses evolutionary patterns, using crossover, selection, replication and mutations to evolve the programs which are usually represented by LISP expressions. In order to work effectively requires an appropriate selection of operators and variables.

Genetic programming uses methods which are similar to genetic algorithms, but is based on programs which perform tasks the results of which can then be evaluated to deliver a fitness function similar to GAs. Instead of using pools of parameter lists to be evaluated by some evaluation procedure, GP uses pools 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 fixed size, for the storage of their data, while GPs use tree structures which can vary in size and shape for each program used in the program pools.

So far GPs have successfully solved some toy problems, such as the lawn mower problem, but the method is very computationally intensive, and may not compare favourably where simpler methods, such as genetic algorithms or random optimisation can be used instead. It is possible that some more complex problems may be more amenable to solution using GPs than other optimization methods.

Unfortunately, due to the lack of solid theory regarding the performance of genetic programming vs. traditional search methods (such as hill-climbing), genetic programming remains a sort of pariah amongst the various techniques of search. While genetic programming has achieved results that are as good as and sometimes better than human-generated results, more work needs to be done on the theory in order to bring the technique into more widespread use.


Koza, J.R (1992), Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press

Koza, J.R (1994), Genetic Programming II: Automatic Discovery of Reusable Programs, MIT Press

Koza,J.R, Bennett, F,H, Andre, D, and Keane, M.A (1999), Genetic Programming III: Darwinian Invention and Problem Solving, Morgan Kaufmann

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article
One party system

... Party) Libya the former Soviet Union and the governments of the countries of the Warsaw Pact at that time, which were ruled by Communist parties. China (Communist ...