我正在实施我的硕士学位论文,在论文的理论方面,我有一个大问题。
假设我们想要使用遗传算法。
我们有两种功能:
a)一些具有如下关系的函数:|| x1 - x2 ||>> || f(x1) - f(x2)|| 例如:y =(1/10)x ^ 2
b)一些具有如下关系的函数:|| x1 - x2 ||<< || f(x1) - f(x2)|| 例如:y = x ^ 2
我的问题是,当我们想要使用遗传算法找到最佳值时,上述哪种函数比其他函数有更多困难(更别提MINIMUM或MAXIMUM)。
非常感谢, 阿明
答案 0 :(得分:1)
我不相信你可以在不施加额外限制的情况下回答这个问题。
这将取决于您正在处理的特定类型的遗传算法。如果你使用健身比例(轮盘)选择,那么改变健身值的范围可能很重要。通过锦标赛选择或排名偏向的选择,只要个人之间的排序关系保持不变,就没有效果。
即使您可以说它确实重要,但仍然很难说哪个版本对于GA来说更难。主要影响将是选择压力,这会导致算法或多或少快速收敛。是好还是坏?这取决于。对于像f(x)= x ^ 2这样的函数,尽可能快地收敛可能很好,因为只有一个最优,所以尽快找到它。对于更复杂的功能,可能需要更慢的收敛来找到好的解决方案。因此,对于任何给定的函数,缩放和/或翻译适合度值可能会或可能不会产生差异,如果确实如此,则差异可能有用也可能没有用。
可能还有一个免费午餐论点,即所有问题和优化算法都没有单一的最佳选择。
我很乐意得到纠正,但我不相信你能说出这样或那样的方式,而没有详细说明你正在关注的算法和问题的类别。