• 沒有找到結果。

# 社會網絡最短路徑度數隱私保護之探討

N/A
N/A
Protected

Share "社會網絡最短路徑度數隱私保護之探討"

Copied!
61
0
0

(1)國立高雄大學資訊管理學系碩士班 碩士論文. 社會網絡最短路徑度數隱私保護之探討 Degree Anonymization of Shortest Path Privacy on Social Networks. 研究生：施慶銓 撰 指導教授：王學亮. 中華民國一零二年六月.

(2) 社會網絡最短路徑度數隱私保護之探討. 指導教授：王學亮 博士 國立高雄大學 資訊管理學系. 學生：施慶銓 國立高雄大學 資訊管理學系. 摘要 過去許多的社會網絡隱私保護研究，主要著重於無權重的圖形上，而具權重 的圖形上所包含的重要資訊反而被忽略，尤其在權重圖中的最短路徑，往往代表 著個人或商業間最敏感、最重要的資訊。在過去的最短路徑隱私保護方法中， Wang et al.(2011)提出以擾動權重的方式來保護最短路徑隱私，但當攻擊者利用 節點分支度數的背景知識，仍有辦法辨識出真正的最短路徑。故本研究將針對具 權重的網絡圖形，提出一個新的最短路徑隱私保護方法(k1, k2) – anonymous shortest path privacy，其目的是當圖形上的一對起、終點包含了 k1 條最短路徑時， 則在此 k1 條路徑上的任意一節點，必存在其他 k2-1 個節點具有同樣的分支度數， 以防止攻擊者利用分支度數的背景知識來辨識出真實的最短路徑。本研究將提出 三種不同的節點分群方法及兩種加邊方法來達成節點分支度數的隱匿，並從實驗 數據中，分析各種分群與加邊的配對組合，讓圖形隱匿的成本與圖形修改程度降 到最低。. 關鍵字 : 社會網絡、隱私保護、權重、最短路徑之 k 隱匿、(k1, k2)最短路徑隱 私保護 i.

(3) Abstract Preserving privacy in social networking environment has been studied extensively in recent years. Although more works have adopted un-weighted graphs to model network relationships, weighted graph modeling can provide deeper analysis of the degree of relationships. Previous works on weighted graph privacy have concentrated on preserving the shortest path characteristic between pairs of vertices. Two common types of privacy have been proposed. One type of privacy tried to add random noise edge weights to the graph but still maintain the same shortest path.. The other privacy,. k–anonymous path privacy, minimally perturbed edge weights so that there exist k shortest paths.. However, the k-shortest path privacy did not consider degree attacks. on the nodes of anonymized shortest paths. In this work, we present a new concept called (k1, k2)-shortest path privacy to prevent such privacy breach.. A published. network graph with (k1, k2)-shortest path privacy has at least k1 indistinguishable shortest paths between the source and destination vertices. In addition, for the nonoverlapping vertices on the k1 shortest paths, there exits k2 vertices with the same node degree and lie on more than one shortest path. Three heuristic algorithms and two edge insertion techniques are proposed. The weight determination technique is also proposed to effectively achieve the proposed privacy. Numerical comparisons based on four evaluative criterions showing the pros and cons of each technique are presented.. Keywords: social. networks, privacy preserving, edge weights, k-shortest path privacy,. (k1, k2)-shortest path privacy.. ii.

(4) 目錄 圖目錄........................................................................................................................... iv 表目錄........................................................................................................................... vi 第一章 緒論.................................................................................................................. 1 1.1 研究背景.................................................................................................... 1 1.2 研究動機與目的........................................................................................ 2 1.3 研究架構.................................................................................................... 4 第二章 圖形上隱私保護之文獻探討.......................................................................... 6 2.1 社會網絡之隱私保護................................................................................ 6 2.1.1 被動式攻擊與保護方法.................................................................... 7 2.1.2 主動式攻擊與保護方法.................................................................. 10 2.2 權重圖形之隱私保護.............................................................................. 10 第三章 問題定義與描述............................................................................................ 13 3.1 最短路徑節點資訊暴露問題.................................................................. 13 3.2 最短路徑節點隱匿之限制...................................................................... 15 3.3 (k1, k2)最短路徑之隱匿 ........................................................................... 15 第四章 節點分群與加邊之演算法............................................................................ 17 4.1 三種節點分群演算法.............................................................................. 17 4.1.1 Dynamic Programming 為主之演算法 ........................................... 17 4.1.2 Modified k-means 為主之演算法 ................................................... 20 4.1.3 Sorting 為主之演算法 ..................................................................... 23 兩種加邊演算法...................................................................................... 24 4.2.1 Random 為主之演算法 ................................................................... 24 4.2.2 Transfer Node First 為主之演算法 ................................................. 25 4.3 新權重值的決定方法.............................................................................. 27 第五章 實驗結果與分析............................................................................................ 29 5.1 實驗環境與資料集.................................................................................. 29 5.2 評估方法與實驗結果.............................................................................. 29 5.2.1 執行時間.......................................................................................... 31 5.2.2 加邊數量.......................................................................................... 35 5.2.3 平均群聚係數(Average Clustering Coefficient) ............................. 42 4.2. 5.2.4 平均最短路徑長度(Average Shortest Path Privacy) ...................... 46 第六章 結論與未來方向............................................................................................ 51 參考文獻...................................................................................................................... 53. iii.

(5) 圖目錄 圖 1 商業交易行為圖.................................................................................................... 2 圖 2 2-anonymous path privacy 圖 ............................................................................... 3 圖 3 (2, 2)–anonymous shortest path 隱匿圖 ............................................................... 4 圖 4 社會網絡隱匿圖................................................................................................... 6 圖 5 2-degree anonymous 隱匿圖 ................................................................................. 8 圖 6 1-neighborhood 攻擊 ............................................................................................ 8 圖 7 2-neighborhood anonymity 隱匿圖 ....................................................................... 8 圖 8 超圖(Super graph) ................................................................................................ 9 圖 9 主動攻擊範例圖................................................................................................. 10 圖 10 容量攻擊(Volume attack)與直方圖攻擊(Histogram attack) ............................ 12 圖 11 社會網絡原始圖 ............................................................................................... 14 圖 12 2-anonymous path privacy 圖 ............................................................................ 14 圖 13 最短路徑分支度隱匿限制............................................................................... 15 圖 14 (2, 2) - anonymous path privacy 圖(by Modified k-means) ............................... 16 圖 15 Dynamic Programming 範例 ............................................................................. 17 圖 16 k-means 概念 ..................................................................................................... 21 圖 17 (2, 2) - anonymous path privacy 圖(by TNF) .................................................... 26 圖 18 決定新權重的例圖........................................................................................... 28 圖 19 (a) k1 = 2 的各圖加邊數量 ............................................................................. 32 圖 19 (b) k1 = 3 的各圖加邊數量 ............................................................................ 32 圖 19 (c) k1 = 4 的各圖加邊數量 ............................................................................. 32 圖 19 (d) k1 = 5 的各圖加邊數量 ............................................................................ 33 圖 19 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項執行時間結果 .................................. 33 圖 20 (a) k1 = 2 的各圖加邊數量 ............................................................................. 34 圖 20 (b) k1 = 3 的各圖加邊數量 ............................................................................ 34 圖 20 (c) k1 = 4 的各圖加邊數量 ............................................................................. 34 圖 20 (d) k1 = 5 的各圖加邊數量 ............................................................................ 35 圖 20 2 ≤ k1 ≤ 5在資料集 Cora 的各項執行時間結果 ............................................. 35 圖 21 (a) k1 = 2 的各圖加邊數量 ............................................................................. 36 圖 21 (b) k1 =3 的各圖加邊數量 ............................................................................. 37 圖 21 (c) k1 =4 的各圖加邊數量 .............................................................................. 37 圖 21 (d) k1 = 5 的各圖加邊數量 ............................................................................ 38 圖 21 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項加邊數量結果 .................................. 38 圖 22 (a) k1 = 2 的各圖加邊數量 ............................................................................. 39 圖 22 (b) k1 = 3 的各圖加邊數量 ............................................................................ 40 圖 22 (c) k1 = 4 的各圖加邊數量 ............................................................................. 40 圖 22 (d) k1 = 5 的各圖加邊數量 ............................................................................ 41 iv.

(6) 圖 22 2 ≤ k1 ≤ 5在資料集 Cora 的各項加邊數量結果 ............................................. 41 圖 23 (a) k1 = 2 的各圖平均群聚係數圖 .................................................................... 43 圖 23 (b) k1 = 3 的各圖平均群聚係數圖 ................................................................... 43 圖 23 (c) k1 = 4 的各圖平均群聚係數圖 .................................................................... 43 圖 23 (d) k1 = 5 的各圖平均群聚係數圖 ................................................................... 44 圖 23 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項平均群聚係數結果 .......................... 44 圖 24 (a) k1 = 2 的各圖平均群聚係數圖 .................................................................... 44 圖 24 (b) k1 = 3 的各圖平均群聚係數圖 ................................................................... 45 圖 24 (c) k1 = 4 的各圖平均群聚係數圖 .................................................................... 45 圖 24 (d) k1 = 5 的各圖平群聚係數圖 ....................................................................... 45 圖 24 2 ≤ k1 ≤ 5在資料集 Cora 各項平均群聚係數結果 ......................................... 45 圖 25 (a) k1 =2 的各圖平均最短路徑長度 ................................................................. 47 圖 25 (b) k1 = 3 的各圖平均最短路徑長度 ............................................................... 47 圖 25 (c) k1 =4 的各圖平均最短路徑長度 ................................................................. 47 圖 25 (d) k1 =5 的各圖平均最短路徑長度 ................................................................ 48 圖 25 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項平均最短路徑長度結果 .................. 48 圖 26 (a) k1 =2 的各圖平均最短路徑長度 ................................................................. 48 圖 26 (b) k1 =3 的各圖平均最短路徑長度 ................................................................ 49 圖 26 (c) k1 = 4 的各圖平均最短路徑長度 ................................................................ 49 圖 26 (d) k1 = 5 的各圖平均最短路徑長度 ............................................................... 49 圖 26 2 ≤ k1 ≤ 5在資料集 Cora 的各項平均最短路徑長度結果 ............................. 49. v.

(7) 表目錄 表 1 Friendship attack 方法 .......................................................................................... 9 表 2 TN 之分支度數.................................................................................................... 14 表 3 資料集 Power_Law, k1 = 2 的各圖加邊數量 ..................................................... 36 表 4 資料集 Power_Law, k1 = 3 的各圖加邊數量 ..................................................... 37 表 5 資料集 Power_Law, k1 = 4 的各圖加邊數量 ..................................................... 38 表 6 資料集 Power_Law, k1 = 5 的各圖加邊數量 ..................................................... 38 表 7 資料集 Cora, k1 = 2 的各圖加邊數量 ................................................................ 39 表 8 資料集 Cora, k1 = 3 的各圖加邊數量 ................................................................ 40 表 9 資料集 Cora, k1 = 4 的各圖加邊數量 ................................................................ 41 表 10 資料集 Cora, k1 = 5 的各圖加邊數量 .............................................................. 41 表 11 各項方法在四項指標中的效益排名 ................................................................ 50. vi.

(8) 第一章 緒論 1.1 研究背景 近幾年，由於網際網路快速的發展，社會網絡的應用越來越廣泛，如：社 交網站、商業交易等等[10]，越來越多人開始加入社會網絡的各種應用之中， 於是在社會網絡中已慢慢的擁有龐大的使用者資料，這些龐大的資料能夠幫助 學者們在分析及研究上提出各種有趣的議題，如資料探勘、資料隱私、社群網 絡分析等等。藉由這些社群網絡的相關研究，研究者能夠在這些研究中發現許 多有趣的現象或問題，這些現象與問題不僅能夠幫助研究發展的提升，亦可讓 人們增加使用社會網絡的便利與實用程度。但當人們在享受科技帶來的便利性 時，可能同時在無意間暴露了可辨識性的資訊，如：姓名、電子郵件、電話號 碼、嗜好等等。這些資訊一旦被分享在公開的平台上，那麼使用者個人的其他 隱私資訊也可能不再安全。 在過去許多的社會網絡研究中發現了在社會網絡圖形上最短路徑的重要性 [3][4]。以商業交易行為為例[10]，在社會網絡架構中，節點(vertices)與連結 (link)為兩個主要的組成成分，而節點可代表各個公司或商人，連結可代表各個 公司之間的商業關係，連結上的屬性，最常見者為權重，可代表著各個公司之 間所進行的交易金額。以圖 1 為例，圖 1 為一張商業交易行為圖，圖中有兩間 公司 A 與 E，當這兩間公司之間無法直接進行交易行為，必須透過中間的代理 商來處理，此時這兩間公司將會透過各個代理商來處理交易事項，而交易成本 會因代理商的不同而有所改變。假若當 A 公司現在想要向公司 E 購買他們的產 品，但由於 A 公司無法直接向 E 公司購買，必須透過代理商 B, C, D 的其中一 位來處理，此時，A 公司為了能夠節省成本，則選擇一條交易成本最低的管道 (此路徑為圖形中的最短路徑)來取得這項產品。從圖形中可以得知，A 公司選 擇代理商 D 來取得產品的機率相當高，而這條最低成本的管道若遭受惡意人士 1.

(9) 揭露，並讓代理商 B、C 得到此消息時，後果可能導致這三個代理商產生惡意 競爭。為了防止類似的事件發生，必須保護最短路徑上的重要資訊並確保當最 短路徑的資訊被公開時，依然能夠保持真實最短路徑的隱私。. Agent B. Company A. Agent C. Agent D. Company E. 圖 1 商業交易行為圖. 1.2 研究動機與目的 在過去的研究中，已有許多學者提出最短路徑相關的隱私保護方法 [3][10][13]，其中 Wang et al. (2011) 提出 k–anonymous path privacy，使得圖形 上至少有 k 條最短路徑，隱匿真實最短路徑，如圖 2。圖 2 是一張 k 為 2 的 k– anonymous path privacy 隱匿圖，圖形上的真實最短路徑為{VS, VX, VE, VG, VT}， 而另一條最短路徑{VS, VD, VF, VY, VT}是原本圖形中的次短路徑，透過此方法， 擾動次短路徑上的權重，讓次短路徑的長度與最短路徑長度相同，此時，這張 圖形中就至少有兩條最短路徑，當攻擊者得到最短路徑長度的資訊時，也無法 分辨出真實的最短路徑。. 2.

(10) VG,. VX VS. 5. VC. VD. VE. 5. VT. VY. VF. 圖 2 2-anonymous path privacy 圖 近期研究發現，當攻擊者擁有分支度數的背景知識時，攻擊者可利用分支 度數來分辨出真實的最短路徑。Hay et al. (2007) 指出圖形上的節點與其鄰居節 點所構成的結構能夠用來辨識節點，亦即能夠以節點與其鄰居所組成的結構資 訊找出節點的相關資訊，如:節點分支度 (degree)。Hay et al. (2008) 發現兩種圖 形查詢方法：節點精細查詢法( Vertex Refinement Queries)及子圖知識查詢法 ( Subgraph Queries )，透過這兩個種查詢方法可以得到節點或節點鄰居的資訊， 如：分支度數(degree)、標籤(label)、子圖結構等。以圖 2 為例，圖 2 中有兩條 最短路徑，當攻擊者現在知道有一個分支度數為 5 的節點在最短路徑上，在這 兩條最短路徑上只有 VE 點的分支度數為 5，此時，攻擊者可以利用它的背景知 識辨識出在最短路徑上分支度數為 5 的節點是 VE 點，而且 VE 點所在的最短路 徑為真實最短路徑。而為了防止攻擊者可以透過分支度數的背景知識來辨識真 實的最短路徑，本研究將會提出分支度隱匿之最短路徑保護方法。. 根據上述的研究背景與動機，研究將提出(k1, k2) – anonymous shortest path privacy 的資料隱匿方法，讓圖形上的一對起迄點至少包含 k1 條最短路徑，並讓 所有最短路徑上的任一節點，能夠找到其他 k2 -1 個節點的分支度數與其相同。 其中 k1 代表的是圖形中至少有 k1 條最短路徑，k2 代表所有最短路徑上任意一節 點必能在其他最短路徑上找到其他 k2-1 個節點與其節點的分支度數相同。如圖 3(b)所示。 3.

(11) 5. VS. VC. VD. VE. 5. VG,. VX. VG,. VX. VS. VT. 5. VE. VC. 5. VD. VY. VT. VY. VF. VF. (a) 2-anonymous path privacy 圖. (b) (2, 2)-shortest path privacy (by. Modified k-means)圖 圖 3 (2, 2)–anonymous shortest path 隱匿圖. 根據上述的說明，本研究的研究目的可歸納出三點： (1) 提出(k1, k2) – anonymous shortest path privacy 的隱私保護概念，並試圖 設計最佳方法來達成。 (2) 提出三種節點分群方法及兩種加邊方法，並組合出六種方法組合，達 成(k1, k2) – anonymous. shortest path privacy 隱私保護概念. (3) 分析實驗結果，比較六組方法組合的優缺點. 1.3 研究架構 在本研究中，第一章為緒論，此部分包含了本研究的背景、動機與目的， 初步的介紹本篇論文的所要解決的問題與預期的結果。 第二章是文獻探討，我們透過這一章介紹過去針對圖形隱匿的研究中，有 哪些圖形隱私的問題以及解決的方法，並這些方法之中試圖發現仍有尚未考慮 的問題。 第三章是問題定義與描述，在此章節將會介紹最短路徑隱私的相關研究， 並提出過去的研究中尚未考慮的問題以及初步的介紹本研究所提出的解決方 法。 第四章將詳細介紹本研究所提出的三種分群方法、兩種加邊方法以及最後 4.

(12) 如何決定新權重的權重值。 第五章將介紹驗證本研究的資料集以及各項驗證方法的評估指標，並比較 在各項評估指標中的方法組合，找出一組平均效益最高的方法組合。最後第六 章為結論與未來方向，在此部分將總結本研究的研究結果，並討論本研究的研 究限制以及未來可行之研究。. 5.

(13) 第二章 圖形上隱私保護之文獻探討 根據本研究的動機及目的，我們將探討過去節點隱私保護以及最短路徑之相 關文獻。本章節將分成兩個小節來探討 2.1 目前社會網絡圖形中各種節點隱私 問題及保護方法的相關研 究，2.2 針對最短路徑隱私的探討相關的研究貢獻。. 2.1. 社會網絡之隱私保護. 在過去，為了提供研究資料所需，必須在原始圖形公佈出去之前，將資料隱 匿再公佈圖形，最簡單的隱匿法為簡單隱匿法(Naïve Anonymization)[6]。以圖 4 為例：圖 4(a)為一張原始的社會網絡圖形，圖中有六位使用者，為了防止這六 位使用者被辨識出來，透過簡單隱匿法後，所有參與者的身分資訊皆由代號取 代，使得攻擊者無法從隱匿圖中辨識出節點資訊，即達到保護使用者個人隱私 資訊的目的，如圖 4(b)。 Cathy Andy. Eric. V3. V1. V2 V4. Bob. A. V5. V1. V6. V2. Fred. B. David. (a). C V3. E. V5. V6 V4. F. D. 圖 4 社會網絡隱匿圖. (b). 然而，由於科技的快速發展，攻擊者以可以利用自己所擁有的背景知識來識 破這些簡單的隱匿方式，如：節點分支度(node degree)、圖形子圖(subgraph)等 等，漸漸的，許多攻擊者發現這些資料亦可拿來作為揭露隱私的資訊，過去的 節點隱私保護方法已經無法滿足這些資訊所帶來的隱私安全問題。 這些類型的攻擊方式主要可歸納成兩種[1][15]，被動式攻擊(Passive Attack) 與主動式攻擊(Active Attack)。 6.

(14) 2.1.1. 被動式攻擊與保護方法 被動式攻擊主要是根據自己所擁有的背景知識，對隱匿圖上的節點進. 行攻擊，目前有許多攻擊方式皆為被動式攻擊如：分支度攻擊(degree attack)、子圖攻擊(subgraph attack)等，以如圖 4 為例。圖 4(b)為一張利用簡 單隱匿法隱匿的圖形，而在這張圖上，只有 V3 的分支度數是 4，此時當有 一位攻擊者知道 Cathy 在這張網絡圖形上，並且知道 Cathy 有四個朋友，則 攻擊者可以輕易地從這張圖辨別出 Cathy 就是 V3，這也說明這種的隱匿方 法是無法防止被動式攻擊取得節點資訊。 在近幾年，許多學者提出不少針對被動式攻擊的隱私保護方法，這些 保護方法可分成兩種類型[11][14]：1. 圖形調整法(Graph modification) 2. 分 群法(Clustering-based)。 圖形調整法的主要概念是在圖形中透過加邊或刪邊的方式，使得調整 後圖形中的節點不易受到攻擊，以圖 4(b)為例，由於圖 4(b)中的 V3 其分支 度數為圖 4(b)中唯一的分支度數 4，使得攻擊者可以透過分支度攻擊來辨識 V3 的真實身分。Liu et al. (2008)提出 k-degree anonymous，使得圖形中，對 於任一節點，必存在至少 k-1 個節點與其的分支度相同，如圖 5(b)。圖 5(b) 為一張 2-degree anonymous 的隱匿圖形，圖形中的任一點必可找到至少一點 與其分支度相同，而原本在圖形中只有 V3 的分支度數為 4，現在 V2 與 V6 之 間有新增的邊，使得 V6 的分支度數亦為 4，而原本攻擊者即使知道 Cathy 的分支度數是 4，但她現在已無法準確的辨識出 Cathy 的真正節點。在這方 法之中，Liu et al. (2008)以 Dynamic Programming 的概念改良出一套新的 Dynamic Programming 概念，不僅可以套用在 k-degree anonymous 之中，還 可以只以加邊或刪邊的方式來完成。Kapron et al. (2011)提出只以加邊的方 式來完成分支度的隱匿，其中 Kapron et al.參考 Liu et al. (2008)所提出的 Dynamic Programming 方法來幫助他完成研究。. 7.

(15) C. A. A. E. V3. V1. V5. V1. V2. V6. V2. V4. B. B. F. D. C E. V3. V5. V6 V4. F. D. (a) D = {4, 3, 3, 2, 2, 2}. (b) D = {4, 4, 3, 3, 2, 2}. 圖 5：2-degree anonymous 隱匿圖 Zhou & Pei (2008)發現攻擊者可以利用目標節點相鄰的圖形結構子圖來辨識 節點的真實身分，例如：1-neighborhood 攻擊。以圖 6 為例，由圖 6(a)可得知 Ada 現在有 4 位朋友，其中兩位朋友彼此互相認識，其餘兩位彼此互不認識， 而當攻擊者得知這項訊息後，攻擊者可利用此資訊從圖 6(b)發現 Ada 在原始圖 形中的真正位置。而為了防止這樣的情形發生，Zhou & Pei (2008)提出 kneighborhood anonymity 的隱匿方法，如圖 7。圖 7 中，將原本 Ada 原本兩位不 認識的朋友之間新增一條邊，使得隱匿圖中至少有另一個子圖結構與 Ada 相鄰 的子圖結構相同。. Ada. Attack. A da. (a). (b) 圖 6：1-neighborhood 攻擊. Ada. 圖 7：2-neighborhood anonymity 隱匿圖 Tai et al. (2011)發現一種新的節點攻擊方式為 friendship attack，此攻擊 8.

(16) 方式為攻擊者將目標節點的分支度數以及目標節點朋友的分支度數儲存為 一對分支度配對(degree pair)，利用分支度配對可以用來辨識圖形中唯一一 種分支度配對的節點，並以本身的背景知識去得知目標節點的實際位置。 以圖 5(b)為例，當攻擊者已知 Eric 的分支度為 2 且 Eric 的鄰居中有一個鄰 居的分支度為 3，如表 1，攻擊者可以很清楚的分辨出來 V5 即為 Eric，此 時 Eric 的身分隱私即遭受暴露。故 Tai 等人[12]利用 k-degree 的概念提出 k2-degree anonymous，此方法利用增加或刪除邊的方式，使得圖形中每一種 分支度配對至少出現 k 對。 表 1 Friendship attack 方法 分支度為 2 的節點. 其鄰居的節點. 分支度配對. V3. {2, 4}. V6. {2, 4}. V3. {2, 4}. V4. {2, 3}. V1 V5. 分群法的主要概念以將結構相似的節點分成一群，以超點(super node) 或超邊(super edge)組成一張新圖形，以此圖形來概括原圖[2]如圖 8，圖 8(a) 為一張被切成兩張子圖的原始圖，其中左邊的子圖有四個節點以及五條 邊，右邊的子圖有六個節點及七條邊，此時可以利用一個節點代表子圖的 節點數以及邊數的資訊，如圖 8(b)。此方法不僅可以保護圖形上的節點資 訊，同時也能夠保護圖形上的連結資訊。. u2. u8 u5. u1. 群 2：. {u1, u2, u3, u4}. {u5, u6, u7, u8, u9, u10}. (4, 5). u4 u3. u9. 群 1：. u7 u6. (6, 7). u10. (a). (b) 圖 8 超圖(Super graph) 9.

(17) 2.1.2. 主動式攻擊與保護方法 所謂的主動攻擊為在圖形隱匿前放入含假節點之子圖與目標節點建立. 關係，建立出一張新的圖形，在圖形隱匿之後可依照這張圖形來揭露目標 節點。如圖 9 所示。圖 9 中，當攻擊者在原始圖上加上一張偽子圖，並將 此子圖與目標節點建立關係，當這張被攻擊者加入偽子圖的圖形公佈出 去，此時攻擊者即可在隱匿圖中找尋這張子圖，並依照這張子圖來追蹤目 標節點，即可輕易的辨識出目標節點。Shrivastava et al. (2008)提出一種演 算法可在圖形公布之前辨識出假節點，並將此節點移除。. 目標節點. 偽子圖. 圖 9 主動攻擊範例圖 以上的節點資訊保護方法都是以無具備權重的圖形上研究，但近幾 年，權重圖形中的資訊重要程度越來越高[3]，例如：商業交易網絡、社交 網絡等等，這些圖形中的權重都代表十分重要的個人隱私，所以具權重圖 形的隱私問題也不能忽視。. 2.2. 權重圖形之隱私保護 目前在權重圖上已有許多研究，例如 Liu et al.(2009)提出兩種保護權重. 的方式，分別為：Guassian’s randomization multiplication 與 Greedy perturbation。這兩個方法針對路徑上的權重作微小幅度的調整，提高實用 性並且不讓最短路徑更動。Das et al. (2010)為了保護社會網絡權重的隱 私，利用原本權重值的線性性質，如：最短路徑、最小生成數等，來擾動 10.

(18) 圖形上的權重，並保持原始最短路徑不被更動。Li & Shen (2011)提出容量 攻擊(Volume attack)及直方圖攻擊(Histogram attack)，此兩種攻擊方法主要 是針對具權重圖形，並以取得節點資訊為主要目的。容量攻擊是攻擊者透 過蒐集目標節點的邊上的權重值，並加總所有的權重值，透過唯一的權重 值總和來辨識出目標節點，如圖 10(a)。圖 10(a)中，V2 上有兩條與其他節 點相連結的邊，這兩條邊的權重值分別為{1, 1}，故這兩條邊上的權重值的 總和為 2，以此類推，故可得到各個節點，其相鄰的邊上的權重值總和分 別為{2, 3, 4, 5, 5, 5}。攻擊者可以從這些總和中發現，部分的權重總和是唯 一的總和，故攻擊者可利用這唯一的總和數辨識出節點資訊；直方圖攻擊 是攻擊者從目標節點所相鄰的邊上權重值，並將這些權重值組成權重值序 列，用此序列來辨識目標節點，如圖 10(b)。圖 10(b)中，V1 有兩條與其他 節點相連結的邊，在這兩條邊上的權重值分別為{[3, 2}}，以此類推，可以 得到各個節點的權重值序列，{[3, 2], [1, 1], [2, 1, 1], [2, 1, 1], [2, 1], [3, 1, 1]}，攻擊者可利用各個節點的權重值序列來辨識節點資訊。Li & Shen (2011)透過擾動圖形使得圖形成為 k-histogram 與 k-volume 隱匿，讓攻擊者 成過分辨出目標節點的機率降到 1/k。Wang et al. (2011)提出 k-anonymous path privacy 方法，擾動圖形中的權重，使得圖形上至少有 k 條最短路徑， 且原始最短路徑仍維持不變，而攻擊者無法從圖形中辨識真正的最短路 徑。過去在權重圖上的相關研究中皆只針對權重值資訊的隱匿，但卻未考 慮到分支度的攻擊也會造成權重圖上的資訊暴露，故本研究將針對最短路 徑上的分支度攻擊來提出分支度隱匿之最短路徑隱私保護方法。. 11.

(19) A. C V3. V1. E. V3. B. F. E. V5. V2. V6 V4. C. V1. V5. V2 B. A. V6 V4. F. D. D. (b) Histogram = {[3, 2], [1, 1], [2, 1, 1], [2, 1, 1], [2, 1], [3, 1, 1]}. (a) Volume= {2, 3, 4, 5, 5, 5 }. 圖 10 容量攻擊(Volume attack)與直方圖攻擊(Histogram attack). 12.

(20) 第三章 問題定義與描述 3.1. 最短路徑節點資訊暴露問題. 具有權重的圖形能夠讓研究人員從權重圖上的各個權重值中分析出許多 重要的資訊並且加以應用，如應用在社會網絡中人與人間的相互關係、商 業交易、影響商業行銷的目標、廣告等等。而在這些應用之中，權重圖中 的權重值可分別代表各種不同重要的涵意，如：人與人之間“友好程度”或 “親暱度”、公司之間的“交易量”等等，為了保護這些敏感資訊，過去的 相關研究中有兩種常見的保護方式。一種是透過擾動權重值的方式，在圖 形上的權重值加上擾動值，但仍讓最短路徑維持不變。另一種則是 k– anonymous path privacy，此方法是以擾動幅度最小的方式擾動圖形上的權 重值，使得圖形中具有 k 條最短路徑。以圖 11 為例，圖 11 為一張無向權 重圖，圖形中有九個節點。現在圖形中有一條最短路徑，{VS, VX, VE, VG, VT}，假設這條最短路徑是一條敏感的路徑，則必須防止這條最短路徑上的 重要資訊暴露。其中一種方式就是以最少的擾動量來擾動圖形中的權重 值，且讓最短路徑仍保持不變，如圖 12。圖 12 中邊 EY,T 上的權重值由 4 擾動成 3，此時有兩條最短路徑，分別是{VS, VX, VE, VG, VT}與 {VS, VD, VF, VY, VT}，則原最短路徑無法直接被辨識。因此，只要給定一張圖形 G，一 組起點-終點對 H，一個隱私保護的門檻值 k，則可利用 k–anonymous path privacy 隱私保護方法，不需增加或刪減節點或邊，及可將圖形權重做最小 幅度的調整，使得起點-終點對 H 包含 k 條最短路徑。. 13.

(21) VG. VX. 5. VS. 7. VE. VC. 5. VD. VT. VY. VF. 圖 11 社會網絡原始圖 VG. VX. 5. VS. 7. VE. VC. 5. VD. VT. VY. VF. 圖 12 2-anonymous path privacy 圖 表 2 TN 之分支度數 分支度. VX. VE. VG. VD. VF. VY. TN. 3. 5. 3. 4. 2. 4. 然而，k–anonymous path privacy 隱私保護方法尚未考慮當攻擊者擁有圖 形中各個節點分支度的背景知識時，攻擊者仍可以利用分支度數的背景知 識來揭露節點資訊。如圖 12，只要當攻擊者現在擁有節點分支度的背景知 識以及確定分支度數為 5 的節點位於真實的最短路徑上，則攻擊者從分支 度數為 5 的節點得知此節點為 VE 點，而 VE 點所在的最短路徑就是真實的 最短路徑，故最短路徑上所經過的節點其分支度皆有可能成為攻擊者辨識 最短路徑的漏洞。. 14.

(22) 最短路徑節點隱匿之限制. 3.2. 在本研究的最短路徑分支度隱匿，必須要滿足一項限制條件，此限制 條件為在最短路徑上的任一節點，必須能夠在其他最短路徑上找到至少一 個與其相同的分支度數。其原因如圖 13。. 分支度 = 5. X S. 5. VX. G. C. E. T. VS. 5. VE. VC. 分支度 = 5. VT. 分支度 = 5. Y. D. VG. VY. VD. F. VF. (a). 分支度 = 5. (b) 圖 13 最短路徑分支度隱匿限制. 當隱匿的圖形如圖 13(a)時，除了 VE 點的分支度數為 5 之外，現在 VX 點的分支度數亦為 5，此時雖然最短路徑上有兩個節點的分支度數為 5，但 是這兩個節點所在的位置都在同一條最短路徑上，此時，攻擊者依然能夠 利用他所擁有的背景知識來得知真實的最短路徑；但若隱匿後的圖形其結 果如圖 13(b)時，此時 VY 點的分支度數與 VE 點相同，而這兩個節點在不同 的最短路徑上，則攻擊者即使擁有在最短路徑上有分支度數為 5 的節點， 但他依然無法分辨出真實的最短路徑。. 3.3. (k1, k2)最短路徑之隱匿. 針對以上的問題與限制本研究提出(k1, k2) – anonymous shortest path privacy，此方法能夠讓公開的圖形中，在相同的起點-終點對之下除了至少 有 k1 條最短路徑，亦可針對在這些最短路徑中路徑不重覆經過的節點，讓 這些節點的每一個節點都能夠至少有其他 k2-1 個點與其有相同的分支度 15.

(23) 數。例如，目前有一張原始圖如圖 11，當 k1 與 k2 的值皆為 2，圖形中的邊 eY,T 上的權重值從 4 擾動成 3，此時圖形上會有兩條最短路徑{VS, VX, VE, VG, VT}與{VS, VD, VF, VY, VT}，路徑長度皆為 12，如圖 14。當加上圖 14 的虛線 後，在兩條最短路徑上的任意一個 Transfer Node 必定能夠在另一條最短路 徑中找到至少一個與其相同分支度數的 Transfer Node。其中 Transfer Node 代表最短路徑經過的節點但不包含起點、終點以及兩條最短路徑以上皆經 過的節點。. VG,. VX VS. 5. VC. VE. 5. VD. VT. VY. VF 圖 14 (2, 2) - anonymous path privacy 圖(by Modified k-means) 故一張具有(k1, k2)-shortest path privacy 性質的隱匿圖必須含有以下特性： 1.. 在同一對起終點之下，必須至少有 k1 條最短路徑. 2.. 在所有最短路徑上的任意一個節點，必定能夠在其他最短路徑上 找到至少 k2 -1 個節點與其有相同的分支度數. 16.

(24) 第四章 節點分群與加邊之演算法 4.1. 三種節點分群演算法. 4.1.1. Dynamic Programming 為主之演算法. Dynamic Programming 為一個可以有效得出一個問題的最佳解，其概念與 Divide and Conquer 類似，作法是先將原始問題分成數個子問題來解決，並動態 存取每次所解決的子問題的答案，以利於節省計算重複問題的時間，每個子問 題都有一個最佳解，將所有子問題解決後，即可得到原問題的最佳解。如圖 15，若要計算從 VS 點到 VT 點的最短路徑，首先須找出各點到其鄰居的距離， 並從 VS 點開始每次路徑增加一個節點時，就調整最短路徑的途徑，直到終點 VT 點為止。如 VS 到其鄰居的最近距離為 2，即為 VS 到 VB 的距離。接著當路徑要 在新增一個節點時則重新評估最短路徑的途徑，比較{VS, VA, VD}, {VS, VB, VD}….等路徑長度，並在這些路徑其中找出最短路徑。即為{VS, VB, VD}，以此 類推，最後得出 VS 到 VT 的最短路徑是{VS, VB, VD, VT}。. S. A. D. B. E. C. 8. T. F. 圖 15 Dynamic Programming 範例 Liu et al. (2008) 所提出的 k-degree anonymous 方法中修改 Dynamic 17.

(25) Programming 來做節點分支度分群，此方法的前提是以每一群的分群大小需要 控制在 k 與 2k-1 個節點之間，當分群大小等於或超過 2k 時，則將此群分成兩 群，原因是因為當群內的節點越多，則每一群內的加邊總數就越高，故此做法 能降低每一群的群集之隱匿成本。原始的 Dynamic Programming 執行時間為 𝑂(𝑛2 )，原因是 Dynamic Programming 必須將所有的分群結果計算完後，考慮每 一種分群結果，才可得知哪一種分群結果的加邊數量最少；但在經過 Liu et al. 修改過後的 Dynamic Programming 方法只需花𝑂(𝑛𝑘)，詳細流程如下。k 代表每 群節點群集至少要有 k 個節點；n 代表總節點數， d 代表節點分支度數由大到 小排序後的分支度序列，此序列的關係 : 𝑑(1) ≥ 𝑑(2) ≥ ⋯ ≥ 𝑑(𝑛)；𝑑̂ 代表隱 匿後的分支度序列；DA( d[1, i])代表 d[1, i]序列的分支度隱匿成本；I( d[i, j])代 表當節點 i, i+1, …,j 皆被放入同一群時，此群的隱匿成本。故可得知以下關 係： 𝑗. 𝐼(𝑑[ 𝑖, 𝑗]) = ∑(𝑑(𝑖) − 𝑑(𝑙)) 𝑙=𝑖. 從以上的關係建立 Dynamic Programming 的等式： (1) 當 i < 2k 時 𝐷𝐴( 𝑑[1, 𝑖]) = 𝐼(𝑑[ 1, 𝑖]) (2) 當 i ≥ 2k 時 𝐷𝐴( 𝑑[1, 𝑖]) =. 𝑚𝑖𝑛 (𝐷𝐴(𝑑[ 1, 𝑡]) + 𝐼( 𝑑[ 𝑡 + 1, 𝑖])). 𝑗 ≤ 𝑡 ≤ 𝑖−𝑘. 且 j = max{ k, i-2k+1} 式子(1)指當群內節點數少於 2k 個時，無法將節點分成兩群，故這些節點將全 部分為一群，隱匿成本即代表當群內的節點要將分支度數增加至與 d(1)的分支 度相同所需要的邊數。式子(2)則代表當節點數等於或超過 2k 個時，則分支度 隱匿成本為 d[1, t]序列的隱匿成本再加上群內節點為 t+1, t+2,…到第 i 個節點的 最佳隱匿成本，並且每一群的大小皆不能超過 2k。此方法只需花𝑂(𝑛)，大大的 18.

(26) 加速執行速度。 以圖 12 為例，圖形上的 TN ( Transfer Node)為{VX , VE, VG, VD, VF, VY}，其 分支度分別為{ 3, 5, 3, 4, 2, 4}，如表 2，將 TN 依分支度由大到小排序成為一串 新序列 TN’， TN’為{ VE, VD, VY, VX , VG, VF}，其分支度為{5, 4, 4, 3, 3, 2}。若 k2 等於 2，TN’的節點數共有六個，則必須分成兩群。而這些節點的數量大於 2k2，故若要求出此序列的隱匿成本，則需要由式子(2)的條件才能求得。此序列 的隱匿成本為𝐷𝐴(𝑑[ 1, 𝑡]) + 𝐼( 𝑑[ 𝑡 + 1, 𝑖])的最小值，其中 t 的範圍必須界定在 j ≤ t ≤ i-k ，j 代表 max{ k, i-2k+1}，從上述已知可得出 j =3，t 的範圍即為 3≤ t ≤4。將這些參數帶回原式後可得到分群結果為{ VE, VD, VY }及{ VX, VG, VF}。最 後我們在檢查這些分群結果內的節點是否皆在同一條最短路徑上，當有違反此 限制的節點群時，則從其他節點群中找出分支度數與此群分支度數最大值最相 近的節點，並挑出一節點與另一群分支度數最大值最相近的節點做交換，來滿 足此限制條件。 以下為 Dynamic Programming 之演算法： Input：1. 一張 k-anonymous path privacy 的隱匿圖 2. k2 值 Output：若干個至少包含 k2 個節點的群集 Parameter： TN : 最短路徑上所經過的點 SP : 最短路徑 Nsp: 最短路徑上的所有節點 S : 起點 T : 終點 d：分支度序列 n：代表節點數 演算法： 19.

(27) 1.. Find all SPs a Nsp. 2.. 令 TN = { ti | 包含所有 TN 的集合}. 3.. For each ti di = ti 的分支度. 4. 5.. 依照節點分支度由大到小排序. 6.. 𝑗 令 I( d[ i , j ] ) = ∑𝑙=𝑖(𝑑𝑖 − 𝑑𝑙 ). 7.. if ( | TN | < 2k2) then. 8. 9.. DA(d[ 1, i ] ) = I( d[ 1,i ] ) Else. 10.. DA(d [1, i] ) =. 𝑚𝑖𝑛. 𝑚𝑎𝑥{𝑘2 ,𝑖−2𝑘2 +1 }≤𝑡≤𝑖−𝑘2. {𝐷𝐴 (𝑑[1, 𝑡]) + 𝐼(𝑑[𝑡 + 1 , 𝑖])}. 11. If (a cluster contains nodes all from the same SP), then 12. Select a vertex that has closest node degree with neighboring cluster vertex, not on the same SP, and swap the two vertices;. 4.1.2. Modified k-means 為主之演算法. k-means 為一種傳統且在資料探勘中相當重要的分群方法，此方法主要的概 念是將一群未分類的資料，依照事先訂定的群數及條件，分成若干群，如圖 16。圖 16(a)中有數筆未分類的資料，假設現在希望將這些資料分成三群，故隨 機挑選三個節點當作重心(centroid)；接著計算每一筆資料與這些重心的距離， 並與重心距離最近的資料分為一群，如圖 16(b)；當分群完後再從新計算每群的 重心位置，並重複上一個步驟，重新分群，如圖 16(c)；當重心位置不再更動 時，則分群工作即完成，最後結果如圖 16(d)。. 20.

(28) (a). (b). (c). (d). 圖 16 k-means 概念 本研究發現，傳統的 k-means 方法能夠快速將一群尚未分類的資料分成數 群，但在分群過程中，若資料集內包含極端值，則可能會造成分群的不均勻， 此影響將會無法滿足分支度隱匿的條件，故藉由 k-means 的概念修改成符合(k1, k2) – anonymous shortest path privacy 隱匿的條件。 以圖 12 為例，圖 12 的 TN 為{VX, VE, VG, VD, VF, VY}，其分支度數為{3, 5, 3, 4, 2, 4}，如阿，若 k2 等於 2，則代表分群的結果每一群內的節點至少要有兩個 以上，以此圖 12 中的 TN 一共有六個，故至少要分成三群。首先，隨機任選三 個節點當作重心，並計算各個節點的分支度與重心的分支度的差距；假設挑中 VE、VD、VF 為重心，這三點的分支度為 5、4、2，接著一一計算各個節點的分 支度與其他節點分支度的差距，以 VX 為例，VX 的分支度為 3，與這三個重心分 支度差距為 2、1、1，而 VX 相距重心 VF 的距離與重心 VD,相同，則 VX 點會選 擇與重心 VD 分為一群，以此類推。當分群完之後，將群內的所有節點分支度取 平均值當作新的重心值，並依此重新分群。重複上述的步驟直到重心不再更 動。若此時的分群結果為{ VF }, { VD, VE}, { VX, VG, VY}，則此時{ VF }內的節點 數不足 k2 的條件，故必須從其他群中取出一節點與節點 VE 為一群。此時，我 們會選擇從群內節點數超過 k2 個的為優先，並從這些群組中挑找出重心與 { VF }最靠近，再從這重心最接近的群組中取出一節點，其分支度能夠最接近 { VF }中最大的分支度數。故根據我們所提出的限制，我們選擇{ VX, VG, VY }， 在{ VF }群其最大分支度數為 2，而在{ VX, VG, VY }中節點分支度數最接近 2 的 節點為 VX 與 VG，其分支度數為 3，則我們將選擇 VX 移到{ VF}中，使得每一群 21.

(29) 都至少有 k2 個節點，最後我們檢查使否滿足我們所訂定的分支度隱匿條件，若 無，則分群完畢，若有，我們將會將進行節點交換，直到滿足限制。 以下為 Modified k-means 之演算法： Input：1. 一張 k-anonymous path privacy 的隱匿圖 2. k2 值 Output：若干個至少包含 k2 個節點的群集 Parameter： TN : 所有最短路徑不重複的點 SP : 最短路徑 Nsp: 最短路徑上的所有節點 S : 起點 T : 終點 演算法： 1. Find top k1 SPs and all Nsp;. 2. Let TN = { ti | the set of all transfer nodes };. 3. If |TN| < 2k2 , then only one cluster;. 4. Let K = ⌊. 5. Randomly pick K nodes as initial centroids. 6. Repeat. 6.1 6.2 6.3 7 7.1. |𝑇𝑁| 𝑘2. ⌋;. Form K clusters by assigning each point to the closest centroid Reassign points such that each cluster has size 𝑘2 ≤ |𝐶𝑖 | ≤ 2𝑘2 − 1 Recompute the centroid of each cluster until centroid do not change If (a cluster contains nodes all from the same SP), then Select a vertex that has closest node degree with neighboring cluster vertex, not on the same SP, and swap the two vertices 22.

(30) 4.1.3. Sorting 為主之演算法. Sorting 是一套利用快速排序法(Quick Sort)為基礎，並將排序過後的 TN 依 照隱匿參數 k2 的需求，將所有 TN 快速分成一群大小控制在 k2 與 2k2 − 1 的範圍 內。快速排序法所需的時間只需要𝑂(𝑛 𝑙𝑜𝑔 𝑛)，是目前公認排序方法中速度最快 的方法，本研究希望藉由快速排序法能夠減少在分群過程排序所花費的時間。 以圖 12 為例，圖中所包含的 TN 為{ VX, VE, VG, VD, VF, VY }，其分支度為{3, 5, 3, 4, 2, 4}，如表 2。首先，將 TN 依分支度數利用快速排序法由大到小排序， 將這新序列命名 TN’，其順序為{ VE, VD, VY, VX , VG, VF }，分支度分別為{5, 4, 4, 3, 3, 2}，在依照輸入的 k2 值作為每次分群大小的依據，假設 k2 為 2，則 Sorting 的做法為：從以排序過後的 TN’中，從分支度數最大的開始依序挑出 k2 個 TN’，直到 TN’被挑完時，即完成分群。在挑出 TN’的過程中，最後剩下的 TN’ 少於 2k2 時，則無法將剩下的 TN’成兩群，此時即可將剩下的 TN’分為一群，即 完成分群。最後在確認此分群結果是否滿足分支度隱匿條件，以此例子來說， 最後分群的結果為{ VE, VD,}, { VY, VX }, { VG, VF }，且這三群內的節點皆不屬於 同一條最短路徑上的節點，故滿足分群的限制條件，則此三群為分群的最後結 果。 以下為 Sorting 之演算法： Input：1. 一張 k-anonymous path privacy 的隱匿圖 2. k2 值 Output：若干個至少包含 k2 個節點的群集 Parameter ： TN: 最短路徑上所經過的點 SP : 最短路徑 Nsp: 最短路徑上的所有節點 S : 起點 23.

(31) T : 終點 演算法： 1.. Find all SPs and Nsp. 2.. Let TN = { ti | the set of all transfer nodes}. 3.. Sort TN in descending order according to node degree. 4.. While ( |TN|≠0 or |TN|≧(2k-1) ). 5. 6.. Move first k2 nodes into the distinct group If ( |TN|≠0 ) then. 7.. Move remaining nodes into a group. 8.. If (a cluster contains nodes all from the same SP), then. 9.. Select a vertex that has closest node degree with neighboring cluster vertex, not on the same SP, and swap the two vertices. 4.2. 兩種加邊演算法. 藉由以上三種節點分群方法將所有最短路徑上的 TN 分群完後，可得到數群 的節點分群，每一群皆至少要包含 k2 個節點。透過分群後的群組，可得知每一 組群組內的節點其所需要增加的總邊數，當得知某一節點其所需增加的分支度 數時，則代表此節點所需要新增的邊數。在此，我們將提出兩種圖形加邊的方 法，並在下個章節“實驗結果與分析”中，比較這兩種加邊方法，試圖從中找出 一種加邊方法能夠讓隱匿圖的平均群聚係數與平均最短路徑長度與原圖最接 近。. 4.2.1. Random 為主之演算法. Random 的加邊方法主要的概念就是當 TN 需要提高分支度數時，則此節點 24.

(32) 選擇連結的節點對象就是尋找在圖形中，非最短路徑上的起點、終點以及最短 路徑所經過的節點之以外的節點，再從這些節點中先挑出分支度數最高的節點 為首要連結的對象。如圖 14，圖 14 是一張(2, 2) - anonymous path privacy 的圖 形，圖形上有兩條最短路徑{VS, VX, VE, VG, VT}與{VS, VD, VF, VY, VT}，若此圖上 的 TN : { VX, VE, VG, VD, VF, VY }經過 Modified k-means 分群後，最短路徑上需要 增加分支度數的節點為{ VF, VG, VY }。當這些節點以 Random 的加邊方法讓他們 的分支度數提高，則這三個 TN 的連結對象必須是非最短路徑上的節點，圖 14 中非最短路徑上的節點有 VC。那麼這三個 TN 將會選擇與 VC 連結，虛線即為新 產生的連結。若在圖形中，TN 已無法找到能夠與非最短路徑上的節點產生連結 的節點時，則新增一個假節點，讓這些 TN 連結到這些假節點，直到所有的 TN 的分支度數皆能夠滿足其自己的分支度隱匿條件。. 4.2.2. Transfer Node First 為主之演算法. 另一種加邊方法名為 Transfer Node First(TNF)，顧名思義就是 TN 的連結對 象以其他最短路徑上的 TN 為優先連結。當其他的 TN 節點無法當作連結對象 時，再以非最短路徑上的節點作為連結對象。主要的作法是當 TN 經過分群方 法分群後，可得知每個 TN 所要增加的分支度數。隨機挑選一個需要增加分支 度數的 TN，此 TN 的連結對象將是亦即需要增加分支度數的 TN。如圖 17，圖 17 亦是一張(2, 2) - anonymous path privacy 的圖形，圖形上有兩條最短路徑{VS, VX, VE, VG, VT}與{VS, VD, VF, VY, VT}，圖上的 TN 為{ VX, VE, VG, VD, VF, VY }這六 個節點，當這些 TN 經過分群後，若需要增加分支度數的節點為{ VX, VF, VY }， 而這三個 TN 所需提高的分支度數分別是{1,1,1}，則隨機挑選一節點，VX，再 隨機挑選另一個節點 VY，挑選的這兩個 TN 之間若無連結，則在這兩個 TN 之 間加一條共同的邊，而此時兩個 TN 同時達到分支度隱匿的條件。而剩下的 VF 因找不到能夠連結的 TN 則須連結到非最短路徑上的節點，並先選擇連結分支 25.

(33) 度數最大的節點，故 VF 選擇連結到 VC。 VG. VX. VS. 5. VC. VD. VE. 5. 7. VT. VY. VF. 圖 17 (2, 2) - anonymous path privacy 圖(by TNF) 以下為 TNF 加邊方法的演算法 : Input: C1, C2, …, Ck, |𝐶𝑖 | ≥ 𝑘2 , 1 ≤ 𝑖 ≤ 𝐾 Output: 每一群內的節點皆有相同的分支度數. 1.. For each cluster. 1.1. For each vertex. 1.1.1. Calculate the degree required (degree+) to each the maximum degree in the cluster;. 2.. Let NOV = {the list of all vertices with non-zero node degree};. 3.. Sort NOV list in ascending order according to node degree;. 4.. While (NOV ≠ ). 4.1 4.1.1. For (the first vertex in NOV) While (there exits next vertex in NOV) If (there is no edge between the two nodes) {add an edge between them; decrease (degree+) of N and current vertices by one;} else Continue on next vertex in NOV;. 4.1.2. If ((degree+) of vertex N > 0) Randomly select (degree+) vertices not on any of the shortest 26.

(34) paths and add edges; 4.2. Remove first vertex from NOV;. 4.3. 新權重值的決定方法. 上述的加邊方法讓 TN 滿足分支度隱匿的條件後，仍需要在新的邊上加上新 的權重值。當新權重值加入時，必定不能違反一項限制條件，此限制條件是當 新的邊上加入新的權重值時，不能更動圖形上的原最短路徑途徑。為了防止最 短路徑被更動，所以必須要訂定新權重值的範圍。訂定的方式如圖 18，圖 18 是 VX 連結一條新的邊到 VY 上，虛線即為新增的邊，紅線皆代表原始最短路 徑，藍線代表由 k-shortest path privacy 調整後的最短路徑，當新的邊上增加新 的權重值時，新的權重值不能影響圖形中最短路徑的途徑，故必須考慮兩種情 況：第一種情況是當新權重值的加入，從起點到 TN 之間的最短路徑不能被更 動，如圖 18(a)，圖 18(a)中紅線代表 VS 到 VX 的最短路徑，其長度為 2；藍線代 表 VS 到 VY 的最短路徑，其長度為 9，當加入新的邊(虛線)後，新增在虛線上的 權重值不能影響原最短路徑{ VS, VX }的途徑，故 VS 到 VY 的距離加上新權重值 必須大於{ VS, VX }的最短路徑長度 2。經上述的考量後，可得到以下關係式： 1 1 (1) 𝑆𝑃(𝑆𝑌) + 𝑒𝑋,𝑌 > 𝑆𝑃(𝑆𝑋) ⇒ 𝑒𝑋,𝑌 > 𝑆𝑃(𝑆𝑋) − 𝑆𝑃(𝑆𝑌) 1 其中 𝑒𝑋,𝑌 為在第一種情況下，新權重值的值域範圍。. 另一種情況為考量 TN 到終點的最短路徑亦不能受到新權重值的影響而改變 路徑，如圖 18(b)，而在此情況我們決定新權重值的範圍與第一種情況相同，故 可得到以下的關係式： 2 2 (2) 𝑒𝑋,𝑌 + 𝑆𝑃(𝑌𝑇) > 𝑆𝑃(𝑋𝑇) ⇒ 𝑒𝑋,𝑌 > 𝑆𝑃(𝑋𝑇) − 𝑆𝑃(𝑌𝑇). 其中𝑋𝑌2為第二種情況下，新權重值值域的範圍。 綜合這兩種情況，我們新權重值的值域範為整理出一個關係式：. 27.

(35) (3). 1 2 𝑚𝑎𝑥( |𝑒𝑋,𝑌 |, |𝑒𝑋,𝑌 | ) < |𝑒𝑋,𝑌 | < 𝑙𝑒𝑛(𝑆𝑃). 此關係式代表新權重值的下限值為式子(1)與(2)的最大值，而上限值為最 短路 徑長度。. VX. VX. VT. VS. VY. VY (a). (b) 圖 18 決定新權重的例圖. 28.

(36) 第五章 實驗結果與分析 5.1. 實驗環境與資料集. 本研究將使用兩個不同的資料集來模擬實驗評估的環境。 1.. 人工資料集 - Power_Law 資料集. 2.. 真實資料集 - Cora 資料集. Power_Law 資料集是由圖形產生器產生的一個人工資料集，此圖形產生器是 選自於一個專門提供給 Python 開發者的 Python 套件網站- Networkx，在這個網 站中有提供一項套件“Powerlaw_cluster_graphs”，此套件可以產生一張符合具 有 small world 性質的圖形，圖形的節點數與邊數可由開發者自行調整。本研究 中將利用這個套件產生一張具有 7000 個節點，6999 條邊的圖形，此圖形為一 張無向、不具權重的圖形。 Cora 資料集為一個引用文獻的社會網絡資料集，此資料集為有向無權重圖 形，圖形中一共有 2708 個節點，7977 條邊，各個節點代表一篇文獻，圖形中 的邊代表引用文獻或文獻被引用的關係。. 由於本研究將針對無向、具權重的圖形作最短路徑隱匿的探討，故需要將 Power_Law 與 Cora 這兩份資料集調整為無向、具權重的圖形，故我們將在這 兩個資料集中加入 1 到 100 隨機挑選的權重值。 以上所有實驗的執行環境將在一台具備 Intel Pentium CPU G870，3.10GHz 以及 4GB Memory 的硬體設備上運行，所有的實驗方法皆以 Python 程式語言撰 寫並執行完成。. 5.2. 評估方法與實驗結果. 本研究的實驗評估及方法將針對上述的三種分群方式以及加邊與權重的方 29.

(37) 式，提出四種評估指標： 1.. 執行時間. 2.. 加邊數量. 3.. 平均群聚係數(Average Clustering Coefficient). 4.. 平均最短路徑長度(Average Shortest Path Privacy). 利用這四項指標，我們將從這四項指標的各個實驗結果中，找出一種分群與加 邊方法的最佳配對，此配對能夠以最少的隱匿成本以及圖形破壞程度最低建立 一張(k1, k2) – anonymous shortest path privacy 隱匿圖。 執行速度指標是評估在建立一張隱匿圖形時，(1)節點分群的時間、(2)新增 連結的時間以及(3)新增權重的時間，這三項時間的總合。當這三項時間的總和 越少，則代表圖形建立的時間越短，效率就越高。 加邊數量指標是評估在建立一張隱匿圖形時，所需要新增的連結數量。當 新增的連結數量越少，則代表由此分群方法與加邊方法的配對能夠以較低的隱 匿成本建立隱匿圖。 平均分群係數指標是評估加邊方式對於圖形隱匿前與隱匿後，圖形結構的 破壞程度作比較，當隱匿圖形的群聚係數越靠近原始圖形的群聚係數代表圖形 結構的破壞程度低，反之則高。群聚係數的計算方式：當有一個節點 n，n 點有 e 個相鄰的節點，而先計算這些相鄰的節點之間，所有連結數量的最大值為 𝑒(𝑒−1) 2. ，之後計算這些相鄰節點其實際連結數量，將實際連結數量除以連結數量. 的最大值即為分群係數。 平均最短路徑長度指標亦是評估圖形結構的破壞程度，我們一樣會以隱匿 圖形的平均最短路徑長度與隱匿後的平均最短路徑長度做比較，若隱匿圖的平 均最短路徑長度與隱匿前的平均最短路徑長度相差越小，代表圖形結構的破壞 程度低。其計算方式是將圖形中任意兩點的最短路徑加總在除以所有最短路徑 的總數，即為平均最短路徑。 30.

(38) 5.2.1. 執行時間. 在此指標中我們將分別在 Power_Law 及 Cora 兩個資料集分別比較各方法 建立一張隱匿圖所花費的時間。圖形的執行時間代表建立一張隱匿圖所需的分 群時間、加邊時間以及新增權重時間，此三項時間的總和。並比較各種不同的 方法搭配所花費的圖形建立時間，找出一組分群-加邊方法為最省時的組合。 圖 19 為資料集 Power_Law 在2 ≤ k1 ≤ 5的實驗結果，以 k1 = 2 為例，圖 19 (a) 為 k1 = 2 的各圖加邊數量，橫軸為 k2，縱軸為執行時間。當 k2 遞增時，每一組 方法的執行時間皆增加。在三種分群方法之中，以 Sorting 方法建立隱匿圖所花 費的時間最少。而在兩種加邊方法之中，Random 加邊方法所建立的隱匿圖其花 費的時間最少。原因是 Random 加邊方法的加邊方式是讓 TN 隨機選取非 TN 的 節點作為連結的對象，故當要在新增的邊上加入新權重時，只需要考量 TN 所在 的最短路徑是否會被更動；但 TNF 的加邊方式是先讓 TN 找尋其他最短路徑上 的 TN 作為優先連結的對象，在考慮非 TN 的節點為連結對象，此時當要在新增 的邊上加入新的權重時，則必須考量到 TN 所在的最短路徑以即 TN 所要連結的 另一個 TN 所在的最短路徑，必須考慮這兩條最短路徑都不能被更動。故 TNF 加 邊方法的執行時間必然會比 Random 方法長。. 在3 ≤ k1 ≤ 5的實驗中亦有相同的實驗結果，故我們從 Power_Law 資料集中 可以得知以 Sorting 分群方法搭配 Random 分群方法能夠達到最省時的方式來建 立隱匿圖。. 31.

(39) k-means (Random). 200 175 150 125 Execution 100 time 75 50 25 0. k-means (TNF) Sorting (Random) Sorting(TNF) DP (Random). 2. 3. 4. 5. 6. DP(TNF). k2 圖 19 (a) k1 = 2 的各圖加邊數量 200 175. k-means (Random). 150. k-means (TNF). Execution 125 time 100. Sorting (Random). 75. Sorting(TNF). 50 25. DP (Random). 0 2. 3. 4. 5. 6. DP(TNF). k2 圖 19 (b) k1 = 3 的各圖加邊數量 200 175. k-means (Random). 150. k-means (TNF). Execution 125 time 100. Sorting (Random). 75. Sorting(TNF). 50 25. DP (Random). 0 2. 3. 4. k2. 5. 圖 19 (c) k1 = 4 的各圖加邊數量. 32. 6. DP(TNF).

(40) 200 k-means (Random). 175 150. k-means (TNF). 125. Execution 100 time 75. Sorting (Random) Sorting(TNF). 50 25. DP (Random). 0 2. 3. 4. 5. 6. DP(TNF). k2 圖 19 (d) k1 = 5 的各圖加邊數量 圖 19 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項執行時間結果 在圖 19(d)的實驗結果中，各方法組合隨著 k2 的遞增而圖形建立時間 越長，但由 Modified k-means 分群方法搭配 TNF 加邊方法在 k2=6 時反而比 k2=5 的建立時間還少，其原因為由 Modified k-means 分群方法所得到最後 的分群結果取決於各個分群的重心，由於 Modified k-means 分群方法是以 隨機挑選 TN 作為分群重心，故此種新選擇的方式將影響各個分群結果的 分群成本高或低，也間接影響圖形建立時間。在 19(d)的實驗結果中，即使 當 k2 從 5 增加到 6 時，各群的群內節點數會增加，但仍然有可能在 k2=6 時 的分群成本比在 k2=5 的成本還低，導致圖形建立時間較短。 圖 20 為資料集 Cora 在2 ≤ k1 ≤ 5的實驗結果，在各項2 ≤ k1 ≤ 5的實驗 結果與 Power_Law 資料集的實驗結果相同，亦即代表三種分群方法中，以 Sorting 方法建立的隱匿圖其所花費的時間最少，且以 Random 加邊方法建 立隱匿圖所花費的時間比 TNF 少。 故綜合以上 Power_Law 與 Cora 資料集的實驗結果可得知，若要以最 省時的方式建立隱匿圖形，則建議選擇以 Sorting 分群方法搭配 Random 加 邊方法為最省時。. 33.

(41) 300 k-means (Random). 250. k-means (TNF). 200 Execution 150 time 100. Sorting (Random) Sorting(TNF ). 50 0 2. 3. 4. 5. 6. DP (Random) DP(TNF). k2 圖 20 (a) k1 = 2 的各圖加邊數量. 300. k-means (Random). 250. k-means (TNF). 200 Execution time 150. Sorting (Random). 100. Sorting(TNF). 50 DP (Random). 0 2. 3. 4. 5. 6. DP(TNF). k2 圖 20 (b) k1 = 3 的各圖加邊數量. 300. k-means (Random). 250. k-means (TNF). 200 Execution 150 time 100. Sorting (Random) Sorting(TNF). 50 DP (Random). 0 2. 3. 4. 5. k2 圖 20 (c) k1 = 4 的各圖加邊數量. 34. 6 DP(TNF).

(42) 300. k-means (Random). 250. k-means (TNF). 200 Execution 150 time 100. Sorting (Random) Sorting(TNF). 50 0. 2. 3. 4. 5. 6. DP (Random) DP(TNF). k2 圖 20 (d) k1 = 5 的各圖加邊數量 圖 20 2 ≤ k1 ≤ 5在資料集 Cora 的各項執行時間結果. 5.2.2. 加邊數量. 在此部分中，我們將衡量當建立一張(k1, k2)-shortest path privacy 圖形時， 新增的邊數的多寡。當建立一張隱匿圖所需要新增的邊越少，即代表隱匿成本 越低，方法越佳，反之則差。 圖 21 為資料集 Power_Law 在2 ≤ k1 ≤ 5的實驗結果，以 k1 = 2 為例，從圖 21(a)為 k1 = 2 的實驗結果，表 3 為 k1 = 2 的實驗數據。由圖 21(a)與表 3 顯示三 種分群方法中，當 k2 遞增時，由 Sorting 建立的圖形，其新增的邊數皆最少， 其次是 Modified k-means，而隱匿成本最高的是 Dynamic Programming。 另外，此三種分群方法在搭配兩種不同的加邊方法中，Sorting 或 Dynamic Programming 搭配 TNF 皆比搭配 Random 方法更能夠降低加邊數量，只有 Modified k-means 搭配這兩種加邊方法時，並沒有明顯的顯是哪一種加邊方法較 適合與其搭配。其主要原因是 Modified k-means 的分群方式是以隨機挑選節點 為群心，故每一次的分群結果都不盡相同，所以即使 TNF 方法能夠降低加邊數 量，但當 Modified k-means 分群後，結果仍有可能讓群內的節點分支度差距 35.

(43) 大，使得建立隱匿圖時所需新增的邊數增加，如此一來對於 Modified k-means， TNF 的加邊方法並非為最適合的加邊方法。在其他3 ≤ k1 ≤ 5的實驗中，亦有以 上相同的實驗結果。 綜合2 ≤ k1 ≤ 5的實驗結果，若想要以最少的隱匿成本建立一張(k1, k2)shortest path privacy 圖形，則建議選擇以 Sorting 分群方法搭配 TNF 加邊方法最 能夠降低隱匿成本。 1000. k-means (Random). 800. k-means (TNF). 600 Edge addition 400. Sorting (Random). Sorting(TNF). 200 DP (Random). 0 2. 3. 4. 5. 6. DP(TNF). k2 圖 21 (a) k1 = 2 的各圖加邊數量. 表 3 資料集 Power_Law, k1 = 2 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 159.74. 166.52. 109.2. 104.6. 189. 179.6. 3. 306.08. 304.08. 234.8. 223. 299.2. 284.6. 4. 410.32. 402.48. 377.6. 359.4. 455.2. 430. 5. 501.88. 488.4. 512.8. 488.4. 512.8. 488.4. 6. 943.4667. 866. 953.6. 926.8. 953.6. 926.8. k2. 36.

(44) 1000. k-means (Random) k-means (TNF) Sorting (Random) Sorting(TNF ) DP (Random) DP(TNF). 800 Edge 600 addition 400 200 0 2. 3. 4. 5. 6. k2 圖 21 (b) k1 =3 的各圖加邊數量 表 4 資料集 Power_Law, k1 = 3 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 172.68. 145.32. 110.4. 104. 182. 171.2. 3. 283.42. 254.08. 223.8. 210.2. 331. 309.2. 4. 442.6. 424.46. 379.8. 359.2. 455.2. 427.2. 5. 590.72. 566.76. 529.8. 503.4. 693. 655.2. 6. 730.2667. 683. 709.2. 611. 782.8. 734.2. k2. 1000 900 800 700 Edge 600 addition 500 400 300 200 100 0. k-means (Random) k-means (TNF) Sorting (Random) Sorting(TN F) DP (Random). 2. 3. 4. 5. k2 圖 21 (c) k1 =4 的各圖加邊數量. 37. 6. DP(TNF).

(45) 表 5 資料集 Power_Law, k1 = 4 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 172.12. 152.48. 124.6. 107.8. 200. 189.4. 3. 321.4. 326.72. 246.4. 217.6. 378.2. 343.8. 4. 508.02. 501.141. 371.28. 345.05. 543.48. 534.67. 5. 681.18. 676.4. 545.8. 509.8. 675.4. 628.2. 6. 739.407. 715.8. 660. 649.866. 857.1636. 853. k2. 1000 k-means (Random). 800. k-means (TNF) Edge addition. 600 Sorting (Random). 400. Sorting(TNF). 200. DP (Random). 0 2. 3. 4. 5. 6 DP(TNF). k2 圖 21 (d) k1 = 5 的各圖加邊數量. 表 6 資料集 Power_Law, k1 = 5 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 121.74. 147.28. 90. 80.4. 138.68. 90.6. 3. 280.44. 246.98. 200. 168.4. 334. 297.2. 4. 444.54. 436.3. 358.8. 312.29. 402.56. 393.64. 5. 562.8. 615.4. 450. 450. 709.6. 697.1. 6. 786.72. 726.32. 683.4. 587. 760.2. 738.46. k2. 圖 21 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項加邊數量結果. 圖 22 為當2 ≤ k1 ≤ 5，在資料集 Cora 的各項實驗結果，在這四個實驗結果 中，我們仍可發現三種分群方法中，Sorting 分群方法所建立的隱匿圖其所需的 38.

(46) 新連結最少，Dynamic Programming 則次之，Modified k-means 則需較多的新連 結。 另外，以 Sorting 或 Dynamic Programming 搭配 TNF 加邊方法比搭配 Random 方法可降低隱匿成本，而若以 Modified k-means 方法，則並沒有一種適 合的搭配方法。 經過資料集 Cora 與 Power_Law 的實驗後，這兩個資料集的實驗結果皆有 相同的結論，即 1. 三種分群方法中，以 Sorting 分群方法所建立的隱匿圖其所新增的邊數 最少。 2. 搭配 TNF 加邊方法比 Random 方法所建立的隱匿圖其所新增的邊數較 少，其中 Sorting 搭配 TNF 所建立的圖形其新增的 3500 k-means (Random). 3000 2500 Edge addition. k-means (TNF). 2000 Sorting (Random). 1500 1000. Sorting(TNF). 500 0. DP (Random). 2. 3. 4. 5. 6 DP(TNF). k2 圖 22 (a) k1 = 2 的各圖加邊數量 表 7 資料集 Cora, k1 = 2 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 367.28. 396.2. 333.6. 331.2. 344.8. 339.8. 3. 764.76. 756.28. 744. 736. 896.4. 888.2. 4. 1497.2. 1375. 1497.2. 1484. 1497.2. 1484. 5. 2141.2. 1903.4. 2141.2. 2127.8. 2141.2. 2127.8. 6. 3188.2. 2763.6. 3188.2. 3168. 3188.2. 3168. k2. 39.

(47) 3500. k-means (Random). 3000 k-means (TNF). 2500 Edge 2000 addition 1500. Sorting (Random). 1000. Sorting(TNF). 500 DP (Random). 0 2. 3. 4. 5. 6 DP(TNF). k2 圖 22 (b) k1 = 3 的各圖加邊數量. 表 8 資料集 Cora, k1 = 3 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 394.44. 372.6. 270.8. 267.2. 656.2. 521.4. 3. 981.64. 956.96. 732.2. 724.2. 978. 962.6. 4. 1498.96. 1455.1. 1178. 1164.4. 1541.8. 1521. 5. 2692.6. 2400. 2531. 2506. 2883.2. 2858. 6. 2883.8. 2648.8. 2883.8. 2853.6. 2883.8. 2853.6. k2. 3500. k-means (Random). 3000. k-means (TNF). 2500 Edge 2000 addition 1500. Sorting (Random) Sorting(TNF ). 1000 500. DP (Random). 0 2. 3. 4. 5. k2 圖 22 (c) k1 = 4 的各圖加邊數量. 40. 6. DP(TNF).

(48) 表 9 資料集 Cora, k1 = 4 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 557.64. 463.56. 273. 269.6. 709.2. 701.6. 3. 1144.04. 1211.08. 807.2. 797.2. 1092.6. 1075.8. 4. 1565.4. 1650.48. 1319.8. 1306.4. 1871.2. 1851.6. 5. 1915.2. 1892.2. 1888.2. 1864.8. 2002.4. 1976.6. 6. 2449. 2425.2. 2449. 2425.2. 2449. 2425.2. k2. k-means (Random). 3500 3000. k-means (TNF). 2500 Edge addition 2000. Sorting (Random). 1500. Sorting(TNF). 1000 500. DP (Random). 0 2. 3. 4. k2. 5. DP(TNF). 6. 圖 22 (d) k1 = 5 的各圖加邊數量. 表 10 資料集 Cora, k1 = 5 的各圖加邊數量 Modified kmeans (Random). Modified kmeans (TNF). Sorting. Sorting. DP. DP. (Random). (TNF). (Random). (TNF). 2. 468.24. 506.44. 301.2. 297.6. 494. 485.6. 3. 979.72. 918.88. 653.8. 645.8. 942.2. 926.4. 4. 1428.4. 1407.6. 1062.8. 1049. 1379.4. 1359.4. 5. 1811.6. 1841.48. 1479.2. 1457.2. 2086.4. 2058.8. 6. 2046.2. 2016. 1901. 1871.8. 1973.4. 1946. k2. 圖 22 2 ≤ k1 ≤ 5在資料集 Cora 的各項加邊數量結果. 41.

(49) 5.2.3. 平均群聚係數(Average Clustering Coefficient). 在平均群聚係數與平均最短路徑長度兩個指標中，我們將分別在 Power_Law 及 Cora 兩個資料集所產生的隱匿圖形中比較 Random 與 TNF 兩種 加邊方法的優劣。圖 23 是以 Power_Law 資料集作為實驗資料集，圖中的實驗 結果分別是以三種分群方法以及兩種加邊方法所產生的圖形平均群聚係數，縱 軸代表各個圖形的平均群聚係數，橫軸的 k2 代表圖形隱匿程度。 圖形中的平均群聚係數的計算過程如下： 1.. 首先我們從原始圖中隨機挑選五對不同的起點-終點對. 2.. 以相同的分群方法及加邊方法分別產生五張(k1, k2) – anonymous shortest path privacy 圖. 3.. 將五張隱匿圖的平均群聚係數加總並再次平均. 本研究中分別探討2 ≤ k1 ≤ 5( k1=2 代表同一對起點-終點對內有二條最短路 徑)三種最短路徑數量不同的圖形，並觀察在相同的 k1 之下，當 k2 從 2 到 6 的 遞增時，圖形的平均群聚係數的變化情形。 圖 23(a)是 k1 = 2，k2 從 2 到 6 遞增時，各種圖形的平均群聚係數的變化。 圖中一共有六種不同的方法配對而產生的圖形，虛線代表圖形的加邊方法是 TNF 法，實線代表加邊方法為 Random 法。由圖中可以發現，當 k2 遞增時，由 TNF 加邊方法產生的圖形其平均群聚係數與原始圖形的平均群聚係數皆相差不 大，而用 Random 加邊方法所產生的圖形其平均群聚係數會因 k2 的增加而平均 群聚係數與原始圖差距越大，此差異代表 TNF 加邊方法所產生的隱匿圖形其破 壞原始圖形的架構較少。在圖 23(b)、圖 23(c)、圖 23(d)三張圖中亦也相同的情 況。. 42.

(50) 0.09. k-means (Random). 0.088. k-means (TNF). Average 0.086 C.C. 0.084. Sorting (Random) Sorting(TNF). 0.082. DP (Random) DP(TNF). 0.08 2. 3. 4. 5. 6 PL Graph. k2 圖 23 (a) k1 = 2 的各圖平均群聚係數圖. 0.09. k-means (Random) k-means (TNF). 0.088. Sorting (Random) Sorting(TNF). Average 0.086 C.C. 0.084. DP (Random). 0.082. DP(TNF). 0.08 2. 3. 4. 5. 6. PL Graph. k2 圖 23 (b) k1 = 3 的各圖平均群聚係數圖. 0.09. Average 0.086 C.C. 0.084. k-means (Random) k-means (TNF) Sorting (Random) Sorting(TNF). 0.082. DP (Random). 0.088. DP(TNF). 0.08 2. 3. 4. 5. k2 圖 23 (c) k1 = 4 的各圖平均群聚係數圖 43. 6 PL Graph.

(51) 0.09. k-means (Random) k-means (TNF). 0.088 Average 0.086 C.C. 0.084. Sorting (Random) Sorting(TNF). 0.082. DP (Random) DP(TNF). 0.08 2. 3. 4. 5. 6 PL Graph. k2 圖 23 (d) k1 = 5 的各圖平均群聚係數圖 圖 23 2 ≤ k1 ≤ 5在資料集 Power_Law 的各項平均群聚係數結果. 圖 24 為 Cora 資料集的實驗結果，我們依然分別探討2 ≤ k1 ≤ 5四張不同的 圖形，每一張圖形分別再評估當 k2 遞增時，各種方法配對所產生的圖形之優 劣。以 k1 = 2 的圖形為例，圖形中以 TNF 加邊方法所產生的圖形其平均群聚係 數皆非常接近原始圖形的數值，而以 Random 方法所產生的圖形，效果較差， 並且在2 ≤ k2 ≤ 6的平均群聚係數結果較無明顯的規律。故由此圖可得出 TNF 的 加邊方法比 Random 方法的效益較佳，而在2 ≤ k1 ≤ 5的實驗結果也能得到相同 的結論。 0.246. Average C.C.. 0.242. k-means (Random). 0.238. k-means (TNF). 0.234. Sorting (Random). 0.23. Sorting(TNF). 0.226 DP (Random). 0.222 DP(TNF). 0.218. 2. 3. 4. 5. 6 Cora Graph. k2 圖 24 (a) k1 = 2 的各圖平均群聚係數圖 44.

(52) k-means (Random) k-means (TNF). 0.245 0.242 0.239 0.236 Average 0.233 C.C. 0.23 0.227 0.224 0.221 0.218. Sorting (Random) Sorting(TNF) DP (Random) DP(TNF). 2. 3. 4. 5. 6. Cora Graph. k2 圖 24 (b) k1 = 3 的各圖平均群聚係數圖. 0.246. k-means (Random) k-means (TNF) Sorting (Random) Sorting(TNF). 0.242 0.238 Average 0.234 C.C. 0.23 0.226. DP (Random). 0.222. DP(TNF). 0.218. 2. 3. 4. 5. 6. Cora Graph. k2 圖 24 (c) k1 = 4 的各圖平均群聚係數圖. 0.246. k-means (Random) k-means (TNF). 0.242 0.238 0.234 Average C.C. 0.23 0.226. Sorting (Random) Sorting(TNF). 0.222. DP (Random). 0.218. DP(TNF). 2. 3. 4. 5. 6. k2 圖 24 (d) k1 = 5 的各圖平群聚係數圖 圖 24 2 ≤ k1 ≤ 5在資料集 Cora 各項平均群聚係數結果 45. Cora Graph.

• 本範例是模擬真實的鞦韆擺盪速度， 所以還會加 入鞦韆速度變化的效果， 我們將會設定鞦韆由右