Artificial intelligence 什么是基因漂移?它如何影响EAs?

Artificial intelligence 什么是基因漂移?它如何影响EAs?,artificial-intelligence,genetic-algorithm,evolutionary-algorithm,genetics,Artificial Intelligence,Genetic Algorithm,Evolutionary Algorithm,Genetics,我在一些关于进化计算的文章中读到,由于遗传漂变现象,这些算法通常收敛到一个解。互联网上有很多内容,但我无法深入理解这个概念。我需要简单准确地知道: 进化计算背景下的遗传漂变是什么 它如何影响进化算法的收敛性 为了更好地理解遗传漂变(生物学)的原始概念,我建议您阅读汗学院的文章。简单地说,你可以将其视为一种进化现象,在这种现象中,群体中一个或多个等位基因(基因版本)的频率由于随机因素(与每个个体的适应度无关)而发生变化。如果一个种群中最健康的个体因为运气不好而被闪电击中并在繁殖前死亡,他将不会留

我在一些关于进化计算的文章中读到,由于遗传漂变现象,这些算法通常收敛到一个解。互联网上有很多内容,但我无法深入理解这个概念。我需要简单准确地知道:

  • 进化计算背景下的遗传漂变是什么
  • 它如何影响进化算法的收敛性

为了更好地理解遗传漂变(生物学)的原始概念,我建议您阅读汗学院的文章。简单地说,你可以将其视为一种进化现象,在这种现象中,群体中一个或多个等位基因(基因版本)的频率由于随机因素(与每个个体的适应度无关)而发生变化。如果一个种群中最健康的个体因为运气不好而被闪电击中并在繁殖前死亡,他将不会留下后代(尽管他拥有最高的健康水平!)。这是遗传漂变的一个例子(我知道有点荒谬)

现在,在进化算法的特定背景下,本文对该主题进行了很好的总结:

EAs遗传漂变可能是多种因素综合作用的结果, 主要与选择、适应度函数和表示有关。 这是由于基因型的无意丢失造成的。例如,随机 一个好的基因型解决方案永远不会被选中 繁殖。或者,如果一个解决方案有“生命周期”,它就死了 在它繁殖之前。通常这种基因型只存在于 有限世代的人口

(斯洛斯和古斯塔夫森,2019年)

最后,我将给你一个遗传漂变作用于遗传算法的真实例子。最近,我使用了一个简单的神经进化算法来创建一个能够玩蛇游戏()的代理。在我的游戏实现中,苹果出现在屏幕的随机位置。当我第一次执行进化过程时,我注意到在连续几代人之间,种群的最佳适应度有很大的波动——总的来说,没有多少改善。因此,我的算法无法收敛到一个好的解

经过一些调试,我发现这是由基因漂变引起的。因为苹果在随机位置产卵,一些个体,不一定是最适合的,是幸运的,得到了“容易的苹果”,从而实现了高适合度并留下了更多的后代。你看到这里的问题了吗

假设蛇A比蛇B更擅长游戏,因为它可以向食物移动,而蛇B只是随机移动。现在,假设蛇A的第一个食物出现在屏幕的一角(一个困难的位置),而蛇A在吃了苹果后不久就死了。现在,假设蛇B足够幸运,连续产下3个苹果,一个接一个。虽然B比A“更笨”,但它会留下更多的后代,因为它实现了更大的适应性。B的后代会“污染”下一代,因为他们可能会像B一样“愚蠢”

我使用更好的苹果定位算法(我定义了两个连续苹果产卵位置之间的最小距离)解决了这个问题,并将每个个体的最终适应度计算为其在几个游戏会话中适应度的平均值。这大大减少了(尽管没有消除)我的算法中遗传漂移的干扰


我希望这有帮助。你也可以看一看视频(它是葡萄牙语的,但有英文字幕),在那里我解释了我用来制作Snake AI的一些策略。

可能是问这个问题的更好地方。如果你决定在那里问它,请从这里删除它,这样我们就避免了交叉发布。此外,如果你问这个问题,请提供提到这个术语/概念的文章的链接。这是一个有趣且相关的问题,但我认为这篇文章需要一些改进(我稍后会尝试编辑它,因为现在建议的编辑队列已经满了)。我提供了一个答案,从更广泛的意义上解决了遗传漂变的概念。我希望有帮助!非常感谢,非常清晰准确。非常欢迎!