【发布时间】:2016-11-29 19:51:00
【问题描述】:
阅读了Essentials of Metaheuristics 和这个site 中遗传算法中实现稳态选择的伪代码, 我应该总是对孩子进行变异,还是应该让它接受变异概率,比如 50%?
我有点担心如果我总是在每一代都进行突变,种群不会收敛,因为染色体是用从 0 到 1 的实数值表示的。
【问题讨论】:
标签: selection genetic-algorithm evolutionary-algorithm
阅读了Essentials of Metaheuristics 和这个site 中遗传算法中实现稳态选择的伪代码, 我应该总是对孩子进行变异,还是应该让它接受变异概率,比如 50%?
我有点担心如果我总是在每一代都进行突变,种群不会收敛,因为染色体是用从 0 到 1 的实数值表示的。
【问题讨论】:
标签: selection genetic-algorithm evolutionary-algorithm
遗传算法的行为对于您启发式选择的权重值非常合理。
分配给每个动作的概率值确实取决于您正在应用的特定遗传方案,数据表示和受影响的方式 em> 由 mutation 和 crossover、初始种群和问题本身组成。
因此,为了启发式为您的问题选择最佳权重值,我建议您跟踪以下数据:
这里我附上一张图,显示了这些参数在 AGER 的最早执行之一中的演变(我仍然必须平衡它),这是一种自定义- 遗传算法能够自动找到基于简单标量架构的嵌入式微处理器的理想设计的最佳近似值,以执行给定的申请。
理想情况下,您希望设置您的权重值,以使初始斜率尽可能低,但不要达到平均适应度函数值所没有的点' t 几代人的进步(应该允许暂时恶化,虽然)。 多样性应尽可能保持较高,而适应度函数的平均值应缓慢增长(与图片不同)。而最佳适应度值应该验证为单调递增函数。
话虽如此,等于50%的突变率似乎很高。
【讨论】: