游戏树算法&渐进式深化:如何在不到达叶节点的情况下逼近答案?

时间:2016-10-08 19:07:21

标签: algorithm tree game-theory minmax

我刚刚看到麻省理工学院关于游戏树和MinMax算法的讲座,其中讨论了Alpha Beta修剪和渐进深化。
https://www.youtube.com/watch?v=STjW3eH0Cik

所以,如果我理解正确的渐进深化,那么当你试图在每个级别近似答案时,根据你移动的时间限制尝试深入叶子节点。在任何时候都有一些答案是很重要的。 现在,在36:22教授讨论了我们没有足够时间的情况,我们只去了第(d-1)级,其中d是树的深度。然后他还建议我们可以在每个级别都有一个临时答案,因为我们应该在任何时候得到一些近似的答案。

我的问题是如何在不进入叶节点的情况下得到任何答案,因为只有在叶子节点我们才能得出结论谁可以赢得游戏。想想这个tic-tac-toe游戏。在第(d-1)级,我们没有足够的信息来决定在(d-1)这个节点之前的这一系列动作是赢了我还是输掉了比赛。在更高的级别说(d-3)它更加模糊!当我们走下坡路时,一切皆有可能。不是吗?因此,如果算法决定计算直到第(d-1)级,那么所有这些路径选项都是相等的!没有什么可以保证胜利,没有什么可以保证在第(d-1)级失败,因为如果我理解正确,只能在叶节点计算胜负。在纯MinMax算法中尤其如此。

那么我们究竟如何在第(d-1)级或者说第(d-5)级获得“近似答案”?

1 个答案:

答案 0 :(得分:2)

我会尽力解释清楚 渐进式深化的背景和重要性
我需要你知道,在现实世界的游戏中,你用来决定的时间是有限的! (因为用户体验和其他人机交互问题或游戏中的问题/设计问题。)你有一个游戏树,并使用差异算法来优化所有树。但有三个问题:

  • 你有时间限制!
  • 您需要计算当前游戏树中的最佳解决方案,并根据树的深度进行计算!
  • 你需要决定是否在树中下载以获得更准确的答案而不违反时间限制。

所有问题的答案都是渐进式深化:在当前级别中,您计算​​答案并尝试通过树中的下一级别;但是如果你没有时间准备好在上一级别得到答案并将其作为答案解决 你的问题的答案
您可以想象树中的当前级别是游戏树中的“最终级别”(您正在假设),但如果您进入树中的下一级,您将获得最佳解决方案,然后如果您可以访问下一个级别:走吧!但是你需要计算当前游戏树中的最佳答案,因为如果你没有按时间限制完成下一级别最佳答案的加速,它就是游戏树中的“最终级别”作为保险政策。