Evolutionary algorithm
(EA) An
algorithm which incorporates aspects of natural selection or survival of the fittest.
An evolutionary algorithm maintains a population of structures (usually randomly generated initially), that evolves according to rules of selection, recombination, mutation and survival, referred to as genetic operators.
A shared "environment" determines the fitness or performance of each individual in the population.
The fittest individuals are more likely to be selected for reproduction (retention or duplication), while recombination and mutation modify those individuals, yielding potentially superior ones.
EAs are one kind of
evolutionary computation and differ from
genetic algorithms.
A GA generates each individual from some encoded form known as a "chromosome" and it is these which are combined or mutated to breed new individuals.
EAs are useful for optimisation when other techniques such as gradient descent or direct, analytical discovery are not possible.
Combinatoric and real-valued function optimisation in which the optimisation surface or fitness landscape is "rugged", possessing many locally optimal solutions, are well suited for evolutionary algorithms.