我们提供安全,免费的手游软件下载!
在遗传算法的编写过程中,作者发现了一些问题:
优良基因很容易因为交叉、变异而遭到破坏,同时普通遗传算法也很容易陷入早熟。早期的高适应度个体迅速占据种群、 后期的种群中因个体的适应度相差不大,都会导致种群停止进化。遗传算法经常被应用于工业生产中的最优化问题当中, 但是在面对非线性、多极值、多变量的问题时容易在早期寻优过程中陷入局部最优解范围。
对于轮盘赌的选择方式,早期的高适应度个体迅速占据种群、 后期的种群中因个体的适应度相差不大,都会导致种群停止进化。
在第M代之后,多数个体与最优个体相似度高,此时进行灾变操作以产生新种群:
将当前种群状态、最优个体及其适应度值进行保存
保留数量较少的适应度值较差的个体
将种群中大多数适应度优秀的个体进行删除
随机产生新个体进行补充
灾变操作的优点是增大种群的多样性和搜索范围,同时保留的旧种群个体会对新种群个体的搜索提供收敛趋势的引导。
在交叉之前需要进行配对。常用的方法是随机配对,但存在一个问题,当遗传过程进入局部最优时,群体中有很多几乎完全相同的串,称之为“近亲”。有学者提出了近亲交叉回避的思想,利用海明距离来判别亲缘关系的远近,参与交叉的两个串的海明距离过近,交换产生的新模式可能就会很少,容易陷入局部最优。
当判断出种群出现“早熟”趋势时,以一个远大于通常变异概率的概率对所有个体执行一次变异操作,独立随机的产生许多新的个体,从而使整个群体脱离“早熟”。
为了提高算法的全局搜索性能,提高搜索的遍历性,可加入了返回操作。返回操作的概念是当交叉、变异操作失利时,即新生成的群体的平均(最优)适应度水平低于原先群体的平均(最优)适应度水平时,则否定此次操作,恢复到之前的种群状态。
热门资讯