- Genetic algorithm
- Genetic programming
- Evolution strategies
- Differential evolution
- Scalable programming
- Grammatical evolution
- Gene expression programming
Evolutionary algorithms belong to the field of study of evolutionary calculus which is interested in calculation methods inspired by the processes and mechanisms of biological evolution. The process of evolution by natural selection (descent with modification) was proposed by Darwin to take into account the variety of life and its adequacy (adaptive adjustment) to its environment.
The mechanisms of evolution describe how evolution actually takes place through the modification and propagation of genetic material (proteins). Evolution algorithms are concerned with studying computer systems that look like simplified versions of the processes and mechanisms of evolution towards the realization of the effects of these processes and mechanisms, namely the development of adaptive systems.
Additional areas that fall under the domain of evolutionary computation are algorithms that seek to exploit the properties of related fields of population genetics, population ecology, coevolutionary biology, and developmental biology.
Evolution algorithms share adaptation properties through an iterative process that accumulates and amplifies beneficial variations through trial and error. Candidate solutions represent members of a virtual population who strive to survive in an environment defined by an objective function specific to the problem. In each case, the evolutionary process refines the adaptation of the population of candidate solutions in the environment, generally using surrogates for evolutionary mechanisms such as genetic recombination and mutation.