第五章 實驗與結果分析
5.3 隱匿敏感路徑數量之建構與查詢
為了讓敏感路徑數量變動所帶來的變化較顯著,我們使用節點數量較多的資
1.2 1.3 1.4 1.5 1.6 1.7 1.8
2 3 4 5
Query Time (Sec.)
p
k=2 k=3 k=4
1.2 1.3 1.4 1.5 1.6 1.7 1.8
2 3 4 5
Query Time (Sec.)
p
k=2 k=3 k=4
29
料集 dp9k 來進行檢驗。首先定義 s 值為敏感路徑起點、終點在原始圖中所佔比 例,例如 dp9k 有 9000 個節點,s = 0.1 代表有 9000 個節點中有 900 個節點是敏 感路徑的起點、終點,也就是有 450 條敏感路徑。以下實驗我們變動 s 值來觀察 敏感路徑數量對最短路徑距離查詢時間與節點階層建立時間所造成的變化。
5.3.1 節點階層建立時間
為了檢驗敏感路徑數量對節點階層建立時間之變化,我們變動 s 值並觀察在 資料集 dp9k 節點階層建立時間的變化。圖 5.3.1 呈現當敏感路徑數量增加時,節 點階層建立時間為不規則變化,並非敏感路徑數量越多,建立時間會隨之增加。
圖 5.3.1 s 值之節點階層建立時間變化圖
節點階層建立時間不規則變化的原因,是由於敏感路徑是透過隨機挑選,因 此在圖 5.3.1 中,s = 0.3 時候可能挑中較多分支度高的節點,而 s = 0.4 挑中較多 分支度低的節點。若隨機挑選到分支度高的節點為敏感路徑起點、終點,代表有 較多分支度高的節點落於底層。分支度高的節點需要掃描較多鄰居節點,以確定 是否需要建立捷徑。相反,若較多分支度低節點落於底層,則只需要掃描較少鄰 居節點,因此花費較少建立時間。
另外,圖 5.3.1 中可觀察到節點階層建立時間之變化與圖 5.3.2 (a)、(b) 最短
0 0.4 0.8 1.2 1.6 2
0 0.1 0.2 0.3 0.4
Process Time (Sec.)
s k=2
k=3 k=4
30
路徑距離查詢時間之變化有相關性。因為節點階層建立時間越久,代表節點階層 的連結數量越多,圖形結構較為複雜,也使得查詢最短路徑距離需要的搜尋空間 與計算量增加,因此使得兩者具有相關性。
5.3.2 最短路徑距離查詢時間
圖 5.3.2 (a)、(b)、(c)是資料集 dp9k 事先隨機抽出 20 對起點、終點,重複 5 次在 k 值分別等於 2、3、4 時候,將敏感路徑比例 s 從 0 變動到 0.4,每次變動 時候隨機抽出比例 s 對應的敏感路徑起點、終點數量,並使用事前抽出 20 對起 點、終點最短路徑距離之平均總查詢時間。
圖 5.3.2 (a)、(b)、(c)之結果皆呈現當敏感路徑比例 s 值上升後,最短路徑距 離查詢時間會隨之逐漸上升。原因是當敏感路徑數量增加後,會有更多分支度高 的節點加入節點階層之最底層,違反節點階層希望盡量挑選分支度低的節點,以 讓同一階層容納較多節點,降低階層數的目標。違反此目標造成的後果,讓分支 度高的節點落在底層,會在底層增加不必要的捷徑,讓節點階層的總連結數增加,
最後影響查詢最短路徑距離,增加查詢時候的總搜尋量與計算量,因此拉長最短 路徑距離的總查詢時間。
圖 5.3.2 (a) k=2,s 值之最短距離查詢時間變化圖
1 1.2 1.4 1.6 1.8 2 2.2 2.4
0 0.1 0.2 0.3 0.4
Query Time (Sec.)
s p=2
p=3 p=4 p=5
31
Query Time (Sec.)
s
Query Time (Sec.)
s p=2
p=3 p=4 p=5
32