Evolutionary Algorithms


_images/mario.png

WHAT?

“Survival of the fittest” metaheuristics inspired by biological evolution

WHY?

Find good-enough solutions to global optimization problems efficiently.

HOW?

Individuals

Representation of candidate solutions in the search space. This is the vector of parameters to be optimized.

Fitness function

Scalar metric to evaluate how good an individual is. This is the metric to optimize on.

Evolutionary operators

Mechanisms for breeding new (hopefully better) individuals from current ones. The basic mechanism of EAs is that of Darwinian evolution, i.e., beneficial traits are selected, recombined, and mutated to breed more fit individuals. This is what we do to the current population of individuals to get the next generation to be evaluated.

_images/ea_jargon.png

Evolutionary Operators

We use evolutionary operators to generate new individuals from current ones. The three types of evolutionary operators are selection, crossover or recombination, and mutation. By repetitively applying a stochastic combination of these operators, the population’s average fitness is improved over the course of the optimization. Many different variants exist. The basic mechanisms are illustrated below:

Selection

Select individuals from the current generation for breeding, usually somehow based on their fitness.

_images/selection.png

Crossover

Generate new child individuals from selected parent individuals by recombining the latters’ genes.

_images/crossover.png

Mutation

Randomly change an individual’s genes to promote genetic diversity.

_images/mutation.png