【发布时间】:2010-12-11 01:40:36
【问题描述】:
有没有做多线程 A* 搜索的好方法?单线程相当简单,如(例如)人工智能:一种现代方法中所述,但我还没有遇到好的多线程版本。
假设我们有一个健全的语言,如 Java、C# 或 Lisp,我们有线程池和工作块,当然还有垃圾收集。
【问题讨论】:
-
所以非垃圾收集语言不是理智的语言?
-
我认为 A* 根本不需要垃圾收集。顺序 A* 非常简单。 Parallel A* 存在一些工作负载问题。
-
我想引用计数可能就足够了,你是这么想的吗?
-
你真的不需要(虽然每个都很好)。在这种情况下,内存管理并不复杂,我说在 Python 和 C++ 中都实现了 A*。
-
如果您在通过状态的同时改变您的状态,而不是为每次移动从头开始创建新状态,那么我认为内存管理将非常容易。但是,如果您有一个复杂的状态空间,其中将状态反转回前一个状态以进行回溯并非易事,我认为您无法摆脱改变状态,并且如果没有垃圾收集,内存管理会变得复杂。
标签: multithreading search artificial-intelligence a-star