加权有向图的最大成本和路径算法

时间:2013-09-10 10:25:32

标签: algorithm

对于加权有向图,有哪些算法可以找到从顶点A到顶点K的最大成本和路径?

我在考虑修改Dijkstra,但在观察和学习这个算法时,我发现它不能用于负权重,不能用于找到最大成本。

2 个答案:

答案 0 :(得分:0)

您可以使用A *(A-star)算法的修改版本。我说修改但实际上不会被修改。你只需要一个合适的启发式方法。它是一种路径查找算法,您只需要设置启发式选择最昂贵的路径。

A *的工作原理是从某个顶点V开始,然后将所有顶点的相邻邻居添加到打开的列表中。然后,在您的情况下,它会移动到成本最高的节点。先前访问的节点被移动到关闭列表。然后,将当前节点的所有相邻节点添加到打开列表中。依此类推。

它会找到你的K,如果你的启发式方法总是选择最昂贵的路径,你将拥有最大的成本路线。

这是A* being applied to Infinite Mario

答案 1 :(得分:0)

我建议如下:选择任何算法以获得最低成本(距离),也适用于负边(因此Dijkstra不能用于此)。然后使用每个边的成本的否定来运行该算法。例如,您可以使用Bellman–Ford算法。