selection - 遗传算法 - 什么是稳态选择?

标签 selection genetic-algorithm roulette-wheel-selection

我正在做一个关于遗传算法的最后一年的项目——特别是 Dawkins Weasel 类型。我做过轮盘选择和锦标赛选择,仍然进行稳态选择,但我不确定它到底是什么,而且我在网上找到的引用资料都很模糊。

有谁知道它应该如何实现?任何指针都会很棒。

非常感谢。

最佳答案

通常,遗传算法的运行分为几代 - 您的选择和繁殖过程的每一代都会替换所有(或至少大部分)种群。在稳态遗传算法中,您一次只能替换几个个体。

使用标准的选择技术来挑选 parent 来生产这几个后代。然后随机选择相同数量的个体,杀死它们,并用后代替换它们(您可以选择不合适的个体进行死亡,但这可能会消除非平凡问题中的种群多样性)。

您应该每个人只评估一次适应度 - 在您评估适应度后,保存它,然后在将来重复使用该数字。 Protip:当一个新的个体被创建时,将其标记为未评估,然后在第一次需要时对其进行评估(这样,如果一个个体被创建然后在使用前随机选择死亡,则不会花费时间评估它的适应性)。

基本实现应该相当简单,但您可以查看 Essentials of Metaheuristics(第 45-46 页,免费提供电子书)。

关于selection - 遗传算法 - 什么是稳态选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4768196/

相关文章:

selection - 轮盘选择、等级选择和锦标赛选择有什么区别?

c# - 从一大组照片中找出一张照片是否是单色/棕褐色

algorithm - 将学生分组的最快启发式算法是什么?

algorithm - C++ 上的拆分算法

c - 遗传算法、群体初始化

java - 遗传算法的轮盘赌选择函数

javascript - 如何在轮盘赌轮中插入图像而不是文本数据

java - Swing:以编程方式选择文本

选择 span 元素时,Javascript Selection API::containsNode() 不会返回 true

android - 突出显示图像上的文字,类似于谷歌翻译应用程序