蒙特卡罗树搜索评估游戏状态
1. 蒙特卡罗树搜索(MCTS)概述
在评估游戏状态时,传统的α - β剪枝需要使用位置评估函数,但在围棋中,位置评估非常困难,简单的基于提子的启发式方法难以欺骗有经验的棋手。蒙特卡罗树搜索(MCTS)提供了一种无需游戏战略知识就能评估游戏状态的方法。它通过模拟随机游戏来估计一个位置的优劣,一次随机游戏被称为一次“rollout”(展开)。
MCTS 属于蒙特卡罗算法家族,该家族利用随机性来分析极其复杂的情况,其名称灵感源于摩纳哥著名的赌场区。虽然看起来通过随机落子构建好的策略似乎不太可能,但当两个随机 AI 相互对抗时,如果一方持续获胜,那么很可能是该方起始位置具有优势。而且,进行的展开次数越多,估计就越准确。例如,模拟 10 次随机游戏,白方赢 7 次,很难确定白方具有优势;但如果模拟 100 次,白方赢 70 次,就可以确定起始位置对白方有利。
2. MCTS 算法步骤
MCTS 算法每一轮包含三个步骤:
1. 向 MCTS 树中添加一个新的棋盘位置。
2. 从该位置模拟一个随机游戏。
3. 用随机游戏的结果更新树的统计信息。
不断重复这个过程,直到达到固定的轮数或时间。最后,树顶部的统计信息会告诉你选择哪一步棋。
下面是一个单轮 MCTS 算法的详细步骤:
- 选择节点 :在树的底部选择一个叶子节点,准备添加一个新的子节点。
- 添加新节点 :从该节点随机选择下一步棋,计算新的棋盘位置,并将该节点添加到树中。
- 模拟随机游戏 <
超级会员免费看
订阅专栏 解锁全文
1009

被折叠的 条评论
为什么被折叠?



