如何处理蒙特卡罗树搜索中的终端节点?

时间:2017-11-16 03:02:08

标签: artificial-intelligence montecarlo

当我的树已经足够深,开始选择终端节点时,我会假设我应该只执行零移动"播放"从它反向传播结果,但IEEE survey of MCTS methods表示选择步骤应该是找到最紧急的可扩展节点"我无法在其他地方找到任何反例。我应该以某种方式排除他们吗?在这里做什么是正确的?

1 个答案:

答案 0 :(得分:2)

如果您在选择阶段实际到达终端节点,那么您可以跳过扩展和播放(它们不再有意义)并直接反向传播该终端节点的值。

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

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