我正在做关于遗传算法的最后一年项目 - 特别是Dawkins Weasel类型。我已经完成了轮盘选择和锦标赛选拔,仍然要进行稳态选择,但我不确定它到底是什么,我在网上找到的参考都非常模糊。
有谁知道应该如何实施?任何指针都会很棒。
非常感谢。
答案 0 :(得分:20)
通常,遗传算法的运行分为几代 - 每一代您的选择和再生过程都会取代所有(或至少大部分)人口。在稳态遗传算法中,您一次只能替换少数个体。
使用标准选择技术挑选父母以产生这些少数后代。然后随机选择相同数量的个体,杀死它们,并用后代替换它们(你可以选择不适合死亡的个体,但这可能会消除非平凡问题中的种群多样性)。
您应该只评估每个人的健康状况 - 在评估健康状况后,保存它,然后再重复使用该数字。 Protip:当创建一个新的个体时,将其标记为未评估,然后在第一次需要时对其进行评估(这样,如果创建个体然后在使用之前随机选择死亡,则不会消耗时间评估它的健康。)
基本实现应该相当简单,但您可以查看Essentials of Metaheuristics(第45-46页,免费提供电子书)。