Minimax算法如何真正起作用?

时间:2017-05-03 08:49:57

标签: c++ algorithm

我正在研究Minimax算法来构建一个gomoku游戏。我对Minimax的问题​​是在子节点中具有相同的评估值,它实际上已添加到父节点或随机添加。 Example tree from Wiki

从上面的树中可以看到,在Min节点的第3层,有2个子节点的值为6.什么节点真正添加到父节点?

更新了问题

为什么在叶子上,它们被分成2组或3组,它们对应不同的父节点?

2 个答案:

答案 0 :(得分:3)

  

哪个节点真正添加到父节点?

总之,"不是"。

您评估节点,并采用最大。您可以添加值,而不是节点,因此如果多个节点共享最佳值,则无需在节点之间进行选择 - 您可以获得相同的结果。你只需要获得最佳价值。

答案 1 :(得分:0)

嗯,大概是你实现了算法,所以你可以说。由于您没有发布您的代码,我们无法发布。

一般来说,如果您的评估功能无法区分移动,那么选择随机移动就没有大问题。事实上,有很多游戏都是常见的事件。对称性倾向于产生两个动作同样好的情况。很明显,在这种情况下,选择哪种举动并不重要。

对于树木,请注意许多树木没有订购他们的孩子,MinMax树也不例外。没有像#34;第一个孩子"和#34;第二个孩子"。