将最大化算法转换为最小化算法是将max更改为min吗?

时间:2011-03-04 21:42:16

标签: algorithm

这可能是一个愚蠢的问题,但我很想知道如果给出最大化算法并要求获得双重(最小化版本),这只是将所有最大值转换为min并进行其他基本调整的问题?

如果是,有什么问题不会出现这种情况吗?如果没有,是否有一个很好的直观原因,为什么这不起作用?

3 个答案:

答案 0 :(得分:12)

是的,最大化和最小化问题基本相同。 max(f(x))的解决方案与-min(-f(x))相同。

搜索游戏树时,此关系用于将minimax搜索转换为negamax搜索。这样做的好处是,不是编写两个函数,一个用于最大化你的分数而另一个用于最小化对手的分数,你可以编写一个单一的最大化函数,但当它是另一个人的移动时,翻转评估函数结果的符号。

答案 1 :(得分:3)

这取决于最大化算法的工作原理。需要渐变的数值算法可能会超过maxmin,并且可能会出现其他复杂性。

然而,确实有一个非常简单的解决办法。最大化函数f(a,b,c)相当于最小化-f(a,b,c)。所以只是否定函数的结果。

答案 2 :(得分:2)

如果问题显然是对称的,就像在2D表面上找到最大值与最小值一样。但是,由于你引用了背包问题:这是另一类问题,通过将一些max()函数以贪婪的方式应用于向量,无法找到最佳值。

相关问题