如果我为当前状态或开始状态运行minimax / expectimax,并假设根有三个子节点(偶然节点)并运行minimax / expectimax算法。假设,它找到最佳终端节点,然后获得根的最佳子节点。这意味着它将选择导致具有最佳效用的终端状态的特定移动。我们称之为从根到终端状态的路径,即路径P.
我们假设相反的玩家也按照expectimax / minimax树的预测进行移动并且该移动在路径P中,那么我们应该在新状态下再次运行expectimax / minimax算法,或者我们可以看到路径P ,并猜测下一步从该路径P中的下一个节点开始。
我的逻辑是正确的还是我错过了两个玩家的expectimax / minimax算法。
此外,一些链接到实际如何实现的示例将是很好的。
答案 0 :(得分:0)
不,你没有遗漏任何东西。 minimax算法的问题是游戏树的大小。通常在实现minimax算法时,可以选择限制树深度以避免大量计算。如果您选择限制树深度,则在下一步中,您不应始终移动到路径P中的下一个节点,而是再次计算树,并且路径可能会因添加的深度而发生变化。 这是我编写的项目中minimax实现的链接。 minimax implementation (请注意,此实现还包括用于更快计算的alpha-beta修剪)。
如果您选择不限制状态树的深度,则再次计算它没有意义,在这种情况下,您将继续在路径P中。