这确实是标题中的全部内容,但对于任何对进化算法感兴趣的人来说,这里有一个细分:
在 EA 中,基本前提是随机生成一定数量的有机体(实际上只是参数集),针对问题运行它们,然后让表现最好的有机体生存下来。
然后,你会重新填充幸存者的杂交品种、幸存者的突变以及一定数量的新随机生物体的组合。
这样做数千次,高效的有机体就会出现。
有些人还做一些事情,比如引入多个生物“岛”,这些“岛”是独立的种群,允许偶尔杂交。
所以,我的问题是:最佳的重新填充百分比是多少?
我一直保留着表现最好的 10%,并用 30% 的杂交品种和 30% 的突变品种进行重新繁殖。剩下的30%用于新生物。
我也尝试过多岛理论,我也对你的结果感兴趣。
我并没有忘记,这正是 EA 可以解决的问题类型。你知道有人尝试这样做吗?
提前致谢!
我遇到的有关 GA 和 EA 的最佳资源是 John Koza 的书籍基因编程 http://www.genetic-programming.com/。他深入探讨了该主题——编码基因组、随机突变、育种、调整适应度函数的技术。
就我个人而言,我只编写了一小部分用于教学目的的模拟器。我发现,我如何调整这些百分比与我使用的适应度函数的细节、我引入了多少随机突变以及我尝试进行突变和繁殖的“智能”程度有关 - 我发现越少“聪明”我试图让变异器和交叉逻辑变得越快,群体的适应度分数提高得越快 - 我还发现我在突变的概率上过于保守 - 我的初始运行达到了局部最大值并且有一个很难摆脱他们。
这些都没有给你具体的答案,但我不认为有具体的答案,遗传算法本质上是不可预测的,调整这些参数可能仍然是一门艺术。当然,您始终可以尝试元遗传算法,使用这些参数作为染色体,搜索在您运行的基本遗传算法中产生更快速适应度的设置。
取决于您想要获得的“元”程度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)