Artificial intelligence 当蒙特卡罗树搜索达到内存限制时该怎么办

Artificial intelligence 当蒙特卡罗树搜索达到内存限制时该怎么办,artificial-intelligence,montecarlo,Artificial Intelligence,Montecarlo,我最近对蒙特卡罗树搜索在游戏中的应用很感兴趣 我读过几篇论文,但我使用了Chaslot,G的博士论文“Monte Carlo树搜索”,因为我发现它更容易理解Monte Carlo树搜索的基础知识 我试着编写代码,但还是遇到了一些问题。该算法试图为每一次模拟将一个节点扩展到博弈树中。这会迅速升级为内存问题。我很快读了这篇文章,但它似乎并没有解释这项技术在达到一定内存限制时会做什么 你能建议一下,如果该技术达到一定的内存限制,该怎么办 你可以在这里看到报纸: 您可以丢弃访问次数小于某个最近未访问的阈

我最近对蒙特卡罗树搜索在游戏中的应用很感兴趣

我读过几篇论文,但我使用了Chaslot,G的博士论文“Monte Carlo树搜索”,因为我发现它更容易理解Monte Carlo树搜索的基础知识

我试着编写代码,但还是遇到了一些问题。该算法试图为每一次模拟将一个节点扩展到博弈树中。这会迅速升级为内存问题。我很快读了这篇文章,但它似乎并没有解释这项技术在达到一定内存限制时会做什么

你能建议一下,如果该技术达到一定的内存限制,该怎么办

你可以在这里看到报纸:

您可以丢弃访问次数小于某个最近未访问的阈值(多少次播放之前)的所有节点。 这是一个快速但不高效的解决方案。
最好也实施渐进式加宽

一个非常有效的方法是让树木生长得更慢。也就是说,不是每次到达叶节点时都展开树,而是在至少有k次访问时展开树。这将显著减缓树的生长,并且通常不会降低性能。火地岛围棋程序的一位作者告诉我,他尝试过这种方法,而且在实践中效果很好

这一想法最初在本文中描述:

雷米·库伦。monte-carlo树搜索中的高效选择性和备份运算符。《计算机与游戏》第72-83页。斯普林格,2007年

它还用于:

Max Roschke和Nathan Sturtevant。使用Endgame数据库在中国跳棋中的UCT增强,IJCAI计算机游戏研讨会,2013。

本文评估了该问题的各种解决方案:

  • 停止:当达到内存限制时停止算法
  • 发育迟缓:当你达到记忆极限时,你会停止生长树(但会不断更新)
  • 集成:当您达到内存限制时,保留结果并从空树重新启动搜索(最后融合结果)
  • 展平:当您达到内存限制时,您将删除除根节点及其直接子节点之外的所有节点,并从新的基础上重新启动搜索
  • 垃圾收集:当达到内存限制时,将删除所有在给定次数内未被访问的节点
  • 回收:添加节点时,删除最长时间未访问的节点

我不确定这是否有用。当应用程序达到内存限制,但没有访问次数小于阈值的节点时,会发生什么情况?而且,在我阅读渐进加宽后,它没有解决内存问题。