Evolutionary programming is one of the four major evolutionary algorithm paradigms. It is similar to genetic programming, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve.

It was first used by Lawrence J. Fogel in the US in 1960 in order to use simulated evolution as a learning process aiming to generate artificial intelligence. Fogel used finite-state machines as predictors and evolved them. Currently evolutionary programming is a wide evolutionary computing dialect with no fixed structure or (representation), in contrast with some of the other dialects. It has become harder to distinguish from evolutionary strategies.

Evolutionary programming

Its main variation operator is mutation; members of the population are viewed as part of a specific species rather than members of the same species therefore each parent generates an offspring, using a (μ + μ) survivor selection.

Evolutionary programming

See also

Artificial intelligence

Genetic algorithm

Genetic operator

References

Fogel, L.J., Owens, A.J., Walsh, M.J. (1966), Artificial Intelligence through Simulated Evolution, John Wiley. Fogel, L.J. (1999), Intelligence through Simulated Evolution : Forty Years of Evolutionary Programming, John Wiley. Eiben, A.E., Smith, J.E. (2003), Introduction to Evolutionary Computing, Springer.

Evolutionary programming

External links

The Hitch-Hiker's Guide to Evolutionary Computation: What's Evolutionary Programming (EP)? Evolutionary Programming by Jason Brownlee (PhD)

Evolutionary algorithms

Optimization algorithms and methods

de:Evolutionäre Programmierung