我有一個complete graph帶有無向加權邊,需要通過圖節點的子集找到成本最低的cycle。不像在Travelling Salesman,任何節點可以訪問超過一次和不需要訪問所有節點更多,並通過成本我指的是路徑應具有遍歷邊權值和最小。完整圖上的最小成本週期
例如,這裏是在adjacency matrix形式的曲線圖:
a b c d
a 0 3 4 5
b 3 0 2 4
c 4 2 0 1
d 5 4 1 0
其中每個邊的權重被用於每個元素。週期開始和結束a
和包括[b,d]
會是什麼樣子
[a,b,d,a] -> 3+4+5 = 12
[a,b,d,b,a] -> 3+4+4+3 = 14
[a,b,c,d,c,a] -> 3+2+1+1+4 = 11
是否存在最佳的算法對於這一點,還是一個很好的啓發呢?
你能否詳細說明必須遍歷的完整圖的子集?將針對每種情況指定節點的子集,例如,類似於「給定具有指定的邊權重的節點[a,b,c,d,e,f,g]的完整圖,找出通過子集[a,b,d,f]的最小成本週期,訪問節點「?如果是這樣,那麼這與問題「如果節點[a,b,d,f]的完整圖表找到了可能重新訪問節點的最小成本週期」將如何不同?或者,找到子集週期的解決方案是否包括不在子集中的訪問節點? – Simon 2013-02-25 22:43:35
是的,即使中介節點對循環不是必需的,也必須考慮子集外的節點。這是爲什麼: 考慮子集中每個節點之間的邊緣可能比子集外部節點上的「快捷方式」邊緣要昂貴。 所以如果我有一個集合[a,b,c]'並且只需要從'a'到'b',如果從a-> b'的邊具有權重10,'a-> c'權重爲2,'c-> b'的權重爲2,那麼顯然任何算法必須考慮'c',因爲它恰好是更好路徑的一部分。 對於給定圖形,可能有多條最佳路徑,但費用相同。 – jzx 2013-02-26 15:55:34