交叉遗传算法的效率 [英] Efficiency of crossover in genetic algorithms

查看:143
本文介绍了交叉遗传算法的效率的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经实现了一些遗传算法解决各种的问题。但我仍持怀疑态度交叉/重组的有用性。

I've implemented a number of genetic algorithms to solve a variety of a problems. However I'm still skeptical of the usefulness of crossover/recombination.

我实现交叉之前,通常首先实现突变。后,我实现交叉,我通常不会看到一个显著加速在其中一个很好的候选解决方案生成相比,简单地使用突变,并引入了一些随机的人在每一代,以确保遗传率。

I usually first implement mutation before implementing crossover. And after I implement crossover, I don't typically see a significant speed-up in the rate at which a good candidate solution is generated compared to simply using mutation and introducing a few random individuals in each generation to ensure genetic .

当然,这可能是由于交叉功能和/或概率糟糕的选择,但我希望得到一些具体的解释/证据,为什么/否交叉提高了气。是否有过这方面的任何研究?

Of course, this may be attributed to poor choices of the crossover function and/or the probabilities, but I'd like to get some concrete explanation/evidence as to why/whether or not crossover improves GAs. Have there been any studies regarding this?

我的理解背后的原因:交叉允许两个人的力量组合成一个个体。但对我来说这等于是说,我们可以交配的科学家和美洲虎得到一个聪明和快速的混合。

I understand the reasoning behind it: crossover allows the strengths of two individuals to be combined into one individual. But to me that's like saying we can mate a scientist and a jaguar to get a smart and fast hybrid.

编辑:在mcdowella的回答,他提到了如何找到在那里交叉能够提高在爬山的多重启动点的情况下是不平凡的。可能有人在阐述这一点?

In mcdowella's answer, he mentioned how finding a case where cross-over can improve upon hill-climbing from multiple start points is non-trivial. Could someone elaborate upon this point?

推荐答案

您在被怀疑的交叉操作正确。有一个叫文 在交叉的模拟进化优化的效果(福格尔和斯泰顿,1994生物系统公司)。它是免费提供的 1 (很多被福格尔其他伟大的酒吧的一个很好的来源以及)。

You are correct in being skeptical about the cross-over operation. There is a paper called "On the effectiveness of crossover in simulated evolutionary optimization" (Fogel and Stayton, Biosystems 1994). It is available for free at 1 (a good source of a lot of other great pubs by Fogel as well).

顺便说一句,如果你还没有我建议寻找到一个名为差分进化的技术。它可以是非常善于解决许多优化问题。

By the way, if you haven't already I recommend looking into a technique called "Differential Evolution". It can be very good at solving many optimization problems.

这篇关于交叉遗传算法的效率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆