遗传算法 - 人口


人口是当前一代解决方案的子集。它也可以被定义为一组染色体。处理 GA 群体时需要牢记以下几点 -

  • 应保持种群的多样性,否则可能导致过早收敛。

  • 种群规模不应保持太大,因为这会导致 GA 速度减慢,而较小的种群可能不足以形成良好的交配池。因此,最佳种群规模需要通过反复试验来确定。

种群通常被定义为二维数组——种群大小、x 大小、染色体大小

群体初始化

在 GA 中初始化种群有两种主要方法。他们是 -

  • 随机初始化- 用完全随机的解决方案填充初始群体。

  • 启发式初始化- 使用问题的已知启发式填充初始群体。

据观察,整个群体不应该使用启发式进行初始化,因为它可能导致群体具有相似的解决方案和很少的多样性。实验观察到,随机解决方案是推动群体达到最优的解决方案。因此,通过启发式初始化,我们只需用几个好的解决方案为群体播种,用随机解决方案填充其余部分,而不是用基于启发式的解决方案填充整个群体。

还观察到,在某些情况下,启发式初始化仅影响总体的初始适应度,但最终,解决方案的多样性导致了最优性。

人口模型

有两种广泛使用的人口模型 -

稳定状态

在稳态遗传算法中,我们在每次迭代中生成一两个后代,它们替换种群中的一两个个体。稳态 GA 也称为增量 GA

世代相传

在世代模型中,我们生成“n”个后代,其中 n 是种群大小,并且在迭代结束时整个种群被新种群替换。