如何处理 Monte Carlo 树搜索中的终端节点?

How to handle terminal nodes in Monte Carlo Tree Search?

当我的树已经足够深以至于开始选择终端节点时,我会假设我应该从它执行零移动 "playout" 并反向传播结果,但是IEEE survey of MCTS methods 表示选择步骤应该是找到 "most urgent expandable node" 并且我在其他地方找不到任何反例。我应该以某种方式将它们排除在外吗?在这里做什么是正确的?

如果你真的在选择阶段到达了一个终端节点,你会跳过扩展和播放(它们不再有意义)并直接反向传播那个终端节点的值。

从您链接的论文来看,第 6 页不清楚,但在第 9 页的算法 2 中很清楚。在该伪代码中,TreePolicy() 函数最终将 returning一个终端节点 v。当这个节点的状态然后被传递到 DefaultPolicy() 函数时,该函数将直接 return 奖励(该函数的 while 循环的条件永远不会满足)。

如果您对算法有很好的直观理解,并且希望它能够在给定无限长的处理时间的情况下保证对值的最佳估计,那么这也是您想要做的事情。对于无限量的处理时间(无限次模拟),您需要无限次地备份来自“'best'”终端状态的值,以便更靠近根的节点中备份的平均值也收敛到限制中的那些最佳叶节点值。