我想并行我的MCTS程序。有几种方法可以做到这一点:
(如果我的解释不清楚,请查看本文是关于MCTS的综述文件。。在第25页中,详细介绍了MCTS并行化的不同方法。
问题:
由于Python 中的多进程具有创建独立子进程的,2.根并行化非常适合,而我假设3.树并行化是不可行的。(因为对于树并行化,所有子进程都必须共享同一棵树--这在Python中是很难做到的)
我说的对吗?我浏览了一下多处理文档,如果我正确理解的话,似乎可以在子进程之间来回传递一些基本数据类型的信息,但由于速度等原因,非常不鼓励。
如果是这样的话,Python中的树并行化将是个坏主意,对吧?
发布于 2018-10-01 15:03:50
是的,您正确地认为根并行化是这些变体中最容易实现的。不同的进程基本上能够完全独立地运行。只有在搜索过程结束时,您才必须以您选择的任何方式聚合结果,我不认为这应该是实现上的问题。
我对Python中的多处理非常熟悉,知道它是.当你想要更多的交流时,有点痛苦(其他两种方法需要的那种交流)。我对它还不太熟悉,无法百分之百地确定它真的“不可能”或“高度气馁”,但在实现的容易程度上肯定有明显的不同。
https://stackoverflow.com/questions/52584142
复制相似问题