首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >遗传算法:命名驱动突变位置的片段

遗传算法:命名驱动突变位置的片段
EN

Stack Overflow用户
提问于 2013-06-25 20:26:00
回答 4查看 190关注 0票数 0

要提出我的问题,请允许我从一个示例开始:

假设有1000个长度相同的数组(也称为行向量)。每个向量都填充了-1到1之间的随机数。然后,我随机抽取500个行向量,并将它们相加。我现在从总和开始,并希望对原始1000中的选择进行反向工程。

我决定用遗传算法来解决这个问题。我开始了一个1000位长的位串系列,并运行了变异(也就是翻转随机位)和交叉过程。然后,十分之一秒后,我就对了75%。然后,再过一个小时,我是76%正确的。从本质上讲,我一直在等待几十个比特被正确设置。这可能是我的随机数生成器从来没有以一种可以将它们合并到解决方案中的方式引入它们。

该算法在开始时做得很好,但后来未能进一步改进解决方案。我试着确保我的基因家族拥有每一个可能的比特位置。这并没有帮助;您无法判断项目从池中消失的速度有多快。

看来,算法中必须有一个额外的组成部分。一定有什么东西推动了翻转比特(也就是突变)位置的选择。这首曲子的专业术语是什么?梯度?它是从哪里来的?

EN

Stack Overflow用户

发布于 2013-06-25 21:02:23

这是一个相当透彻的教程,应该可以帮助你理解训练过程和所涉及的收敛。你说得对,它是一种梯度下降的形式。

http://informatics.indiana.edu/larryy/al4ai/lectures/03.IntroToGAs.pdf

该文档已移动,现在可以在以下位置找到:

http://shinyverse.org/al4ai/lectures/03.IntroToGAs.pdf

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17297313

复制
相关文章

相似问题

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