遗传算法和进化算法有什么区别?

Gol*_*les 49 algorithm genetic-algorithm evolutionary-algorithm

遗传算法进化算法之间有区别吗?

我已经阅读过多篇论文,谈论遗传或进化算法,虽然非常相似,但我认为它们可能不是同一回事.

mdm*_*dma 57

遗传算法是一类进化算法.虽然遗传算法是最常遇到的进化算法类型,但还有其他类型,例如进化策略.因此,进化算法包括遗传算法等等.


小智 16

遗传算法使用交叉(因此名称中的"基因")和突变来搜索可能解决方案的空间.

进化编程主要使用突变.

已经发布,两者都是进化算法的类型.

  • 问题是关于遗传算法和进化算法之间的区别,但这似乎回答了“遗传算法和进化编程之间有什么区别?”的问题。 (2认同)

Krz*_*oss 8

来自Z. Michalewicz 1996 - "遗传算法+数据结构=进化计划"[p.289]:

进化计划大量借鉴遗传算法.然而,它们通过使用"自然"数据结构和对问题敏感的"遗传"操作符来结合特定于问题的知识.GAs和EP之间的基本区别在于前者被归类为弱的,与问题无关的方法,而后者则不然.

因此,GA应该能够解决使用EP/EA解决的任何问题,但EP/EA将无法解决GA解决的所有问题.当然,人们为GA的普遍性付出了高效的代价.

此外,如果候选解决方案不直接相互交换信息,似乎算法不是EA/EP(D. Simon 2013 - "进化优化算法" [p.243]).

PS:D.Simon 2013 - "进化优化算法"是一本令人惊叹的书!


小智 6

遵循进化规律的算法被称为“进化算法”。EA 有两个子类。一是使用交叉和变异作为遗传算法算子的遗传算法。其次,进化编程,仅使用突变作为其运算符。