首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遗传算法要选择的竞赛选择限制

遗传算法要选择的竞赛选择限制
EN

Software Engineering用户
提问于 2015-01-22 15:49:52
回答 1查看 793关注 0票数 2

我又开始研究一种遗传算法,我尝试了很多运算符和选择方法。当我选择比赛的时候,我注意到总是让最优秀的人被选中很容易,而小的人被选中的机会更少。我看到了一些变通的方法,比如对赢得锦标赛的个人实施一些“选择概率”,这样如果他不通过这个概率,就会给其他输掉的人机会。

我读过的另一种方法是给每个人一个选择次数的限制,但是在这个文档上并没有创造这个“限制”的任何方法。所以我开始考虑用每个人所代表的%来表示他的健康。例如:

ind 1: 10%‘直到100%消失10倍

ind 2: 40%到100%在2到3x之间

ind 3:8‘直到100%在10到12倍之间

ind 4: 30%到100%在3到4倍之间

或者使用逆%

ind 1可以被选择90%的比赛次数(或回合)

6 0%.

ind 3的选择率为92% .

ind 4的选择率为70% .

这只是简单的想法,没有什么复杂的。我想知道的是,是否有显示某种方法的文档创建了这个限制,或者您是否知道或有任何想法/意见可以改进这一点。

EN

回答 1

Software Engineering用户

发布于 2015-01-23 00:14:51

首先,在实现遗传算法时要记住以下几点:

几乎所有的气体都是武断的。您的解决方案将取决于:

  • 你的人口个体代表潜在解决方案的方式,
  • 你衡量你个人健康的方式,
  • 你进行选择和育种的方式,
  • 突变的数量,
  • 世世代代的数量和你们的人口规模,
  • 你可能选择其他的GA概念来实现..。

所有这些都是您的实现的参数。通常,使用GAs,您将实现一个解决方案,在几次运行中测试它,然后您将对它进行多次调整。

还请考虑您的搜索空间是什么,以及它可能是什么样子:

  • 你的搜索空间是一个N维空间,它定义了你所有潜在群体的宇宙。(N是定义单个解决方案的特征数)。
  • 如果你从三维空间(简单地说)想一想,你会有一个比较平坦的景观,还是会看起来像一座红河山,还是会有很多山、山、谷?在调整您的实现时,这一点也很重要。

现在,如果你担心某些人会太快地接管人口,那么你可以重新审视你的健身功能,以减轻健康个体的重要性。(你的适应度函数可能是线性的,也可能是线性的,有最大值,对数,或者其他什么.)。此外,你也可以增加突变率。此外,正如您所建议的,您可以限制单个解决方案繁殖的次数。你也可以尝试不同的选择机制,看看它是如何进行的(健身比例,比赛,等等)

只是一次又一次地调整、测试和迭代。通常情况下,这就是如何改进GA程序。

如果您更详细地说明您已经实现了什么,我很乐意给您进一步的思考。

祝好运。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/270851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档