我可以使用启发式在蒙特卡洛搜索树的播出阶段获得结果吗?

问题描述:

根据我的理解,MCTS中播出或模拟阶段的目标是获得一个结果,并奖励或惩罚从反向传播过程中的根路径上的节点。 (请纠正我,如果我错了)我可以使用启发式在蒙特卡洛搜索树的播出阶段获得结果吗?

我的问题是,如果我可以使用领域知识启发式来获得这个结果,而不是实际模拟游戏到最后。

我问的原因是我正在做类似于寻路的事情,目标是找到目标状态(节点)的路径,这意味着模拟游戏到最后对我来说是非常困难的。

是的,你一定可以。我在一些游戏领域亲自完成了这个任务,直到达到终端状态时,一直进行适量的模拟是不可行的。

如果您总是提前终止模拟并使用启发式评估函数对其进行评估,那么您将失去UCT(最常见的MCTS实现)在无限的处理时间内找到最佳动作的保证,但您很少无论如何,无论如何都需要无数的处理时间。在可行的范围内运行足够的仿真直到最后它可能是有害的(除非它是一个非常好的启发式功能,并允许您运行更多的仿真)。

我确实发现这篇论文“Monte-Carlo Planning for Pathfinding in Real-Time Strategy Games”。它使用欧几里得距离的倒数作为奖励。