Prob_Solve 板


LINE

Dijkstra在1959年刊登在Numerische Mathematik 1, 269-271的最短路徑算法, 題為 A Note on Two Problems in Connexion with Graphs 與前幾篇文章所提的似乎有些出入. 或許是原典與後續改善者之間的差別吧. Dijkstra的方法是: 要找到圖中P-Q最短路徑,則需持續運用同樣的算法處理P-R最短路徑,R是落在 P-Q最短路徑上的一點. 想一想,若R落在P-Q最短路徑上,則P-R也須是最短路徑, 找到P-Q最短路徑的知識,隱含了找到P-R最短路徑的知識. 方法如下,先將圖分為六群: A 在此的節點都已經知道從P到該點的最短路徑長度. B 在此的節點都未決定最短路徑,卻是下一個可以被選入A的選項 C 其他點 I 在此的邊落在P到達A中任一點的最短路徑上. II 在此的邊是下一個可以被選入I的選項,每條邊都連接到B中某一點. III 其他邊 算法: 1. 選取下一個點: "Consider all branches r connecting the node just transferred to set A with nodes R in sets B or C." 如果R在B中,就看看r能不能增加P-R最短路徑. 如果可以,且短於之前找到另一個 P-R',就以目前的R為選中者. 如果R在C中,就把R移到B,把位於III相關的邊移到II. 2. 決定最短路徑P-R: 前一步既然選出了候選者,就把選中者R從B移到A,把位於II相關的最短邊移到I. 做完之後看看Q是否加入了A,如果是就可以結束,且P-Q最短路徑已決定了. 以下是我的操作過程: (P為v1,Q為v9,L(x)是從出發點v1到達x的最短路徑) e1 v1 v2 6 初始決定 L(v1)=0 e2 v1 v3 3 e3 v1 v4 9 第三輪決定 L(v3)=3 e4 v2 v5 8 e5 v2 v8 5 e6 v3 v6 2 第六輪決定 L(v6)=5 e7 v4 v5 9 第七輪決定 L(v7)=8 e8 v6 v7 3 e9 v6 v9 8 e10 v7 v9 2 e11 v8 v9 2 第一輪 二輪 三輪 第四輪 第五輪 第六輪 第七輪 A v1 |v1 |v1,v3|v1,v3 |v1,v3,v6 |v1,v3,v6 |v1,v3,v6,v7 B |v2-4 |v2,v4|v2,v4,v6 |v2,v4 |v2,v4,v7,v9|v2,v4,v9 C v2-9 |v5-9 |v5-9 |v5,v7-9 |v5,v7-9 |v5,v8 |v5,v8 I | |e2 |e2 |e2,e6 |e2,e6 |e2,e6,e8 II |e1-3 |e1,e3|e1,e3,e6 |e1,e3 |e1,e3,e8-9 |e1,e3,e9 III e1-11|e4-11|e4-11|e2,e4-5,e7-11|e2,e4-5,e7-11|e2,e4-5,e7 |e2,e4-5,e7 第八輪沒有畫出來,如果寫出來應該是v9移到A,達成結束條件. 在這練習過程我感到一些疑問,Dijkstra方法提出第一步的第一句話說: "just transferred to set A" 照此做下來是greedy方式,但一般我們需要的是dynamic programming方式, 因為,雖然第七輪已經不考慮v2了,但v1-v2長度為6,小於L(v7),則應該先把v2加進來, 不過v2加進來之後反而使產生的P-Q最短路徑看起來像一棵樹,其中有些支節並不是 最短路徑. 隨意竄改可能使方法其不一致. 在此討論謹僅以Dijkstra原論文為主題. 其他書籍所提的方法,日後再討論比較. --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.108.251 ※ 編輯: oohay 來自: 218.160.108.251 (02/17 20:46) ※ 編輯: oohay 來自: 218.160.108.251 (02/17 20:47)
1F:推 smallworld:其實如果有作業研究的課本 裡面就把這方法 02/17 23:14
2F:→ smallworld:的筆算過程 很清楚的走一次 可去找Lieberman的課本 02/17 23:14
3F:→ smallworld:來參考 02/17 23:18
4F:→ oohay:這講法很混淆;並不是每本OR都如此談Dijkstra,也不是每個談 02/18 00:00
5F:→ oohay:的都跟著這方法 02/18 00:01
6F:→ oohay:目前看過好幾版本的DA,很混淆,於是想逐項練習釐清差異. 02/18 00:06
7F:→ oohay:Lieberman的OR我會去找來看,謝謝指教. 02/18 00:08
8F:→ oohay:已經讀過Lieberman的Intro. OR,講的的確是1959 Dijkstra's 02/22 23:15
9F:推 smallworld:老實說 我讀過OR之後 研究所上演算法真的很輕鬆... 02/23 19:46
10F:→ oohay:研究所的演算法比不上大學演算法,前者聽不懂也不打緊 02/23 22:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP