Evolution strategy

In computer science, evolution strategy (ES, from German Evolutionsstrategie) is an optimization technique based on ideas of adaptation and evolution. It was created in the 1960s and 70s by Ingo Rechenberg and his co-workers, and belongs to the more general class of evolutionary computation or artificial evolution. For a peer-reviewed definition, consult also Scholarpedia's Evolution Strategies.

Evolution strategies use natural problem-dependent representations, and primarily mutation and selection as search operators. As common with evolutionary algorithms, the operators are applied in a loop. An iteration of the loop is called a generation. The sequence of generations is continued until a termination criterion is met.

As far as real-valued search spaces are concerned, mutation is normally performed by adding a normally distributed random value to each vector component. The step size or mutation strength (i.e. the standard deviation of the normal distribution) is often governed by self-adaptation (see evolution window). Individual step sizes for each coordinate or correlations between coordinates are either governed by self-adaptation or by covariance matrix adaptation (CMA-ES).

The (environmental) selection in evolution strategies is deterministic and only based on the fitness rankings, not on the actual fitness values. The simplest ES operates on a population of size two: the current point (parent) and the result of its mutation. Only if the mutant has a higher fitness than the parent, it becomes the parent of the next generation. Otherwise the mutant is disregarded. This is a (1+1)-ES. More generally, λ mutants can be generated and compete with the parent, called (1+λ)-ES. In a (1,λ)-ES the best mutant becomes the parent of the next generation while the current parent is always disregarded.

Contemporary derivatives of evolution strategy often use a population of μ parents and also recombination as an additional operator (called (μ/ρ+,λ)-ES). This is believed to make them less prone to get stuck in local optima.

Research Centers

 * Bionics & Evolutiontechnique at the Technical University Berlin
 * Chair of Systems Analysis (Ls11) - University of Dortmund
 * Collaborative Research Center 531 - University of Dortmund