“蒙特卡洛搜索”如何工作?


16

我在有关Alpha Go的Reddit帖子中听说过这个概念。我试图遍历本文和文章,但是无法真正理解算法。

因此,有人可以对蒙特卡洛搜索算法如何工作以及如何在构建具有游戏性的AI机器人中使用它进行简单易懂的解释吗?


Answers:


13

蒙特卡洛法是一种生成大量随机值或模拟并基于一般模式(例如均值和方差)形成某种混合的方法。

例如,您可以将其用于 天气预报。预测长期天气非常困难,因为这是一个混乱的系统,微小的变化可能导致结果截然不同。使用蒙特卡洛方法,您可以运行大量的模拟,每个模拟的大气变化略有不同。然后,您可以分析结果,例如根据多少次模拟最终下雨来计算给定日期下雨的概率。

至于在Alpha Go中使用Monte Carlo,他们似乎正在使用所谓的 Monte Carlo Tree Search。通过这种方法,您将树立可能的动作树,将几步转向未来,并尝试找到最佳顺序。但是,由于围棋游戏中可能的棋步数目非常多,因此您将无法进行超前探索。这意味着现在看起来不错的一些动作以后可能会变得糟糕。

因此,在“蒙特卡洛树搜索”中,您选择了一个有前途的移动顺序,并进行了一个或多个模拟,说明从那时起游戏将如何进行。然后,您可以使用模拟结果更好地了解特定移动顺序的实际效果,并相应地更新树。根据需要重复操作,直到找到一个好的动作。

如果您想了解更多信息或查看一些插图,我发现了一篇有关该主题的有趣论文:C. Browne等人,《蒙特卡洛树搜索方法概述》(开放式存储库 / 永久链接(付费)


因此,蒙特卡洛在alphago中所做的基本上是通过考虑不同的举动组合来制定长期策略,而不是反过来(选择一个策略然后采取行动来实现它)?
迭戈·安东尼奥·罗萨里奥·帕洛米诺

没有提到蒙特卡洛方法的关键要素,即将随机要素集成到可供研究的可用移动选择中。也没有提及实现精益加工的准确性的权衡。这些是最重要的两个方面,答案中没有这些方面。取而代之的是,当来自蒙特卡罗收敛特征的伪随机因子(较少的穷举搜索)的模拟次数较少时,会提到“大量随机值或模拟结果”。
FauChristian
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.