遗传算法的最佳发现

时间:2012-11-05 15:55:53

标签: algorithm genetic-algorithm

我正在实施我的硕士学位论文,在论文的理论方面,我有一个大问题。

假设我们想要使用遗传算法。

我们有两种功能:

a)一些具有如下关系的函数:|| x1 - x2 ||>> || f(x1) - f(x2)||         例如:y =(1/10)x ^ 2

b)一些具有如下关系的函数:|| x1 - x2 ||<< || f(x1) - f(x2)||         例如:y = x ^ 2

我的问题是,当我们想要使用遗传算法找到最佳值时,上述哪种函数比其他函数有更多困难(更别提MINIMUM或MAXIMUM)。

非常感谢, 阿明

1 个答案:

答案 0 :(得分:1)

我不相信你可以在不施加额外限制的情况下回答这个问题。

这将取决于您正在处理的特定类型的遗传算法。如果你使用健身比例(轮盘)选择,那么改变健身值的范围可能很重要。通过锦标赛选择或排名偏向的选择,只要个人之间的排序关系保持不变,就没有效果。

即使您可以说它确实重要,但仍然很难说哪个版本对于GA来说更难。主要影响将是选择压力,这会导致算法或多或少快速收敛。是好还是坏?这取决于。对于像f(x)= x ^ 2这样的函数,尽可能快地收敛可能很好,因为只有一个最优,所以尽快找到它。对于更复杂的功能,可能需要更慢的收敛来找到好的解决方案。因此,对于任何给定的函数,缩放和/或翻译适合度值可能会或可能不会产生差异,如果确实如此,则差异可能有用也可能没有用。

可能还有一个免费午餐论点,即所有问题和优化算法都没有单一的最佳选择。

我很乐意得到纠正,但我不相信你能说出这样或那样的方式,而没有详细说明你正在关注的算法和问题的类别。