遗传算法 - 父代选择

父代选择是选择父代的过程,父代交配并重组以产生下一代的后代。父代选择对于 GA 的收敛速度至关重要,因为好的父代会促使个体获得更好、更适合的解决方案。

但是,应注意防止一个极其适合的解决方案在几代内接管整个种群,因为这会导致解决方案在解决方案空间中彼此接近,从而导致多样性丧失。保持种群的良好多样性对于 GA 的成功至关重要。一个极其适合的解决方案接管整个种群被称为过早收敛,这是 GA 中不希望出现的情况。

适应度比例选择

适应度比例选择是父代选择最流行的方法之一。在此,每个个体都可能成为父母,其概率与其适应度成正比。因此,更健康的个体有更高的机会交配并将其特征传播给下一代。因此,这种选择策略将选择压力施加到种群中更健康的个体,随着时间的推移,进化出更好的个体。

考虑一个圆形轮子。轮子被分成n个饼,其中n是种群中的个体数。每个个体获得与其适应度值成正比的圆的一部分。

适应度比例选择的两种实现是可能的 −

轮盘赌选择

在轮盘赌选择中,圆形轮子的划分如前所述。如图所示,在轮子圆周上选择一个固定点,然后旋转轮子。轮子中位于固定点前方的区域被选为父母。对于第二个父母,重复相同的过程。

轮盘赌选择

很明显,身体更健康的个体在轮盘上的选择更大,因此在轮盘旋转时落在固定点前面的机会更大。因此,选择个体的概率直接取决于其适应度。

在实施方面,我们使用以下步骤 −

  • 计算 S = 精细度之和。

  • 生成 0 到 S 之间的随机数。

  • 从种群顶部开始,继续将精细度添加到部分和 P 中,直到 P<S。

  • P 超过 S 的个体即为选定个体。

随机通用抽样 (SUS)

随机通用抽样与轮盘赌选择非常相似,但是我们不只有一个固定点,而是有多个固定点,如下图所示。因此,只需旋转一次轮盘即可选择所有父母。此外,这样的设置鼓励高度适应的个体至少被选中一次。

SUS

需要注意的是,适应度比例选择方法不适用于适应度可能为负值的情况。

锦标赛选择

在 K-Way 锦标赛选择中,我们从种群中随机选择 K 个个体,并从中选出最好的个体作为父母。选择下一个父母时重复相同的过程。锦标赛选择在文献中也非常受欢迎,因为它甚至可以处理负的适应度值。

锦标赛选择

等级选择

等级选择也适用于负适应度值,主要用于种群中个体适应度值非常接近的情况(这通常发生在运行结束时)。这导致每个个体拥有几乎相等的份额(如适应度比例选择的情况),如下图所示,因此每个个体无论彼此之间的适应度如何,被选为父母的概率大致相同。这反过来又导致选择压力向更适应的个体倾斜,使得 GA 在这种情况下做出糟糕的父母选择。

等级选择

在此,我们在选择父母时删除了适应度值的概念。但是,种群中的每个个体都根据其适应度进行排名。父母的选择取决于每个个体的等级,而不是适应度。排名较高的个体比排名较低的个体更受青睐。

染色体 适应度值 排名
A 8.1 1
B 8.0 4
C 8.05 2
D 7.95 6
E 8.02 3
F 7.99 5

随机选择

在此策略中,我们从现有人群中随机选择父母。对更健康的个体没有选择压力,因此通常会避免这种策略。