我有一個有向循環加權圖。我想找到一個權重最高的路徑,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