MCTS 选择阶段的 UCT 如何避免饥饿?

人工智能 蒙特卡罗树搜索 置信上限
2021-11-10 19:01:45

MCTS 的第一步是根据应用于树的上置信界 (UCT) 继续选择节点,直到它到达一个叶节点,其中 UCT 定义为

wini+cln(t)ni,

在哪里

  • wi= 第 i 步后的获胜次数
  • ni= 第 i 次移动后的模拟次数
  • c= 勘探参数(理论上等于2)
  • t= 父节点的模拟总数

我真的不明白这个等式如何避免兄弟节点被饿死,也就是没有探索。因为,假设你有 3 个节点,其中 1 个我们称之为节点 A 被随机选择进行探索,恰好模拟胜利。所以,节点 A 的 UCT=1+(2)ln(1)1,而其他2个节点UCT = 0,因为它们是未探索的并且游戏刚刚开始,所以通过UCT其他2个节点永远不会被探索不是吗?因为在此之后它将进入扩展阶段并且扩展只发生它到达图中的叶节点。所以因为节点 A 是唯一具有 UCT 的节点>0它将选择节点 A 的一个子节点,并将继续沿该节点向下移动,因为节点 A 的所有兄弟节点的 UCT 为 0,因此它们永远不会被探索。

1个回答

首先探索节点 A、B、C 一次。

有关参考,请参阅 David Silver 和 Sylvain Gelly 的这篇论文,在 UCT 中结合在线和离线知识

如果当前状态的任何动作s在树中没有表示,aA(s),(s,a)T,那么统一随机策略πrandom 用于从所有未表示的动作中选择一个动作,A~(s)={a(s,a)T}.