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
- 随机生成a set of solutions X_0
- 用objective fitness function评估这些solutions的fitness values
- t = 0
- 执行while循环
- 输出x_best
具体在这while里边做了啥:
- 【Selection】从当前的第t个solution set里边,选出better solutions(又称parents)
- 【Variation: mutation or crossover】对上一步选出的better solutions做variation操作,得到新的solutions
- 【Fitness calculation】计算上一步新的到的solutions的fitness values
- 【Reproduction】用前边的到的solutions去替换原X_t里边的solutions,得到新的set X_(t+1)
- t++
- 检查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。
两个问题
- fitness value很大的super individuals
- 数次更新后可能出现的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
- 按照fitness values把所有population里边的individuals(假设共M个)从最好到最差做一个sorting,标记M-1到0。
- 根据probability p(γ)选择top γ-ranked individual,并标记它。这里的γ取值0到M-1
⚠ 注意,这里的probability p(γ)实际上是一个ranking function。如linear ranking、exponential ranking、power ranking和geometric ranking。
Ranking Function
-
Linear Ranking Function(推荐使用!)
❗ 因为sum of p(γ) = 1,所以这里的α跟β应满足α+β=2 && 1≤β≤2。【WHY?算一下SUM】
❓ 问题来了,要怎样设α跟β让EA表现得像一个random search algorithm呢? -
其他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
简单介绍一下这是怎么一回事
- 随机从population P里sanple一个subset P‘,里边有k个individuals
- 在P’中选择highest fitness value的那个individual
- 重复前两步,直到足够的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