用遗传算法挑选育种者

时间:2019-02-04 08:58:40

标签: algorithm optimization genetic-algorithm

我正在实施一种遗传算法,并且不确定如何选择下一代的种鸽:

我保存了所有过去计算过的个人的列表,

如果我从此列表中选择种鸽,可以吗?还是我应该选择最新一代的最佳产品?

3 个答案:

答案 0 :(得分:1)

通常, 选择具有最高健身值

  • 根据您定义的某个功能,评估总体中的个体并选择最佳的 N 个。例如,算法中要生成轻岩石的最轻岩石。
  • 如果要计算人口中所有个人的适应度值是昂贵操作,则应首先选择一个样本基于一些分布。一个很好的选择是以统一的方式选择(所有个体都有相等的被选择概率)
  • 如果您不能轻松定义适应度函数,则一种好的方法是运行模拟。例如,如果您的表型(条件)很难定义,例如不规则3D对象的形状。

答案 1 :(得分:1)

您可以尝试以下方法之一来选择育种者(父代)  -轮盘选择  -随机通用采样  -比赛选择  -随机选择

参考: https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_parent_selection.htm

答案 2 :(得分:1)

如果仅从最新一代中进行选择,则您的人口有可能向后发展。不能保证后代会比前代更好。为了防止这种情况,某些算法会维护一群“精英”个体,这些个体不断与常规人群混在一起。 (该策略称为“精英主义”。)这种方法的一个特别成功的版本是Coello的micro-GA,它使用的人口很少,具有精英级的保护能力,并且经常重新启动以取得进展。