gpt4 book ai didi

genetic-algorithm - 整洁:物种形成

转载 作者:行者123 更新时间:2023-12-03 22:15:42 27 4
gpt4 key购买 nike

我试图自己实现整洁,使用原始论文但被卡住了。

假设在上一代我有以下物种:

Specie 1:     members: 100    avg_score: 100
Specie 2: members: 150 avg_score: 120
Specie 3: members: 300 avg_score: 50
Specie 4: members: 10 avg_score: 110

我现在对下一代的尝试。如下:
  • 从每个物种中删除每个基因组,除了一个随机基因组。
  • 将每个基因组放入物种中/也许创建一个新的
  • 将该物种的分数设置为该物种中每个基因组的分数的平均值。

    4.1 通过杀死每个物种中最差的 90% 来繁殖。

    4.2 根据他们的分数选择一个物种。

    4.3 从那个物种中,选择 2 个基因组并培育一个新的基因组。

  • 我不确定这是否是正确的尝试,尤其是当我“杀死” 90% 的基因组时。
    这个百分比值是我现在随机选择的(这只是概念)。

    If a specie, after the killing, has 0 members. Did it then go extinct?



    在我给出的例子中,如果我杀死 90%,Specie 4 很可能会灭绝。

    Is my attempt correct, or how does a specie usually go extinct?

    最佳答案

    首先,我强烈建议不要尝试从头开始实现 NEAT。这是一件比最初看起来要复杂得多的事情(请随意查看许多可用实现的公共(public)存储库)。

    现在,更具体地回答您的问题:

    NEAT 有很多种口味。就您而言,您的疑虑似乎与精英主义的概念有关,是的,这通常是您需要自己设置的参数。通常,该算法的工作原理如下:

  • 物种基因组。也就是说,将它们排列成给定数量的物种,使它们彼此更接近(例如,k-means 物种形成)。
  • 选择精英。您从每个物种中保留给定数量或百分比的个体,并将它们传递给新一代。取决于你如何应用它,每个物种中总会有至少一个成员幸存下来!
  • 根据适应度(也许还根据物种的适应度)选择用于繁殖的基因组。这也允许不同的特定实现风格。
  • 再生产。有无性繁殖(所选基因组的变异)和有性繁殖。有性生殖的工作原理是从两个 parent 那里获取基因(同样,不同的实现方式),然后突变一些。存在种间和种内有性生殖(是来自同一物种或来自不同物种的另一亲本),但您可以自由禁用任何一种。
  • 重新评估后代(设置新的适应度值)。
  • 物种形成。

  • 请注意,物种形成会定期重新应用(通常是每一代),因此物种并没有真正的明确定义(没有什么能真正阻止精英基因组,原封不动地复制到下一代,分配给新物种)。

    如果您使用固定的种群规模和 k 均值物种形成,无论如何都会有 k 个物种。从某种意义上说,它们每一次迭代都是新物种。

    关于genetic-algorithm - 整洁:物种形成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50960834/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com