Evolutionary programming

Evolutionary programming is one of the four major evolutionary algorithm paradigms.

It was first used by Lawrence J. Fogel 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, (representation), in contrast with the other three dialects. It is becoming harder to distinguish from evolutionary strategies.

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.