Evolutionary Computing: 5. Evolutionary Strategies

resource: Evolutionary computing, A.E.Eiben


1. What is Evolution Strategies (ES)

Evolution strategies(ES) is another member of the evolutionary algorithm family.

ES technical summary tableau

2. Introductory Example

2.1 Task

  minimimise f : Rn -> R

2.2 Original algorithm

 “two-membered ES” using

  • Vectors from Rn directly as chromosomes
  • Population size 1
  • Only mutation creating one child
  • Greedy selection

2.3 pseudocde

------------------------------------------------------------

Set t = 0

Create initial point xt = 〈 x1t ,…,xnt

REPEAT UNTIL (TERMIN.COND satisfied) DO

  Draw zi from a normal distr. for all i = 1,…,n

  yit = xit + zi

  IF f(xt) < f(yt) THEN xt+1 = xt

  ELSE xt+1 = yt

  Set t = t+1

OD

------------------------------------------------------------

2.4 Explanation

As is shown on the pseudocode above, given a current solution xt in the form of a vector of length n, a new candidate xt+1 is created by adding a random number zfor i =1,...,n to each of the n components.

( let‘s talk about the random number Z)

The random number Zi:

A Gaussian, or normal, distribution is used with zero mean and standard deviation σ for drawing the random numbers.

This distribution is symmetric about zero and has the feature that the probability of drawing a random number with any given magnitude is a rapidly decreasing function of the standard deviation σ. (more information about Gaussian distribution)

( let‘s talk about the random number σ)

Thus the σ value is a parameter of the algorithm that determines the extent to which given values xi are perturbed by the mutation operator.

For this reason σ is often called the mutation step size.

Theoretical studies motivated an on-line adjustment of step sizes by the famous 1/5 success rule. This rule states that the ratio of successful mutaions (those in which the child is fitter than the parent) to all mutations should be 1/5.

  • If the ratio is greater than 1/5, the step size should be increased to make a wider search of the space.
  • If the ratio is less than 1/5 then it should be decreased to concentrate the search more around the current solution.

The rule is executed at periodic intervals.

For instance, after k iterations each σ is reset by

  • σ = σ / c    if ps > 1/5
  • σ = σ • c    if ps < 1/5
  • σ = σ         if ps = 1/5

Where ps is the relative frequency of successful mutations measured over a number of trials, and the parameter c is in the range [0.817,1]

As is apparent, using this mechanism the step sizes change based on feedback from the search process.

2.5 Conclusion

This example illuminiates some essential characteristics of evolution strategies:

  1. Evolution strategies are typically used for continuous parameter optimisation.
  2. There is a strong emphasis on mutation for creating offspring.
  3. Mutation is implemented by adding some random noise drawn from a Gaussian distribution.
  4. Mutation parameters are changed during a run of the algorithm

3. Representation

Chromosomes consist of three parts:

  • Object variables: x1,…,xn
  • Strategy parameters: 
    • Mutation step sizes: σ1,…,σnσ
    • Rotation angles: α1,…, αnα

Full size: 〈 x1,…,xn, σ1,…,σn1,…, αk 〉,where k = n(n-1)/2 (no. of i,j pairs) ---This is the general form of individuals in ES

The σ values represent the mutation step sizes, and their number nσ is usually either 1 or n. For any easonable self-adaptation mechanism at least one σ must be present.

The α values, which represent interactions between the step sizes used for different variables, are not always used.

4. Mutation

4.1 Main mechanism

Changing value by adding random noise drawn from normal distribution

The mutation operator in ES is based on a normal (Gaussian) distribution requiring two parameters: the mean ξ and the standard deviation σ.

Mutations then are realised by adding some Δxi to each xi, where the Δxi values are randomly drawn using the given Gaussian N(ξ,σ), with the corresponding probability density function.

xi‘ = xi + N(0,σ)

xi‘ can be seen as a new xi.

N(0,σ) here denotes a random number drawn from a Gaussian distribution with zero mean and standard deviation σ.

4.2 Key ideas

  • σ is part of the chromosome 〈 x1,…,xn, σ 〉
  • σ is also mutated into σ ’ (see later how)
  • Self-adaption

4.3 A simplest case

In the simplest case we would have one step size that applied to all the components xi and candidate solutions of the form <x1, ..., xn, σ>.

Mutations are then realised by replacing <x1, ..., xn, σ> by <x1‘, ..., xn‘, σ‘>, where σ‘ is the mutated value of σ and xi‘ = xi + N(0,σ)

4.4 Mutate the value of σ

The mutation step sizes are not set by the user; rather the σ is coevolving with the solutions.

In order to achieve this behaviour:

  1. modify the value of σ first
  2. mutate the xi values with the new σ value.

The rationale behind this is that a new individual <x‘, σ‘> is effectively evaluated twice:

  1. Primarily, it is evaluated directly  for its viability during survivor selection based on f(x‘).
  2. Second, it is evaluated for its ability to create good offspring.

This happens indirectly: a given step size (σ) evaluates favourably if the offspring generated by using it prove viable (in the first sense).

To sum up, an individual <x‘, σ‘> represents both a good x‘ that survived selection and a good σ‘ that proved successful in generating this good x‘ from x.

4.5 Uncorrelated Mutation with One Step Size(σ)

In the case of uncorrelated mutation with one step size, the same distribution is used to mutate each xi, therefore we only have one strategy parameter σ in each individual.

This σ is mutated each time step by multiplying it by a term eΓ, with Γ a random variable drawn each time from a normal distribution with mean 0 and standard deviation τ.

Since N(0,τ) = τ•N(0,1), the mutation mechanism is thus specified by the following formulas:

  • σ‘ = σ•eτ•N(0,1)
  • xi‘ = xi + σ‘•Ni(0,1)

Furthermore, since standard deviations very close to zero are unwanted(they will have on average a negligible effect), the following boundary rule is used to force step sizes to be no smaller than a threshold:

  • σ ’ < ε0 ⇒ σ ’ = ε0

Tips:

  • N(0,1) denotes a draw from the standard normal distribution
  • Ni(0,1) denotes a separate draw from the standard normal distribution for each variable i.

The proportionality constant τ is an external parameter to be set by the user.

It is usually inversely proportional to the square root of the problem size:

  • τ ∝ 1/ n½

The parameter τ can be interpreted as a kind of learning rate, as in neural networks.

时间: 2024-11-05 18:48:14

Evolutionary Computing: 5. Evolutionary Strategies的相关文章

Evolutionary Computing: 5. Evolutionary Strategies(2)

Resource: Introduction to Evolutionary Computing, A.E.Eliben Outline recombination parent selection survivor selection self-adaptation 1. Recombination 1.1 Basic recombination two parents --> one child There are two recombination variants distinguish

4. Review ——Evolutionary Computing

Resource:<Introduction to Evolutionary Computing> 1. What is an evolutionary algorithm? There are many different variants of evolutionary algorithms. The common underlying behind all these techniques is the same: given a population of individuals wi

Evolutionary Computing: multi-objective optimisation

1. What is multi-objective optimisation [wikipedia]: Multi-objective optimization (also known as multi-objective programming, vector optimization, multicriteria optimization,multiattribute optimization or Pareto optimization) is an area of multiple c

科技文献检索

The Fundamentals of Three-Phase Power Measurements Application Note Introduction Although single-phase electricity is used to supply common domestic and office electrical appliances, three-phase alternating current (a.c.) systems are almost universal

科研常用优化代码软件介绍

Free and Open Source software Name License Brief info ADMB BSD nonlinear optimization framework, using automatic differentiation ALGENCAN GPL Fortran code for general nonlinear programming. Interfaces with AMPL, C/C++, CUTEr, Matlab, Python, Octave a

牛人(周志华)推荐的人工智能网站

AI URLs (maintained by Zhi-Hua Zhou) 北京大学视觉与听觉信息处理实验室 北京邮电大学模式识别与智能系统学科 复旦大学智能信息处理开放实验室 IEEE Computer Society北京映象站点 计算机科学论坛 机器人足球赛 模式识别国家重点实验室 南京航空航天大学模式识别与神经计算实验室 - PARNEC 南京大学机器学习与数据挖掘研究所 - LAMDA 南京大学人工智能实验室 南京大学软件新技术国家重点实验室 人工生命之园 数据挖掘研究院 微软亚洲研究院

[Z] 计算机类会议期刊根据引用数排名

一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html The following are the journals and conferences in computer science that have published at least 100 papers (2003–2013), with at least 5 citations per pa

paper 15 :整理的CV代码合集

这篇blog,原来是西弗吉利亚大学的Li xin整理的,CV代码相当的全,不知道要经过多长时间的积累才会有这么丰富的资源,在此谢谢LI Xin .我现在分享给大家,希望可以共同进步!还有,我需要说一下,不管你的理论有多么漂亮,不管你有多聪明,如果没有实验来证明,那么都是错误的.  OK~本博文未经允许,禁止转载哦!  By  wei shen Reproducible Research in Computational Science “It doesn't matter how beautif

利用百度地图API和群蚁算法,对TSP问题进行模拟与求解

前言 最近由于换了工作,期间也有反思和总结上家公司的得失,总觉得有什么事情当初可以完成或者完成得更好,其中TSP问题就是其中之一.当初在开发一个仓配系统的时候,有一个线路排程的需求,当时自己简单在纸上画了思路,发现求精确解算法复杂度是N!,所以去百度,发现了NPC问题的概念,但是一直以来都没有对这个问题好好研究过,最终只是选择了贪心算法这一求近似解的方案,正好这是我的第一篇博客,就拿这个“遗憾”开刀吧. 1.  利用百度地图API模拟TSP的各个城市点 1.1. 调用百度地图API解析经纬度 这