在遗传算法中使用可变种群大小有什么缺点吗?

人工智能 算法 遗传算法
2021-11-02 10:07:28

在实施遗传算法时,我理解基本思想是拥有一定规模的初始种群。然后,我们从一个群体中挑选两个个体,构建两个新个体(使用变异和交叉),重复这个过程 X 次,并在选择最适者的基础上用新群体替换旧群体。

在这种方法中,人口规模保持不变。在进化的现实中,种群经历了种群规模的波动(例如种群瓶颈和新的物种形成)。

我从生物学的角度理解可变种群大小的缺点是,例如,瓶颈会将种群减少到最低水平,因此不会发生太多进化。从编程的角度来看,在遗传算法中使用可变种群大小是否有缺点?我在想每个人口的数字可能会遵循某种分布,因此它们不会只是随机波动不规则,但也许这样做没有意义。

2个回答

即使在纯生物模型中,种群规模也是一个棘手的问题。生物种群规模明显不同。争论的两大主角是罗纳德·费舍尔和休厄尔·赖特,费舍尔支持少数大种群与赖特的许多相互关联的小种群之间存在争论。有证据表明在赖特的模型中进化发生得更快,但证据尚无定论。该理论侧重于突变发生并在种群中占主导地位的概率。在少数群体中,更有可能选择有益的突变进行繁殖,但过早收敛是一个严重的危险。虽然在较大的种群中,突变体在繁殖期间不太可能从种群中移除。我强烈推荐阅读生活游戏卡尔·西格蒙德。

在优化过程的不同阶段使用不同的人口规模可能是有益的。随着人口规模大,您可以有效地探索景观以找到合适的区域。大人口规模有助于找到全局最优值或高适应度局部最优值。然而,使用大量人口需要更多的适应度评估和计算资源的浪费。通过少量人口,您可以有效地利用先前找到的适当区域并获得高精度解决方案。出于这个原因,一些作品建议在算法开始时使用大量种群,然后逐渐减小其大小,例如 [Improving the search performance of SHADE using linear population size reduction]。此外,一些动态优化方法使用动态人口规模。例如,