我有一个有向循环加权图。我想找到一个权重最高的路径,X个顶点的长度,我不在乎目的地是什么。我只想找到最高的成本。多个目的地的最高加权路径
0
A
回答
1
这可以通过动态编程类算法来解决。
由于您只有几百个节点,并且X的轮数为10.您可以为每个节点分配一个大小为X的数组Fv,而Fv [i]表示从源节点到节点v的最大开销长度i。
让我们来源。设置Fs [0] = 0,并且所有其他Fs [i] = - 无穷大。
所有其他阵列初始化为-infinity数组。
现在,
为每个节点V,执行以下更新:
的Fv [I] = MAX {的Fv [I],FW [I-1] +成本(W,V )|其中w为v的邻居}
重复上面的至少X次的更新,然后检查的Fv [X]所有v到得到你想要的最大值。
您可以使用一些额外的信息来检索路径,这应该很容易做到。
以上算法是Bellman-Ford Algorithm的特殊情况
0
您可以使用Bellman-Ford algorithm来做你想做的。
相关问题
- 1. nw:weighted-path-to,nw:海龟加权路径和多个等重加权的路径
- 2. 路径规划 - 多个目的地
- 3. 通过加权图的最短路径
- 4. 未加权的最短路径
- 5. 最短路径(目的地=原点)
- 6. 计算加权最短路径的未加权长度
- 7. 边缘权重加倍的最短路径每个其他跳
- 8. 最短路径,2个权重函数
- 9. 未加权图的最短路径(最少节点)
- 10. 多于一个的最短路径
- 11. 沿路径的最小边权重
- 12. OrientDB动态权重的最短路径?
- 13. 寻路:到目的地的多条路径,带边缘删除
- 14. 具有彩色边的加权图中的最短路径
- 15. 带有networkx的加权图的所有最短路径?
- 16. 树中最高总和的路径
- 17. Python:最短加权路径和最少边数
- 18. 具有更新的节点加权DAG和最长路径
- 19. 非加权图中邻接列表中的最短路径
- 20. 查找无向加权树中最长的路径
- 21. 使用R igraph加权DAG的最长路径
- 22. 使用堆栈查找加权图的最短路径
- 23. Python的DFS最短路径与加权搜索,无向图
- 24. 定向未加权图中最长的非循环路径
- 25. 加权有向非循环图的最长路径
- 26. 如何使用networkx查找加权图中的最短路径?
- 27. 定向,加权平衡树的进口和最短路径networkx
- 28. 在加权图中确定最佳路径的算法
- 29. 加权图中的显示路径
- 30. 如何在加权图中找到权值总和最大的路径?
图的大小是多少?重量有多大?你有什么尝试? – MPeti
没有尝试任何“已知”alogrithm,因为我找不到任何类似于我需要的东西。 我有几百个节点,每个节点有2-3个顶点。 – Ido
而你只寻找路径,而不是散步,对吧?所以不允许重复顶点。 (如果允许的话,我会有一个O(E * X)的解决方案,E是边的数量。)另外,X是否有任何限制,或者它是否等于总顶点数? – MPeti