Search This Blog

Sunday, November 3, 2024

Evolution strategy

From Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/Evolution_strategy

In computer science, an evolution strategy (ES) is an optimization technique based on ideas of evolution. It belongs to the general class of evolutionary computation or artificial evolution methodologies.

History

The 'evolution strategy' optimization technique was created in the early 1960s and developed further in the 1970s and later by Ingo Rechenberg, Hans-Paul Schwefel and their co-workers.

Methods

Evolution strategies use natural problem-dependent representations, so problem space and search space are identical. In 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.

The special feature of the ES is the self-adaptation of mutation step sizes and the coevolution associated with it. The ES is briefly presented using the standard form, pointing out that there are many variants. The real-valued chromosome contains, in addition to the decision variables, mutation step sizes , where: . Often one mutation step size is used for all decision variables or each has its own step size. Mate selection to produce offspring is random, i.e. independent of fitness. First, new mutation step sizes are generated per mating by intermediate recombination of the parental with subsequent mutation as follows:

where is a normally distributed random variable with mean and standard deviation . applies to all , while is newly determined for each . Next, discrete recombination of the decision variables is followed by a mutation using the new mutation step sizes as standard deviations of the normal distribution. The new decision variables are calculated as follows:

This results in an evolutionary search on two levels: First, at the problem level itself and second, at the mutation step size level. In this way, it can be ensured that the ES searches for its target in ever finer steps. However, there is also the danger of being able to skip larger invalid areas in the search space only with difficulty.

The ES knows two variants of best selection for the generation of the next parent population: In the -ES, only the best offspring are used, whereas in the elitist -ES, the best are selected from parents and children.

Bäck and Schwefel recommend that the value of should be seven times the population size , whereby must not be chosen too small because of the strong selection pressure. Suitable values for are application-dependent and must be determined experimentally.

Individual step sizes for each coordinate, or correlations between coordinates, which are essentially defined by an underlying covariance matrix, are controlled in practice either by self-adaptation or by covariance matrix adaptation (CMA-ES). When the mutation step is drawn from a multivariate normal distribution using an evolving covariance matrix, it has been hypothesized that this adapted matrix approximates the inverse Hessian of the search landscape. This hypothesis has been proven for a static model relying on a quadratic approximation.

The selection of the next generation in evolution strategies is deterministic and only based on the fitness rankings, not on the actual fitness values. The resulting algorithm is therefore invariant with respect to monotonic transformations of the objective function. The simplest evolution strategy operates on a population of size two: the current point (parent) and the result of its mutation. Only if the mutant's fitness is at least as good as the parent one, it becomes the parent of the next generation. Otherwise the mutant is disregarded. This is a -ES. More generally, mutants can be generated and compete with the parent, called -ES. In -ES the best mutant becomes the parent of the next generation while the current parent is always disregarded. For some of these variants, proofs of linear convergence (in a stochastic sense) have been derived on unimodal objective functions.

Streaming algorithm

From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Streaming_algorithm ...