作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
已阅读 Essentials of Metaheuristics 中用于在遗传算法中实现稳态选择的伪代码还有这个site ,我应该总是让 children 发生变异,还是应该让它服从一个变异概率,比如 50%?
我有点担心如果我总是在每一代都做变异,种群不会收敛,因为染色体是由 0 到 1 的实数值表示的。
最佳答案
遗传算法的行为对于您启发式选择的权重值非常敏感。
分配给每个 Action 的概率值实际上取决于您正在应用的特定遗传方案,数据表示和受影响的方式 通过突变 和交叉,初始种群和问题本身。
因此,为了启发式为您的问题选择最佳权重值,我建议您跟踪以下数据:
我在这里附上了一张图,显示了 (我仍然需要平衡它) AGER 的最早执行之一中这些参数的演变,这是一种自定义 -制作了遗传算法,该算法能够根据简单标量架构自动找到嵌入式微处理器理想设计的最佳近似值,以执行给定的任务申请。
理想情况下,您希望设置权重值,使初始斜率尽可能低,但不要达到平均适应度函数值所达不到的程度'几代人都不会改善(但应该允许它暂时恶化)。 多样性 应尽可能长时间保持相对较高,而适应度函数的平均值应增长得非常缓慢(与图中不同)。相反,最佳适应度值应该被验证为单调递增函数。
话虽如此,50%
的突变率似乎很高。
关于selection - 我应该总是在稳态选择中改变后代吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38585226/
我是一名优秀的程序员,十分优秀!