稳态遗传算法 (SSGA)
先决条件 -遗传算法
SSGA 代表稳态遗传算法。它是稳态意味着没有世代。它不同于简单遗传算法,因为锦标赛选择不替换种群中被选中的个体,而是将被选中父母的孩子加入下一代,而是将两个父母和两个孩子中最好的两个个体加入到下一代中。重新加入到种群中,从而使种群规模保持不变。
伪代码:
- 生成大小为 N 的初始种群。
- 评估每个解决方案的适合度/优度。
- 选择 2 个解决方案作为父母,不要重复。
- 做交叉、变异和倒置并创建 2 个后代。
- 如果后代重复,则转到步骤 3。
- 如果不是,则评估后代的适应度。
- 如果后代比最差的解决方案好,那么用后代替换最差的个体,使得种群规模保持不变。
- 检查收敛标准。
- 如果满足收敛标准,则终止程序,否则继续步骤 3。
特征 :
- 小代沟。
- 一代只产生了2个后代。
- 通常用于较小的种群规模 N。
- 与 Simple GA 相比,计算成本更低。
- 人口规模 N 始终保持不变。
应用:
- 优化使用普通的基于硬计算的算法无法解决的各种不同的拟合函数。
- 分布式计算机网络拓扑。
- 使用遗传算法学习模糊规则库。
- 在训练神经网络时使用 SSGA 而不是普通的 Backprop 算法等等。