gpt4 book ai didi

artificial-intelligence - 进化算法 'approaches' 之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-12-04 08:43:36 25 4
gpt4 key购买 nike

所以我正在阅读进化算法并且感到困惑。

进化编程、进化策略和遗传算法之间的“传统”区别是什么,我相信在现代它们基本上收敛于同一事物?

我的理解是遗传算法改变“基因”以产生结果,进化策略改变参数从而以某种方式改变个体。根据 (http://en.wikipedia.org/wiki/Evolutionary_algorithm),numerical parameters 到底是什么意思?那么进化规划主要因实数突变而变化?

进化编程和遗传编程是寻找解决问题的程序的方法,而遗传算法和进化策略是使用候选者寻找问题解决方案的方法吗?我看不到这种区别,我在进化策略与遗传算法中看到的唯一区别是参数列表与染色体以及实数与整数?

谢谢。

最佳答案

希望这会为您澄清一些事情:

进化算法:尝试在给定的候选解决方案群体中找到“最适合”解决方案的算法。该算法从随机候选者开始,尝试通过繁殖、变异、重组和选择从那里进化

从那里,您可以使用几种“标准方式”来调用多个进化算法系列。这些名称已由学术研究给出;我相信命名约定中的细微差别既来自微妙的原因,也来自随着时间的推移缺乏可用的词汇:

  • 遗传算法:给定种群被定义为“一串数字”(传统上是 0 和 1 的向量)。

  • 遗传编程:给定的种群是一组结构不同的计算机程序。问题是哪个程序最适合解决给定问题。如果你熟悉 Lisp 处理,你就会知道整个程序可以表示为一棵树;想象一下,您的算法对这些树进行了变异或重组。您最终会得到许多从您的原始候选方案演变而来的方案,其中一些方案在解决您的问题方面会比其他方案更好。

  • 进化编程:给定一个具有固定结构但参数的特定计算机程序,所研究的总体是通过这些参数的变化获得的程序集。例如,如果您认为您的问题可以用有限状态机来表示,此技术可以帮助您找到状态的数量、状态之间的授权转换以及这些转换的概率。

  • 进化策略:给定的种群是一个实数向量 + 参数,例如所研究的候选者之间的变异率试图达到最佳值。假设您从一组 (c1,c2,c3) 3 维向量开始。在每一代中,您通过向 c1、c2 和 c3 添加一个随机值来改变它们。随机值可能基于具有标准偏差 S 的高斯分布。从较大的 S 值开始可能会很有趣,这样突变就会在各处产生向量,一旦你开始找到有趣的向量,你就会开始减少 S为了“关注”这些有趣的向量。

请记住,这些名称只是命名约定。有些擅长描述它们的意思,有些不太优化。 AI 领域的进化命名仍在进行中;-)

关于artificial-intelligence - 进化算法 'approaches' 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10840127/

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