所有遗传算法都是最大化算法吗?

时间:2014-04-23 22:20:21

标签: algorithm max mathematical-optimization genetic-algorithm evolutionary-algorithm

我不确定我对最大化和最小化的理解是否正确。

那么让我们说一些函数f(x,y,z)我想找到什么会给出最大化的最大值,对吧?如果我想找到最小值的最小值?

因此,如果遗传算法是一种尝试最大化某些适应度函数的搜索算法,那么它们的定义是最大化算法吗?

2 个答案:

答案 0 :(得分:4)

  

所以让我们说一些函数f(x,y,z),我想找到什么会给出最大化的最大值,对吧?如果我想找到最小值的最小值?

是的,根据定义,这是真的。

  

因此,如果遗传算法是一种尝试最大化某些适应度函数的搜索算法,那么它们的定义是最大化算法吗?

非常多,是的,虽然我不确定“最大化算法”是一个很常用的术语,并且只有在遗传算法被定义为这样的时候,我才认为它是严格的。

通用算法也可以尝试最小化到某个目标函数值的距离,或者最小化函数值,但是再次,这可以被重新描述为最大化而不失一般性。

也许更重要的是,即使有一个功能也没有严格的要求 - 候选人只需要具有可比性。如果他们有total order,则可以将其重新定义为最大化问题。如果他们没有总订单,那么让候选人客观上比其他人更好一些可能会更困难,尽管没有什么能阻止你在这类数据上运行GA。

总之 - 尝试最大化函数是常态(并且可能与您大多数人看到它定义的方式一致),但如果您遇到不执行此操作的GA,请不要感到惊讶。 / p>

答案 1 :(得分:-1)

  

所有遗传算法都是最大化算法吗?

不,他们不是。

遗传算法是multi-objective optimization的常用方法(例如NSGA-II或SPEA-2是众所周知的基于遗传算法的方法)。

对于多目标优化,您不是要尝试最大化功能。

这是因为标量化多目标优化问题很少是一种可行的方法(即没有一个解决方案可以同时优化每个目标)而你正在寻找的是一组nondominated solutions(或代表)帕累托最优解的子集)。

还有进化算法的方法,试图捕捉自然进化的开放性,寻找行为新颖性即使在基于客观的问题中,这种新颖的搜索也会忽略目标(详见Joel Lehman和Kenneth O. Stanley的Abandoning Objectives: Evolution through the Search for Novelty Alone)。