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