适应度缩放
缩放适应度分数
适应度缩放适应度函数返回的原始适应度分数转换为适合选择函数的范围内的值。选择函数使用缩放的适应度值来选择下一代的父母。选择函数为具有较高缩放值的个体分配更高的选择概率。
缩放值的范围影响遗传算法的性能。如果缩放值差异太大,则缩放值最高的个体繁殖过快,从而过快地接管种群基因库,并阻止遗传算法搜索解空间的其他区域。另一方面,如果缩放值仅发生很小的差异,则所有个体的重现机会都大致相同,因此搜索过程将非常缓慢。
默认的适应度缩放选项 Rank 根据每个个体的排名而不是其分数来缩放原始分数。个体的排名是其在排序分数中的位置:最适合的个体的排名为 1,次适合的个体的排名为 2,依此类推。排名缩放函数分配缩放值,以便
排名为 n 的个体的缩放值与 成比例。
整个种群的缩放值的总和等于创造代所需的父代数量。
排名适应度缩放消除了原始分数扩散的影响。
下图显示了 20 个个体种群的原始分数,按升序排列。

下图显示了使用排名缩放得到的原始分数的缩放值。

由于该算法最小化了适应度函数,因此较低的原始分数具有较高的缩放值。此外,因为排名缩放分配的值仅取决于个人的排名,所以对于规模为 20 且父代数量等于 32 的任何种群,显示的缩放值都是相同的。
比较排名和顶部缩放
要查看缩放的效果,您可以将使用排名缩放的遗传算法的结果与其他缩放选项之一(例如 Top)进行比较。默认情况下,顶部缩放将 40%的最适合个体分配给相同的缩放值,并将其余个体分配给值 0。使用默认的选择函数,只有 40%最适合的个体可以被选为父代。
下图使用排名和顶部缩放比较了种群为 20 且父代数量为 32 的种群的缩放值。

因为顶端缩放将父代限制为最适合的个体,所以它产生的种群多样性比排名缩放要低。下图使用排名和顶部缩放比较了每代个体之间距离的方差。
