【发布时间】:2017-02-17 15:54:48
【问题描述】:
我对如何实施 MCTS“树策略”感到有些困惑。我读过的每篇论文或文章都谈到了从当前游戏状态下树(在 MCTS 术语中:玩家即将采取行动的根)。我的问题是,即使我处于 MIN 玩家级别(假设我是 MAX 玩家),我如何选择最好的孩子。即使我选择了 MIN 可能采取的某些特定操作,并且我的搜索树通过该节点变得更深,MIN 玩家在轮到它时也可能会选择一些不同的节点。(如果 min 玩家是业余人类,它可能就像选择一些不一定是最好的节点)。由于 MIN 选择了不同的节点,这使得 MAX 通过该节点进行传播的整个工作都是徒劳的。 对于我所指的步骤: https://jeffbradberry.com/posts/2015/09/intro-to-monte-carlo-tree-search/ 树策略在哪里:https://jeffbradberry.com/images/mcts_selection.png 有点让我相信他们是从单个玩家的角度来执行它的。
【问题讨论】:
-
我在问题中没有看到任何 Python。
-
剥削玩法需要对手建模。事实证明,对于大多数游戏来说,假设对手发挥最佳就足够了。扑克可能是个例外。
-
对不起彼得的标签!我是 SE 新手,我主要使用 python 编写代码。现在我意识到这无关紧要。
-
Paul,那么当我实施“树策略”时,我应该从 MIN 的 P.O.V. 中选择最好的孩子吗?当我处于MIN玩家会采取行动的水平时?
-
@AvisekNaug 是的,您尝试为 MIN 玩家选择最佳着法。
标签: algorithm montecarlo alpha-beta-pruning