Algorithm 遍历所有给定节点的最快路径

Algorithm 遍历所有给定节点的最快路径,algorithm,language-agnostic,graph,path-finding,Algorithm,Language Agnostic,Graph,Path Finding,我正在编写一个简单的游戏,目前正在做人工智能部分。NPC得到了他需要访问的“兴趣点”列表。每个点在地图上都有一个坐标。我需要找到角色访问所有给定点的最快路径 据我所知,这项任务可以描述为“在强连通加权无向图中寻找最快的遍历路径” 我想得到一些算法的名称来计算它,或者如果没有名称的话——一些自己编程的关键点 提前感谢。请参阅之前关于树遍历的帖子: 请参阅上一篇关于树遍历的文章: 这非常类似于,尽管我不想马上证明等价性。TSP是NP完全的,这意味着根据兴趣点的数量,精确地解决问题可能是不切实际的。有

我正在编写一个简单的游戏,目前正在做人工智能部分。NPC得到了他需要访问的“兴趣点”列表。每个点在地图上都有一个坐标。我需要找到角色访问所有给定点的最快路径

据我所知,这项任务可以描述为“在强连通加权无向图中寻找最快的遍历路径”

我想得到一些算法的名称来计算它,或者如果没有名称的话——一些自己编程的关键点


提前感谢。

请参阅之前关于树遍历的帖子:


请参阅上一篇关于树遍历的文章:


这非常类似于,尽管我不想马上证明等价性。TSP是NP完全的,这意味着根据兴趣点的数量,精确地解决问题可能是不切实际的。有一些近似算法,您可能会发现它们更有用。

这与非常相似,尽管我不打算立即证明等价性。TSP是NP完全的,这意味着根据兴趣点的数量,精确地解决问题可能是不切实际的。有一些近似算法您可能会发现更有用。

我会使用类似于:ant算法的算法。

我会使用类似于:ant算法的算法。

不是直接在点上,但我在MMO模拟器中所做的是将航路点索引与其他路径数据一起存储。如果您的需求是演示TSP的解决方案,那么请忽略这一点。如果不是的话,这是值得考虑的


在我的例子中,这是最好的解决方案,否则服务器可能会有数百个暴徒重生,以及所有其他AI逻辑,将不得不燃烧计算路由逻辑的周期。

不是直接在点上,但我在MMO模拟器中所做的是将路径点索引与其他路径数据一起存储。如果您的需求是演示TSP的解决方案,那么请忽略这一点。如果不是的话,这是值得考虑的


在我的情况下,这是最好的解决方案,否则服务器可能会有数百个暴徒重生,并且与所有其他AI逻辑一起,必须烧掉计算路由逻辑的周期。

+1。对于NP完全问题,你需要使用某种贪婪算法。IIRC,类似于TSP的问题不一定都是NP完全问题;这个属性对问题的确切范围和要求非常敏感。@corningstorm:你完全正确,我写错了。我不知道这个问题是不是NP难。我想是的,但我不想费心去证明。我已经纠正了我的回答。谢谢你。对于NP完全问题,你需要使用某种贪婪算法。IIRC,类似于TSP的问题不一定都是NP完全问题;这个属性对问题的确切范围和要求非常敏感。@corningstorm:你完全正确,我写错了。我不知道这个问题是不是NP难。我想是的,但我不想费心去证明。我已经纠正了我的回答。非常感谢。