代码之家  ›  专栏  ›  技术社区  ›  Don Giulio

在遗传算法中选择育种家

  •  2
  • Don Giulio  · 技术社区  · 6 年前

    我正在实施一种遗传算法,我不确定如何为下一代挑选育种家:

    我拿着一份所有过去计算的个人的清单,

    我可以从这个列表中选择繁殖者吗?还是我应该从最新一代中挑选最好的?

    3 回复  |  直到 6 年前
        1
  •  1
  •   Matthew Woodruff    6 年前

    如果你只从最新一代中选择,你的人口有可能向后进化。不能保证后人比先人好。为了防止这种情况的发生,一些算法维护了一个“精英”个体的集合,这些个体不断地与普通人群混合在一起。(该策略被称为“精英主义”)这种方法的一个特别成功的版本是Coello的Micro GA,它使用数量非常少的精英保留和频繁重启来取得进展。

        2
  •  1
  •   molamk    6 年前

    它是 通常 最好选择那些有 最高适配值

    • 根据你定义的特定功能,评估你所在人群中的个体并选择最佳的 n 那些。例如, 最轻的 算法中要生成轻岩石的岩石。
    • 中频计算 的适应值 全部的 你们人口中的个体是 昂贵的 操作,应首先选择 样品 基于某些分布。一个好的选择是 制服 时尚(所有人都有相同的选择概率)
    • 如果你不能很容易地定义一个适应度函数,一个好的技术就是运行模拟。例如,如果 表现型 (标准)很难定义,例如不规则三维对象的形状。
        3
  •  1
  •   Sonu Sharma    6 年前

    您可以尝试以下方法之一来选择育种家(父) -轮盘选择 -随机通用抽样 -锦标赛选择 -随机选择

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