进化算法:从基础到应用
1. 变异算子的适应度分布
在进化算法中,变异算子的使用会基于概率质量或密度函数产生后代。选择不同的变异算子以及改变其参数,会改变从解空间中采样每个点的可能性。因此,给定一个变异算子和它作用的父代,可以创建后代适应度得分的概率分布。
在某些简单情况下,这种适应度分布可以通过数学计算得出,例如Rechenberg的1/5规则。但在一般情况下,需要通过经验估计。这一过程计算量较大,需要生成足够多的算子应用于父代的示例,并进行统计分析。不过,算子的适应度分布能为设置其参数、实现自适应性以及决定是否使用该算子提供有价值的见解。
举例来说,Nordin和Banzhaf对应用交叉算子到表示回归方程的机器代码表达式后的适应度变化进行了量化。结果显示,大多数交叉操作要么使适应度没有变化,要么使后代适应度大幅下降,这表明在这种情况下交叉算子可能是一种无效的大变异。
Fogel和Jain的研究表明,在进化神经网络执行异或(XOR)函数时,高斯变异和单点交叉的适应度分布会随着进化进程而变化。在某些阶段,选择不同算子的预期进展相同;而在其他阶段,变异或交叉算子更具优势。
以下是一个简单的流程说明:
1. 选择变异算子和父代。
2. 基于概率函数产生后代。
3. 计算后代的适应度得分。
4. 统计分析适应度得分,得出概率分布。
2. 进化算法的概述与特点
进化算法在优化领域有着悠久的历史,已广泛应用于药物设计、金融、视频游戏、机器人、模式识别、调度等众多领域。其核心思想是利用一组解决问题的思路,对这些思路进行随机变异和选择,依据客观标准评估解决方案的适用性。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



