54、什么是蒙特卡罗树搜索(MCTS)?
蒙特卡罗树搜索(MCTS)
蒙特卡罗树搜索(MCTS)是2006年开发的一种 可变深度自适应搜索算法 ,它不需要启发式函数,而是使用 随机模拟 来估计棋盘优势。
该算法的一个重要元素是 探索/利用权衡 ,可通过超参数 Cp 进行调整。
MCTS算法可以有多种编码方式,它在以下领域取得了成功:
- 计算机围棋程序
- 视频游戏
- 单人应用程序
此外,MCTS还 革新了启发式搜索领域 。
55、蒙特卡罗树搜索(MCTS)的四个步骤是什么?
蒙特卡罗树搜索(MCTS)的四个步骤
蒙特卡罗树搜索(MCTS)的四个步骤分别是:
- 选择(Select) :从根节点开始向下遍历树,直到到达一个新的子节点。
- 扩展(Expand) :向树中添加一个子节点。
- 模拟(Playout) :进行随机移动的自我对弈,直到游戏结束。
- 反向传播(Backpropagation) :将奖励值向上传播,更新访问计数和胜利计数。
56、UCT的作用是什么?
UCT规则简介
UCT(Upper Confidence Bound applied to Trees)是一种 自适应的探索/利用规则 ,用于控制 蒙特卡罗树搜索 (MCTS)中的探索与利用之间的权衡。
核心特点:
- 高性能 :在许多不同领域中均能实现良好的性能表现。
- 平衡机制 :其公式设计能够同时考虑 胜率 和“ 新颖性 ”,从而决定下一步要扩展的节点。
- 搜索聚焦 :引导MCTS将搜索资源 集中在胜率最高的区域 。
- 探索保障 :在聚焦的同时,仍能 平衡对未充分探索部分的探索 。
理论优势:
- 收敛性保证 :该规则确保MCTS最终 收敛到极小极大值 ,具有坚实的理论基础。
57、请给出UCT公式。P - UCT与UCT有何不同?
UCT 与 P-UCT 公式说明
UCT 公式
UCT公式为:
UCT(a) = wa / na + Cp * √(ln n / na)
其中:
-
wa是子节点 a 的获胜次数 -
na是子节点 a 的访问次数 -
n是父节点的访问次数 -
Cp ≥ 0是可调的探索/利用超参数
P-UCT 公式
P-UCT公式为:
P-UCT(a) = wa / na + Cp * π(a|s) * √n / (1 + na)
P-UCT 在 UCT 公式的探索部分添加了策略头 π(a|s) 项,该术语指定了动作 a 的概率。
此外,平方根下的小差异( 无对数 ,分母中有 1 )也会使 UCT 函数曲线有所变化,确保在未访问动作时的正确行为。
58、描述蒙特卡罗树搜索(MCTS)四个操作的各自功能。
MCTS 的四个操作及其功能如下:
-
选择(Select)
从根节点开始遍历树,直至到达 MCTS 搜索树的叶子节点,选择一个尚未在树中的新子节点。在每个内部状态,遵循选择规则确定采取的行动和下一个要到达的状态,这些选择构成了状态动作策略的一部分。 -
扩展(Expand)
向树中添加一个子节点,多数情况下只添加一个,某些 MCTS 版本会将叶子节点的所有后继节点都添加到树中。 -
模拟(Playout)
以自我对弈的形式随机落子,直到游戏结束。这些节点不添加到 MCTS 树中,但模拟结果会在反向传播步骤中使用。模拟游戏的奖励根据结果而定,先手获胜为 +1,平局为 0,对手获胜为 -1。 -
反向传播(Backpropagation)
将奖励 r 沿树向上传播,更新所有节点的访问计数,根据模拟结果更新获胜计数。
59、UCT 如何实现探索与利用的权衡?它使用了哪些输入?
UCT 通过公式实现探索与利用的权衡:
$$ \text{UCT}(a) = \frac{w_a}{n_a} + C_p \sqrt{\frac{\ln n}{n_a}} $$
- 第一项 $\frac{w_a}{n_a}$ 是利用项,代表胜率,为胜率高的子节点提供利用奖励。
- 第二项 $\sqrt{\frac{\ln n}{n_a}}$ 是探索项,访问次数少的子节点探索项更高。
通过调整常数 $C_p$ 可调节探索程度:
- $C_p$ 低则探索少。
- $C_p$ 高则探索多。
输入包括:
- 子节点 $a$ 的获胜次数 $w_a$
- 子节点 $a$ 的访问次数 $n_a$
- 父节点的访问次数 $n$
- 可调的探索/利用超参数 $C_p$
60、当Cp值较小时,蒙特卡罗树搜索(MCTS)是更倾向于探索还是利用?
当 Cp 值较小时,MCTS 更倾向于 利用 。
- 因为当计算能力较低时,Cp 应该取较小值,此时更注重 利用已有的信息 ,而非进行更多探索;
- 当有更多计算能力时,选择较高的 Cp 值进行更多探索是明智的。
61、自我对弈循环由哪三个要素组成?
自我对弈循环的三个要素
-
移动层面(Move-level)
在蒙特卡罗树搜索(MCTS)推演中,对手实际上是自身的副本,即游戏移动层面的自我对弈。 -
示例层面(Example-level)
策略和奖励函数近似器的自我训练输入由自身的游戏生成,即价值/策略网络层面的自我对弈。 -


709

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



