optimization - 快速凌乱遗传算法中的种群大小
问题描述
我正在尝试使用 Goldberg、Deb、Kargupta Harik 的论文来实现 Fast Messy GA:fmGA - Rapid Accurate Optimization of Difficult Problems using Fast Messy Genetic Algorithms。
我坚持使用有关初始人口规模的公式来解释构建块评估噪声:
这里的子函数是 m=10 order-3(k=3) 欺骗函数:
l=30,l'=27,B为信噪比,即适应度偏差与最佳和次佳适应度值之差的比值(30-28=2)。根据上表的适应度偏差为 sqrt(155)。
然而在论文中,他们说使用 10 个 3 阶子函数并使用该方程必须为您提供 3,331 的人口规模,但在替换后我无法达到它,因为我不确定 c(alpha) 的值是多少。
任何帮助将不胜感激。谢谢
解决方案
我想我已经弄清楚c(alpha)到底是什么。至少绘制它与 alpha 的图表看起来与论文中的完全相同。纵坐标的平方似乎是指使用 alpha 作为右尾区域的逆正态随机分布找到的 Z 分数的平方。起初我被误导了,在找到 Z 分数后,它应该被替换为正态随机分布方程来对抗高度(纵坐标)。
这里有一些 Lua 实现https://github.com/xenomeno/GA-Messy供感兴趣的人使用。然而,Fast Messy GA 在重现 Goldberg 原始论文中的数据时存在一些问题,我不确定如何解决,但这是另一回事。
推荐阅读
- azure - 无法链接 Azure 日志分析中的现有工作区
- php - 如何使用输入文本数组输入 Laravel Dusk?
- kubernetes - 在 GKE 中的现有节点池上添加或编辑标签
- xamarin - 即使从 Xamarin 的 android 版本 8.1 中的缓存中清除,如何在后台启动服务?
- wso2 - 通过 API 门户开发 WSO2 API
- sapui5 - SAPUI5 使用正斜杠绑定属性名称
- reactjs - .offsetWidth 的 ref 没有在 React 中更新
- ios - Objective-C,NSTask 缓冲区限制
- c# - 在 C# 中引入常量在 Rider 18.3 中不起作用
- typescript - 将函数的返回类型称为 Typescript 中的类型