我正在编写一个简单的游戏,目前正在编写AI部分。 NPC获得了他需要访问的“兴趣点”列表。每个点在地图上都有一个坐标。我需要找到一个最快的路径让角色访问给定点的所有。
据我所知,任务可以描述为“在强连通加权无向图中找到最快的遍历路径”。
我想得到一些算法的名称来计算它,或者如果没有名字 - 我自己编程的一些关键点。
提前致谢。
答案 0 :(得分:2)
这与Travelling Salesman problem非常相似,虽然我不打算试图证明等效性。 TSP是NP完全的,这意味着完全解决问题可能是不切实际的,这取决于兴趣点的数量。您可以找到更有用的近似算法。
答案 1 :(得分:1)
答案 2 :(得分:1)
我会使用像:蚂蚁算法这样的算法。
答案 3 :(得分:0)
不是直接点,但我在MMO模拟器中所做的是将路点索引与其余路径数据一起存储。如果您的要求是展示TSP的解决方案,那么请忽略它。如果没有,值得IMO考虑。
在我的情况下,它是最好的解决方案,否则服务器可能有数百个怪物(重新)产生,并且与所有其他AI逻辑一起,将不得不刻录循环计算路由逻辑。