gpt4 book ai didi

genetic-algorithm - 遗传算法和进化算法之间的真正区别是什么?

转载 作者:行者123 更新时间:2023-12-04 13:24:19 25 4
gpt4 key购买 nike

我正在阅读一些有关遗传算法的论文,并且他们经常以非常相似的方式提及进化算法。根据维基百科,GA是EA的子集。但是,如果我们仔细观察,我们会发现它们都是基于自然选择(交叉,选择,变异)的元启发式优化算法,并且都没有固定的表示形式(这取决于要解决的问题,即使我们传统上使用二进制GA的表示形式)。它们非常相似。因此,我的问题是我们是否可以将每种进化算法都视为遗传算法?它们之间的真正区别是什么?谢谢

最佳答案

这取决于您问谁。在最初存在的几十年中,每个人都认为存在不同的类别(通常列为“遗传算法”,“遗传编程”,“进化策略”和“进化编程”)。子字段之间的差异,因此区分确实具有一定意义。

在某个时候(大约在90年代末期左右),人们对统一提出了更大的要求,因为人们开始将它们视为更通用的算法类别的实例。主要的GA session (ICGA)演变为GECCO,统一的术语变成了“进化计算”,涵盖了以上所有内容,偶尔还有其他一些内容(您也可以将诸如粒子群优化之类的东西视为进化算法)定义有点宽松)。

因此,目前,我们通常将“进化计算”(或“进化算法”)称为笼统术语。遗传程序设计直接作为进化代码串保持其自身的身份,而进化策略在处理实值时也保持独立的身份,并且通常包括某种自我修改(例如,运行时的协方差矩阵自适应学习搜索方向)。进化编程仍然存在,但只是小得多。术语“遗传算法”已经扩展了很多。最初,人们认为它们是在按代选择等操作的二进制字符串上进行操作。随着时间的流逝,严格性逐渐消失。此时,您几乎可以将“遗传算法”用作“进化计算”的同义词。您不应该这样做,因为您会迷失术语的一种精妙之处,但总的来说,如果您不直接进行代码生成,并且您不是在以一种非常特别定义的方式演化实数,与人们认为的进化策略相对应,那么您可以安全地将其称为“遗传算法”。

关于genetic-algorithm - 遗传算法和进化算法之间的真正区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9176195/

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