我应该使用哪种路径查找算法?

时间:2014-02-17 18:05:46

标签: algorithm lua

我正在制作一个游戏,其中包括几个ai试图通过遵循尽可能最短的路径(僵尸)来到达最近的目标。这是一个3D游戏环境,我以前通过使用Dijkstra的算法和节点完成了这个,但这对我来说似乎效率很低。有没有更好的方法呢?任何建议都非常感谢。我觉得这不重要,但我会和Lua一起写作。

2 个答案:

答案 0 :(得分:1)

如果您在距目标的距离上有(启发式)信息,则可以使用A* Algorithm。 A *基本上是一个知情的dijkstra算法,当使用可允许的启发函数时,它是完全 1 最优 2

另一种方法是使用BFS或双向BFS(如果你有单个目标),它也会找到最短路径并且比Dijkstra算法更有效,并且不需要启发式功能。但是,这些仅在图表未加权时才有效。
This thread提供了有关双向搜索的一些信息。问题不同,但适用相同的原则。


(1)完成:如果有路径,总是找到路径。
(2)最优:找到最短路径。

答案 1 :(得分:0)

如果您使用像Jumper这样的路径查找库,您可以轻松尝试所有最知名的算法,并选择最适合您用例的算法。

相关问题