【发布时间】:2018-06-27 02:25:59
【问题描述】:
我了解 MCTS 背后的理论,但这是我的问题。游戏中的蒙特卡洛方法需要从当前状态模拟游戏,直到达到最终状态。为了使搜索收敛到 Minimax(实际理想的移动序列),必须模拟数千甚至数百万的游戏。
我现在这样做的方式是使用与普通极小极大搜索相同的移动生成函数,以及相同的移动函数以及在每次移动后检查获胜情况。在国际象棋或跳棋等复杂游戏中(甚至在简单游戏中),这些都是非常昂贵的操作。我的问题是:有没有更好的方法来实现游戏模拟以降低成本?我可以不执行完整的移动生成,而不是每次都检查胜利吗?任何其他缩短模拟时间的方法
【问题讨论】:
-
如果我没有误解 MCTS,那么它根本不能保证提供最佳解决方案,只有一个好的解决方案。因此,这取决于您想要搜索的细粒度。顺便说一句:您既没有 C++ 也没有 Java 问题,所以请删除这些标签。
-
@UlrichEckhardt 不,MCTS 保证提供最佳解决方案(也就是说,如果您使用适当的选择策略,例如在名为 UCT 的 MCTS 的最常见变体中所做的 UCB1,并且如果您有无限的处理时间)
标签: optimization artificial-intelligence simulation chess montecarlo