首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蒙特卡洛树搜索中每个节点的模拟次数

蒙特卡洛树搜索中每个节点的模拟次数
EN

Stack Overflow用户
提问于 2017-02-01 01:14:48
回答 1查看 973关注 0票数 2

在Wikipedia中描述的mcts算法中,它在每个节点选择中只执行一个播放(模拟)。现在,我在一个简单的connect-k游戏中试验这个算法。我想知道,在实践中,我们是否会执行更多的播放来减少差异?

我尝试了最初的算法,只有一个随机播放(无偏)。与我使用alpha-beta剪枝的启发式搜索相比,结果很糟糕。它的收敛速度非常慢。当我改为执行500次播放时,噪音要小得多。然而,每个节点的模拟速度太慢,算法无法在给定的时间内探索树的其他部分,因此有时会错过最关键的移动。

然后,我将AMAF (特别是RAVE转换)启发式方法添加到基本的MCTS中。我没有注意到500场比赛有太大的不同,可能是因为方差已经很低了。我还没有分析过1次季后赛的结果。

有人能给我一些见解吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-01 02:02:18

通常,您将在每个选择步骤中只执行一个播放。但是,后续的选择步骤可能会多次遍历同一节点。

例如,考虑在根节点中只有两个可用移动的情况。然后,假设您运行10,000次完整的MCTS迭代(其中一次迭代=选择+扩展+播放+反向传播),根节点下的两个节点中的每一个将被选择大约5,000次(或者可能一个节点被选择9,000次,如果第一个显然比seocnd更好,则另一个节点被选择1,000次,但仍然,两个节点都被选择不止一次)。

这是否与您当前在实现中所做的工作相匹配?如果没有,请尝试提供您当前拥有的一些代码,以便我们可以看到哪里出了问题。但是,如果这是您实现它的方式(它应该是这样的),那么每个选择步骤只执行一次播放应该没有问题

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41963566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档