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

发布于 2024-09-03 07:06:31 字数 90 浏览 3 评论 0原文

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

我读过多篇关于遗传或进化算法的论文,虽然非常相似,但我认为它们可能不是同一件事。

Is there a difference between genetic algorithms and evolutionary algorithms?

I have read multiple papers, talking about genetic or evolutionary algorithms, and while very similar, I think they may not be the same thing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

不弃不离 2024-09-10 07:06:31

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

A genetic algorithm is a class of evolutionary algorithm. Although genetic algorithms are the most frequently encountered type of evolutionary algorithm, there are other types, such as Evolution Strategy. So, evolutionary algorithms encompass genetic algorithms, and more.

情定在深秋 2024-09-10 07:06:31

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

进化编程主要使用变异。

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

Genetic algorithms use crossover (hence the 'gene' in their name) and mutation to search the space of possible solutions.

Evolutionary programming uses primarily mutation.

As posted already, both are types of evolutionary algorithms.

欲拥i 2024-09-10 07:06:31

来自 Z. Michalewicz 1996 - “遗传算法 + 数据结构 = 进化程序” [p.289]:

进化程序大量借鉴了遗传算法。然而,
他们通过使用“自然”数据来整合特定问题的知识
结构和问题敏感的“遗传”算子。基本的
GA 和 EP 之间的区别在于前者被分类为
弱的、与问题无关的方法,但情况并非如此
后者。

因此,GA 应该能够解决 EP/EA 解决的任何问题,但 EP/EA 无法解决 GA 解决的所有问题。
当然,人们为遗传算法的通用性付出了效率的代价。

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

PS: D. Simon 2013 - “进化优化算法” 是一本很棒的书!

From Z. Michalewicz 1996 - "Genetic Algorithms + Data Structures = Evolution Programs" [p.289]:

Evolution programs borrow heavily from genetic algorithms. However,
they incorporate problem-specific knowledge by using "natural" data
structures and problem-sensitive "genetic" operators. The basic
difference between GAs and EPs is that the former are classified as
weak, problem-independent methods, which is not the case for the
latter.

So a GA should be able to solve any of the problems one solves with an EP/EA, but an EP/EA won't be able to solve all problems solved by the GA.
Of course, one pays with efficiency for the generality of GA.

Also, it seems that an algorithm is not an EA/EP if candidate solutions do not exchange information directly with each other (D. Simon 2013 - "Evolutionary Optimization Algorithms" [p.243]).

PS: D. Simon 2013 - "Evolutionary Optimization Algorithms" is an AMAZING book!

凶凌 2024-09-10 07:06:31

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

Algorithms that follow laws of evolution are called "Evolutionary algorithms". There are two sub-classes of EA. One, Genetic Algorithm that uses crossover, along with mutation as GA operators. Second, Evolutionary programming, that uses only mutation as its operator.

草莓酥 2024-09-10 07:06:31

进化策略(Rechenberg 1973)和遗传算法(Holland 1975)基于达尔文进化理论。进化策略是进化计算的基础,因此也是进化算法的基础。原则上遗传算法 (GA) 是 EA 的子类。

与 EA 不同,GA 需要使用计算表示(基因型)及其现实世界表示(表型)意义上的遗传表示。

Evolutionary Strategies (Rechenberg 1973) and Genetic Algorithms (Holland 1975) are based on Darwins Evolutionary Theories. Evolutionary Strategies are the basis on Evolutionary Computation, hence Evolutionary Algorithms. In principal genetic algorithms (GA) are a sub-class of EA.

In contrast to EA, GA requires uses genetic representation in the sense of computational representation (genotype) and its real world representation (phenotype).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文