在选择的下一个状态下运行Minimax / Expectimax

如果我为当前状态或开始状态运行minimax / expectimax,并假设根有三个子节点(偶然节点)并运行minimax / expectimax算法 . 假设,它找到最佳终端节点,然后获得根的最佳子节点 . 这意味着它将选择导致具有最佳效用的终端状态的特定移动 . 我们称之为从根到终端状态的路径,路径P.

并且我们假设相反的玩家也按照expectimax / minimax树的预测进行移动并且该移动在路径P中,那么我们应该在新状态下再次运行expectimax / minimax算法还是我们可以看到路径P,并且猜测从该路径P中的下一个节点开始的下一个移动 .

我的逻辑是正确的还是我错过了两个玩家的expectimax / minimax算法 .

此外,一些链接到实际如何实现的示例将是很好的 .

回答(1)

2 years ago

不,你没有遗漏任何东西 . minimax算法的问题是游戏树的大小 . 通常在实现minimax算法时,可以选择限制树深度以避免大量计算 . 如果您选择限制树深度,则在下一步中,您不应始终移动到路径P中的下一个节点,而是再次计算树,并且路径可能会因添加的深度而发生变化 . 这是我编写的项目中minimax实现的链接 . minimax implementation(请注意,此实现还包括用于更快计算的alpha-beta修剪) .

如果您选择不限制状态树的深度,则无需再次计算它,在这种情况下,您将继续在路径P中 .