• 沒有找到結果。

實驗結果與評估方法

第五章 實驗結果與分析

5.1 實驗結果與評估方法

為了評估兩種不同演算法的特性,我們將實驗分為兩個階段,第一階段採用 於[15]蒐集之現實世界的資料集,EIES(Electronic Information Exchange System)

在時間為 2 的時候之交友資料當作初期試驗對象,用以比較 KSP 與 KMPN。此 上執行。作業系統為 Microsoft Windows 7,實驗方式皆以 Java 程式碼實作完成。

第一階段,我們隨機挑選五對起始點與終點後,將實驗結果帄均。除了執行

KMPN 無法修改非 non-visited edge 之邊,時間量在不斷的尋找可修改的次短路 徑上大幅的增加了。

圖 5.2 執行時間(KSP+KMPN)

第二階段我們將增加修改 all-visited edges 與第一階段描述之方法來做比較。

圖 5.3 為執行此兩種演算法所花費的時間,KMPA 所花費的時間較 KMPN 來的少,

推測原因為由於 KMPA 提供了 all-visited edges 修改的方法,使的找可修改的次 短路徑之選擇也較多,由於 KMPN 只能修改 non-visited edges,所以當大多數的 邊皆被經過時,將會花費大量的時間尋找可修改之次短路徑。

圖 5.3 執行時間(KMPN+KMPA)

圖 5.4 為所有最短路徑被擾動邊的比率,我們可以觀察到,只透過 KMPN 之 方法修改的比率較 KMPA 方法少,這與本研究預期的結果相符。演算法挑選下一 條次短路徑後,由於可以修改的邊的容許度變高,使 all-visited edges 也加入修改,

所以每一條次短路徑邊的修改比率將會比只修改 non-visited edges 要來的多。

24

圖 5.4 擾動邊的比率(KMPN + KMPA)

圖 5.5 為修改長度所占最短路徑經過的邊之長度的比率,此比率為:(修改 的長度/所有最短路徑經過之邊的長度總和),由圖可知兩種方法的修改長度比 率皆在 40%以下,也隨著 k 的增長有著逐漸上升的趨勢。不論是 KMPN 抑或是 KMPA,兩者之間的修改比率相異性並不大,推測應是最短路徑與次短路徑間的 長度差距不遠,即使 KMPN 有可能因為尋找 non-visited edges 而使的次短路徑長 度增加,但增加的幅度有限,使兩種方法之間的差距並不明顯。

圖 5.5 修改長度之比率(KMPN+ KMPA)

為了評估兩種演算法之結果圖形的資訊損失(information loss),我們採用 Kullback and Leibler (KL) divergence 計算修改過後的圖形與修改之前圖形的 差異。KL divergence 是用來衡量擁有相同隨機變數 x 下的機率分配 f 與 g 之相 異性,通常分配 f 代表真實的分布數據,分配 g 代表一個理論、模型或是近似 f 的另一項分配。

本研究中,我們將分配 f 視為修改前之權重於路徑上的比率分配,而分配 g 視為修改後的分配結果,透過 KL divergence 來比較修改前與修改過後的差異性 之大小,當兩者之間沒有差異,則 KL divergence 之值為 0,若差異愈大,KL

divergence 之值也愈大。本研究所使用的 KL divergence 公式如下:

以 4.3 小節加入 all-visited edges 修改考量為例,由於 e4,6屬於 all-visited edges,

因此計算方式必須考量經過修改後之最短路徑長度,第一對起始點與終點之最短

26

相關文件