蒙特卡罗树搜索与UCT算法解析

54、什么是蒙特卡罗树搜索(MCTS)?

蒙特卡罗树搜索(MCTS)

蒙特卡罗树搜索(MCTS)是2006年开发的一种 可变深度自适应搜索算法 ,它不需要启发式函数,而是使用 随机模拟 来估计棋盘优势。

该算法的一个重要元素是 探索/利用权衡 ,可通过超参数 Cp 进行调整。

MCTS算法可以有多种编码方式,它在以下领域取得了成功:

  • 计算机围棋程序
  • 视频游戏
  • 单人应用程序

此外,MCTS还 革新了启发式搜索领域

55、蒙特卡罗树搜索(MCTS)的四个步骤是什么?

蒙特卡罗树搜索(MCTS)的四个步骤

蒙特卡罗树搜索(MCTS)的四个步骤分别是:

  1. 选择(Select) :从根节点开始向下遍历树,直到到达一个新的子节点。
  2. 扩展(Expand) :向树中添加一个子节点。
  3. 模拟(Playout) :进行随机移动的自我对弈,直到游戏结束。
  4. 反向传播(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 的四个操作及其功能如下:

  1. 选择(Select)
    从根节点开始遍历树,直至到达 MCTS 搜索树的叶子节点,选择一个尚未在树中的新子节点。在每个内部状态,遵循选择规则确定采取的行动和下一个要到达的状态,这些选择构成了状态动作策略的一部分。

  2. 扩展(Expand)
    向树中添加一个子节点,多数情况下只添加一个,某些 MCTS 版本会将叶子节点的所有后继节点都添加到树中。

  3. 模拟(Playout)
    以自我对弈的形式随机落子,直到游戏结束。这些节点不添加到 MCTS 树中,但模拟结果会在反向传播步骤中使用。模拟游戏的奖励根据结果而定,先手获胜为 +1,平局为 0,对手获胜为 -1。

  4. 反向传播(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、自我对弈循环由哪三个要素组成?

自我对弈循环的三个要素

  1. 移动层面(Move-level)
    在蒙特卡罗树搜索(MCTS)推演中,对手实际上是自身的副本,即游戏移动层面的自我对弈。

  2. 示例层面(Example-level)
    策略和奖励函数近似器的自我训练输入由自身的游戏生成,即价值/策略网络层面的自我对弈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值