最小最大和负最大有什么区别?

Jam*_*ian 8 minimax negamax

我对这两个感到困惑。Negamax 只是 minimax 的优化吗?或者 Negamax 是另一种搜索树算法?如果 negamax 是另一种搜索树算法,那么哪个更好?

Sam*_*hri 11

从这里提取的信息

\n

Negamax 是 MinMax 的简化,使用以下属性:

\n
\n

最大值(a,b) = -最小值(-a,-b)

\n
\n

因此,不要在 minmax 中计算条件值,如下所示:

\n
if maximizingPlayer then\n    value := \xe2\x88\x92\xe2\x88\x9e\n    for each child of node do\n        value := max(value, minimax(child, depth \xe2\x88\x92 1, FALSE))\n    return value\nelse (* minimizing player *)\n    value := +\xe2\x88\x9e\n    for each child of node do\n        value := min(value, minimax(child, depth \xe2\x88\x92 1, TRUE))\n
Run Code Online (Sandbox Code Playgroud)\n

你有一行在 Negamax 中执行相同的操作:

\n

value := max(value, \xe2\x88\x92negamax(child, depth \xe2\x88\x92 1, \xe2\x88\x92color))

\n

并且布尔值被颜色的概念(在文章中)取代,它只是一个值 1 或 -1 在玩家回合之间交替(如果我们应该最小化或最大化下一个回合)

\n

  • 这是对的。只是为了澄清最初的问题,Negamax 和 Minimax 是“相同”的算法,并且具有相同的效率/性能。 (9认同)