Selection and Reproduction in Evolutionary Algorithms

1 前情提要

1.1 对比一下Evolutionary Algorithms跟Simulating Annealing

Key difference

  • EA是population-based,在任一iteration,我们会maintain a population of candidate solutions
  • SA only matintains one best solution

强调一下diversity

  • diversity will nurture creativity.
  • escapnig local minima or sub-optimal solution, is achieved by maintaining diversity alongs those individuals in the population.

1.2 Generic framework of a evolutionary algorithm

Pseudo Code

  1. 随机生成a set of solutions X_0
  2. 用objective fitness function评估这些solutions的fitness values
  3. t = 0
  4. 执行while循环
  5. 输出x_best

具体在这while里边做了啥:

  1. 【Selection】从当前的第t个solution set里边,选出better solutions(又称parents)
  2. 【Variation: mutation or crossover】对上一步选出的better solutions做variation操作,得到新的solutions
  3. 【Fitness calculation】计算上一步新的到的solutions的fitness values
  4. 【Reproduction】用前边的到的solutions去替换原X_t里边的solutions,得到新的set X_(t+1)
  5. t++
  6. 检查terminationflag,看需不需要结束整个更新

2 Selection

2.1 Selection这部分是干啥的

  • 不是一个search operator,但影响了search performance
  • 用于选择better fit individuals for breeding(在variation之前)保留更好的traits
  • exploiting better solutions(对于good跟inferior都会选择)

❓为什么需要选择inferior
➡️ 我们需要更多样的populations(exploration)。一些inferior的solutions可能是更接近promising solutions,从而在对这部分inferior solutions做refinement的时候,可能会lead to better solutions。【为什么?】

2.2 Selection Schemes

relative fitness

  • fitness proportional selection

ranking

  • ranking selection
  • truncate selection
  • tournament selection
  • (μ + λ) and (μ, λ) Selection

2.2.1 Fitness Proportional Selection

  • (奇奇怪怪的知识)又名roulette wheel selection,first proposed in genetic algorithm
  • 第I个individual的概率计算公式如下,f是它的fitness value(不能是负值)。high fitness value的individual更有可能被保留下来;反之。
    在这里插入图片描述
    ❓ 再问一次,为什么要keep those individuals with low fitness values?
    ➡️ 通过这些individuals,我们可能可以explore wider/broader areas of the search space。换言之,keeping the diversity of the population might help escaping from local optima。

两个问题

  1. fitness value很大的super individuals
  2. 数次更新后可能出现的slow convergence,没法做到separate

解决:scaling
我们用新的公式去计算fitness value。a = max(f), b = min(f)/M
在这里插入图片描述
实际上也就等于把原fitness value通过线性变换投射到新的f‘上。
现在所有的fitness value是more evenly distributed along this straight line(不是evenly,如果是evenly就直接是ranked了)
在这里插入图片描述

2.2.2 Ranking Selection

描述一下这个ranking selection

  1. 按照fitness values把所有population里边的individuals(假设共M个)从最好到最差做一个sorting,标记M-1到0。
  2. 根据probability p(γ)选择top γ-ranked individual,并标记它。这里的γ取值0到M-1
    ⚠ 注意,这里的probability p(γ)实际上是一个ranking function。如linear ranking、exponential ranking、power ranking和geometric ranking。

Ranking Function

  1. Linear Ranking Function(推荐使用!)
    在这里插入图片描述
    ❗ 因为sum of p(γ) = 1,所以这里的α跟β应满足α+β=2 && 1≤β≤2。【WHY?算一下SUM】
    ❓ 问题来了,要怎样设α跟β让EA表现得像一个random search algorithm呢?

  2. 其他Ranking functions
    在这里插入图片描述

2.2.3 Truncation Selection

(这太简单了!)

  • 两步走:(1)按照fitness value排个序;(2)选择top 20%/50%的individuals,自己设一个百分比k。
  • 缺点:因为一直选择的最优的individuals,所以diversity会慢慢没有、最终可能converge然后被困在local optimum里边。

2.2.4 Tournament Selection

简单介绍一下这是怎么一回事

  1. 随机从population P里sanple一个subset P‘,里边有k个individuals
  2. 在P’中选择highest fitness value的那个individual
  3. 重复前两步,直到足够的offspring被选择。

binary tournament selection:k = 2的tournament selection

2.2.5 (μ + λ) and (μ, λ) Selection

- (μ + λ) selection

  • parent population, size μ
  • offspring population, generated from randomly chosen parent populations, size λ
  • next population, pick μ best individuals aomg parent and offspring
    - (μ, λ) selection
    • λ>μ
    • parent population, size μ
    • offspring population, generated from randomly chosen parent populations, size λ
    • next population, pick μ best individuals among offspring
  • 区别:selection pressure

2.3 Selection Pressure: Takeover time(超重要!!!)

  • 定义
    degree to which selection emphasises on the better individuals
  • 它是如何影响balance between explotation and exploration的?
    • higher selection pressure → explotation → fast convergence to local optimum, e.g., premature
    • low selection pressure → exploration (maintain diversity of the population, do not eliminate worse individuals very quickly) → (consequence) slow convergence
  • 给到一个EA with a selection scheme,要如何measure selection pressure?
    • Take-over time: 假设一个大小为M的初始population,里边有一个唯一的最优individual。只应用selection scheme,计算找到包含此最优individual的population的迭代次数。
    • higher take-over time means lower selection pressure.
  • 前边几个selection function的selection pressure
    在这里插入图片描述

3 Reproduction

  • 作用:控制how genetic algorithm creates the next generation
  • two choices: generational & steady state
    • generational EAs (standard EAs):用所有new individuals去替换原population中的worse individuals,然后selecct
    • steady state
      • 定义:用一个或几个new individuals去做替换。这种方式更stable。
      • 举例:n-Elitisms, it copy N best individuals to the next generation
  • theoretical analysis
    • 衡量old and new generation之间的overlap
    • generational gap
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值