第五章 實驗與結果分析
5.2 隱匿鄰居資訊之建構與查詢
為了檢驗 k-skip 隱匿圖與節點階層的收縮與增加捷徑效果,表 5.2.1 呈現 k-skip 隱匿圖收縮以及節點階層建立捷徑後節點與連結的數量。可以看到 k 值增 加,k-skip 隱匿圖的節點數量|V’|和連結數量|E’|會隨之減少,另外節點階層的連 結數量|E*|也會隨之減少。這裡也指出當 k 增加,節點階層上每個節點的平均節 點分支度| E’| / |V’|也會增加,使圖形的密度上升,圖形結構會更複雜。
表 5.2.1 k-skip 隱匿圖與節點階層之節點與連結數量表
5.2.1 k-skip 隱匿圖結構之變化
我們首先比較 k 值變化對圖形複雜度之影響,為了順利視覺化圖形結構之變 化,因此另外產生另一節點數較少之網路如圖 5.2.1 (a)。此網路之節點數等於 200,
連結數等於 199,平均最短路徑長度等於 7.11。由圖 5.2.1 (b)至圖 5.2.1 (d)可觀察 到,當 k 值逐漸上升,其圖形結構越複雜,每個節點的平均連結數量也逐漸增加。
圖 5.2.1 (a) 原始圖 圖 5.2.1 (b) 2 -skip 圖
26
圖 5.2.1 (c) 3 -skip 圖 圖 5.2.1 (d) 4 -skip 圖 5.2.2 k-skip 隱匿圖與節點階層建立時間
為了檢驗 k 值對 k-skip 隱匿圖建立時間所造成之變化,圖 5.2.2 (a)呈現當 k 值增加,建立 k-skip 隱匿圖所需時間也會隨之增加。另外圖 5.2.2 (a)中觀察到 k 值等於 4 時,三個資料集的建立時間都大幅增加。原因是三個資料集皆為無尺度 網路,節點分支度較低的節點佔大多數,且位於圖形結構的邊緣,而且三張網路 圖的平均最短路徑長度皆在 8 左右。因此當 k = 2 或 3 時候,節點的最短路徑樹 涵蓋範圍較小,不會擴及有大量較低節點分支度之節點所在的圖形邊緣,但在 4-skip 抽樣過程中,最短路徑樹每次都需檢查整張網路,計算量較 k 值等於 2 或 3 時候大幅增加,因此造成建立時間大幅上升。
0 50 100 150 200 250 300
2 3 4
Process Time (Sec.)
k dp3k
dp6k dp9k
27
圖 5.2.2 (a) k-skip 隱匿圖之建立時間變化圖
為了檢驗 k 值對與節點階層建立時間所造成之變化,圖 5.2.2 (b)呈現當 k 值 增加,節點階層建立時間會隨之減少。原因是由於建立節點階層時候需要掃描每 個節點,因此當 k 值增加讓 k-skip 隱匿圖的節點數量變少,建立節點階層時候需 要的計算量也隨之減少,因此讓建立過程更快完成,所耗費建立時間較短。
圖 5.2.2 (b) k 值之節點階層建立時間變化圖
為了比較 k-skip 隱匿圖與 1-Neighborhood-d-Radius 之圖形轉換效率,我們使 用 Networkx 套件計算 dp3k 之所有最短路徑,花費時間為 54.6 秒,而本方法即 使在 k=4 情況下仍小於 50 秒。若使用 dp6k、dp9k 來計算全部最短路徑,則超過 記憶體限制無法進行計算,可見 1-Neighborhood-d-Radius 計算成本之龐大。
5.2.3 最短路徑距離查詢時間
為了檢驗 k 值與圖形切割數量 p 對最短距離查詢時間所造成之變化,我們使 用資料集 dp6k 與 dp9k,隨機抽取 20 對起終點,反覆進行 5 次最短路徑距離查 詢進行平均,並記錄 20 對起終點的平均查詢時間。圖 5.2.3 (a)與圖 5.2.3 (b)呈現 當 k 值由 2 增加到 3 時,最短路徑距離查詢時間下降,但是當 k 等於 4 時,查詢 時間又開始上升。這是由於 k 值上升後,k-skip 隱匿圖之圖形結構越來越複雜,
0 0.05 0.1 0.15 0.2 0.25
2 3 4
Process Time (Sec.)
k
dp3k dp6k dp9k
28
如圖 5.2.1 (b)至圖 5.2.1 (d)所示,導致搜索最短路徑時的搜尋空間增加所導致。
圖 5.2.3 (a) k 值與 p 值之最短距離查詢時間變化圖 (dp6k)
圖 5.2.3 (b) k 值與 p 值之最短距離查詢時間變化圖 (dp9k)
另外,圖 5.2.3 (a)與圖 5.2.3 (b)也觀察到當圖形切割數量增加時,最短路徑 查詢時間會隨之減少,原因是圖形被切割的較小,每台雲端伺服器所需計算的圖 形空間也變小,因此讓總查詢時間也跟著減少,顯示出分散式運算之效果。