0

我正在尝试使用 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) 欺骗函数:

order-3 子函数

l=30,l'=27,B为信噪比,即适应度偏差与最佳和次佳适应度值之差的比值(30-28=2)。根据上表的适应度偏差为 sqrt(155)。

然而在论文中,他们说使用 10 个 3 阶子函数并使用该方程必须为您提供 3,331 的人口规模,但在替换后我无法达到它,因为我不确定 c(alpha) 的值是多少。

任何帮助将不胜感激。谢谢

4

1 回答 1

0

我想我已经弄清楚c(alpha)到底是什么。至少绘制它与 alpha 的图表看起来与论文中的完全相同。纵坐标的平方似乎是指使用 alpha 作为右尾区域的逆正态随机分布找到的 Z 分数的平方。起初我被误导了,在找到 Z 分数后,它应该被替换为正态随机分布方程来对抗高度(纵坐标)。

这里有一些 Lua 实现https://github.com/xenomeno/GA-Messy供感兴趣的人使用。然而,Fast Messy GA 在重现 Goldberg 原始论文中的数据时存在一些问题,我不确定如何解决,但这是另一回事。

于 2019-05-17T21:39:23.030 回答