• 沒有找到結果。

產生最小多支配集合的分散式自我穩定演算法

N/A
N/A
Protected

Academic year: 2021

Share "產生最小多支配集合的分散式自我穩定演算法"

Copied!
77
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學資訊工程學系 碩士論文. 產生最小多支配集合的分散式自我穩定演算法 Self-Stabilizing Distributed Formation of Minimal Multi-Dominating Set. 研究生:陳宗隆 指導教授:嚴力行. 撰 博士. 中華民國一零二年七月.

(2) 產生最小多支配集合的分散式自我穩定演算法 指導教授:嚴力行 博士 國立高雄大學資訊工程學系. 學生:陳宗隆 國立高雄大學資訊工程學系. 摘要. 在分散式系統中,有時候為了確立伺服器(servers)和客戶端(clients)之間的角 色,我們會從網路中挑選出某些節點扮演伺服器(servers)的角色,負責提供某些 服務(service)給鄰近的其他客戶(client)節點。如果我們希望在不影響 client 被 server 服 務 的 程 度 下 找 出 最 小 的 伺 服 器 節 點 集 合 , 此 問 題 變 成 支 配 集 合 (dominating set)問題,即由支配集合內的節點負責扮演伺服器的角色,來提供服 務給鄰近的非支配集合節點。所謂支配集合是指從網路中的部份節點集合,這些 節點稱為支配點(dominator),滿足每一個非支配點(dominatee 或 non-dominator) 至少鄰近一個支配點。為了增加整體網路的可靠度,學者進一步考慮 k-支配集合 問題(k-domination set problem)。此問題要求每一個非支配點其鄰近至少要有 k 個 支配者存在,而 k 為一個大於等於 1 的整數。k-支配集合問題可進一步延伸為多 支配集合問題(multi-domination set problem),此問題要求每個節點 i (可為支配點 或非支配點)至少鄰近 ki 個支配者,而每個節點的 ki 可相異。當一個支配集合不 存在子集合亦為滿足要求的支配集合,則此支配集合稱為最小支配集合。本篇論 文提出了一個自我穩定的分散式演算法,在集中式的執行模型下可找出最小多支 配集合。我們證明了此演算法的正確性,並且在多個具代表性的網路拓樸邏輯 下,探討此演算法的效能並與前人的方法作比較。模擬實驗結果顯示與先前的方 法相較之下,這個新的方法能夠找到較小的支配集合,故有助於某些分散式系統 的應用。 關鍵詞:最小支配集合、最小 k-支配集合、最小多支配集合、自我穩定演算法、 賽局理論. i.

(3) Self-Stabilizing Distributed Formation of Minimal Multi-Dominating Set Advisor: Dr. Li-Hsing Yen Institute of Computer Science and Information Engineering National University of Kaohsiung. Student: Zong-Long Chen Institute of Computer Science and Information Engineering National University of Kaohsiung. ABSTRACT In certain applications of distributed systems, some nodes are designated among others that play the roles of servers which provide desired service to other client nodes. If we want to find a set of nodes that cover all other nodes not in the set, the problem becomes identifying a dominating set. Formally, every node not in a dominating set should be adjacent to at least one node in the set. To increase the durability of service, researchers further consider k-dominating set problem, where every node not in a k-dominating set should be adjacent to at least k nodes in the set, where k  1 is an integer. This problem can be further extended to multi-dominating set problem, where the domination requirement k for every node can be different. A multi-dominating set is minimal if it does not contain any proper subset that is also a valid multi-dominating set. This thesis proposes a self-stabilizing distributed algorithm that finds a minimal dominating set under a central daemon. The correctness of this algorithm has been proven. We study the performance of the proposed algorithm and compare it with those of existing approaches under several representative topologies. Simulation results show that the proposed approach generally find a smaller set when compared with prior methods. Keywords:Minimal Dominating Sets, Minimal k-Dominating Sets, Minimal MultiDominating Sets, Self-Stabilizing Algorithms, Game Theory ii.

(4) 致謝 首先,感謝指導教授嚴力行教授,在研究方向的引導與論文的主題確立,以 及內容的撰寫都給我許多的建議。讓我學習與成長。同時也要感謝我的口試委員 謝欽旭教授與吳俊興教授,在百忙之中能夠仔細審閱我的論文,並且提供了相當 多的意見使得我的論文內容能更完善。 我也要感謝這兩年中實驗室的同學以及幫助過我的每個人,在相處過程中讓 我學習到除了課業以外的事情,讓我獲益良多。 最後,我要感謝我的家人和女友,在我遇到挫折時,不斷鼓勵我、支持我, 讓我有動力繼續堅持下去。最後終於完成論文。. iii.

(5) 目錄 中文摘要......................................................................................................................... i 英文摘要........................................................................................................................ ii 致謝............................................................................................................................... iii 目錄............................................................................................................................... iv 圖目錄........................................................................................................................... vi 表目錄......................................................................................................................... viii 第一章 簡介................................................................................................................ 1 第二章 背景知識與相關研究.................................................................................... 5 2.1. 支配集合問題 ....................................................................................... 5. 2.2. 自我穩定演算法 ................................................................................... 6 2.2.1. 定義 .......................................................................................... 6. 2.2.2. 控制運算模型 .......................................................................... 7. 2.3. 支配集合問題相關自我穩定演算法 ................................................... 8. 2.4. 賽局理論(Game Theory) .................................................................... 11 2.4.1. 賽局理論簡介 ........................................................................ 11. 2.4.2. 賽局的分類 ............................................................................ 12. 2.4.3. 賽局的定義 ............................................................................ 13. 第三章 最小多支配集合的自我穩定演算法.......................................................... 15 3.1. 最小 k-支配集合的賽局設計(PkDG) .............................................. 15. 3.2. 演算法設計 ....................................................................................... 16. 3.3. 最小 k-支配集合的自我穩定演算法(IkDG) ................................... 17 3.3.1. 演算法運作範例說明 .......................................................... 20. 3.3.2. 最小 k-支配集合的證明 ...................................................... 22. 3.4. 賽局與演算法的差異 ....................................................................... 24. 3.5. 最小多支配集合的賽局設計(PMDG) ............................................. 28 iv.

(6) 3.6. 最小多支配集合的自我穩定演算法(IMDG) .................................. 29 3.6.1. 演算法運作範例說明 .......................................................... 31. 3.6.2. 最小多支配集合的證明 ...................................................... 33. 第四章 模擬實驗...................................................................................................... 35 4.1. 實驗設計與參數設定 ......................................................................... 35. 4.2. 最小支配集合的實驗 (minimal dominating set) .............................. 39 4.2.1. 賽局與演算法的決策次數比較 ............................................ 43. 4.3. 最小 2-支配集合的實驗 (minimal 2-dominating set) ........................ 45. 4.4. 最小 k-支配集合的實驗 (minimal k-dominating set) ....................... 49. 4.5. 最小多支配集合的實驗 (minimal multi-dominating set) ................ 56. 4.6. 實驗結論 ............................................................................................. 62. 第五章 結論與未來研究方向.................................................................................. 64 參考文獻...................................................................................................................... 65. v.

(7) 圖目錄 圖 2.1. simple graph ................................................................................................. 6. 圖 3.1. 最小 k-支配集合演算法 ............................................................................. 17. 圖 3.2. 初始圖形 (Example1) ................................................................................. 20. 圖 3.3. Example1 的第一部份後的圖形 ................................................................ 21. 圖 3.4. Example1 的第二部份後的圖形 ................................................................ 21. 圖 3.5. Example1 到達穩定後的圖形 .................................................................... 22. 圖 3.6. 節點 x(i) 和 g(i)值不一致的範例 .............................................................. 25. 圖 3.7. (圖 3.5)決策後的圖形 ................................................................................. 26. 圖 3.8. 執行 IkDG 前的初始狀態 .......................................................................... 26. 圖 3.9. 執行 PkDG 前的初始狀態.......................................................................... 26. 圖 3.10. 最小多支配集合演算法.............................................................................. 29. 圖 3.11. 初始圖形(Example 2) .................................................................................. 31. 圖 3.12. Example 2 的第一部份後的圖形 ............................................................... 32. 圖 3.13. Example 2 到達穩定的圖形 ....................................................................... 33. 圖 4.1. Unit Disk Graph 的拓樸邏輯 ..................................................................... 36. 圖 4.2. ER model 節點分支度的趨勢圖 ............................................................... 37. 圖 4.3. regular graph ................................................................................................ 38. 圖 4.4. BA model 節點分支度的趨勢圖 ................................................................ 39. 圖 4.5. 在 UDG 下的平均支配者(MDS)................................................................ 40. 圖 4.6. 在 ER model 下的平均支配者數目(MDS) ................................................ 40. 圖 4.7. 在 WS model 下的平均支配者數目(MDS) ............................................... 41. 圖 4.8. 在 BA model 下的平均支配者數目(MDS)................................................ 41. 圖 4.9. 在 UDG 下的平均決策次數 ....................................................................... 43. 圖 4.10. 在 ER model 下的平均決策次數 ............................................................... 44. 圖 4.11. 在 WS model 下的平均決策次數............................................................... 44 vi.

(8) 圖 4.12. 在 BA model 下的平均決策次數 ............................................................... 45. 圖 4.13. 在 UDG 下的平均支配者數目(M2DS)...................................................... 46. 圖 4.14. 在 ER model 下的平均支配者數目(M2DS) .............................................. 47. 圖 4.15. 在 WS model 下的平均支配者數目(M2DS) ............................................. 48. 圖 4.16. 在 BA model 下的平均支配者數目(M2DS).............................................. 48. 圖 4.17. 在 UDG 下的平均支配者數目(M3DS)...................................................... 50. 圖 4.18. 在 ER model 下的平均支配者數目(M3DS) .............................................. 50. 圖 4.19. 在 WS model 下的平均支配者數目(M3DS) ............................................. 51. 圖 4.20. 在 BA model 下的平均支配者數目(M3DS).............................................. 51. 圖 4.21. 在 UDG 下的平均支配者數目(M4DS)...................................................... 52. 圖 4.22. 在 ER model 下的平均支配者數目(M4DS) .............................................. 52. 圖 4.23. 在 WS model 下的平均支配者數目(M4DS) ............................................. 53. 圖 4.24. 在 BA model 下的平均支配者數目(M4DS).............................................. 53. 圖 4.25. 在 UDG 下的平均支配者數目(M5DS)...................................................... 54. 圖 4.26. 在 ER model 下的平均支配者數目(M5DS) .............................................. 54. 圖 4.27. 在 WS model 下的平均支配者數目(M5DS) ............................................. 55. 圖 4.28. 在 BA model 下的平均支配者數目(M5DS).............................................. 55. 圖 4.29. 在 UDG 下找 K-domination (IMDG) ......................................................... 58. 圖 4.30. 在 ER model 下找 K-domination (IMDG) .................................................. 59. 圖 4.31. 在 WS model 下找 K-domination (IMDG) ................................................. 59. 圖 4.32. 在 BA model 下找 K-domination (IMDG) ................................................. 60. 圖 4.33. 在 UDG 下找 K-domination (PMDG) ........................................................ 60. 圖 4.34. 在 ER model 下找 K-domination (PMDG) ................................................. 61. 圖 4.35. 在 WS model 下找 K-domination (PMDG) ................................................ 61. 圖 4.36. 在 BA model 下找 K-domination (PMDG)................................................. 62. vii.

(9) 表目錄 表 2.1. 自我穩定演算法歸類比較.......................................................................... 10. 表 2.2. 囚徒困境...................................................................................................... 11. 表 3.1. 符號定義...................................................................................................... 17. 表 3.2. 決策順序(Example1 的第一部份).............................................................. 20. 表 3.3. 決策順序(Example1 的第二部份).............................................................. 21. 表 3.4. 決策順序(Example1 的第三部份).............................................................. 22. 表 3.5. 決策順序(圖 3.5 的決策) ............................................................................ 25. 表 3.6. 決策順序(IkDG 部份) ................................................................................. 27. 表 3.7. 決策順序(Example 2 的第一部份)............................................................. 32. 表 3.8. 決策順序(Example 2 的第二部份)............................................................. 33. 表 4.1. 最小支配集合實驗的參數設定.................................................................. 42. 表 4.2. 決策次數實驗的參數設定.......................................................................... 45. 表 4.3. 最小 2-支配集合實驗的參數設定 ............................................................. 49. 表 4.4. 最小 k-支配集合實驗的參數設定 ............................................................. 56. 表 4.5. 最小多支配集合實驗的參數設定.............................................................. 57. 表 4.6. 實驗比較對象及結果整理.......................................................................... 63. viii.

(10) 第一章 簡介 在分散式系統當中,我們可以讓某些節點扮演伺服器的角色,負責提供某些 服務給鄰近的其他客戶節點。此種服務包括 message queuing、forwarding、和 data storage。在此架構下,一個問題是如何在不影響 client 被 server 服務的程度下找 出最小的伺服器節點集合。上述問題,均牽涉到古典的支配集合問題。支配集合 中的支配節點扮演了上述伺服器的角色。 我們可以將一個分散式系統中節點間的通訊拓樸邏輯視作為一個連通的無 向圖,其中節點代表 分散式系統中的 process,邊代表 processes 間存在的 ,其中 V 代表點集合、E 代表. communication links。給定一個無向圖 邊集合。如果存在一個 S,. ,使得. 集合中的每一個點其鄰居都至少. 有一個點在 S 中,則 S 被稱為支配集合(dominating set or DS),而在 S 當中的每 一個點稱為支配點、在. 中的每個點稱為非支配點。若無法再從 S 中找出. 任 何 子 集 合 符 合 支 配 集 合 的 定 義 , 則 此 時 稱 S 為 最 小 支 配 集 合 (minimal dominating set or MDS)。支配集合問題中另有所謂的最少支配集合(minimum dominating set),代表的所有支配集合中支配者數目最少的,與最小支配集合的 定義不同。 當用戶端要求的服務超過單一伺服器所能滿足的量,則必須有多台鄰近 servers 一同提供服務。多個伺服器亦能達成負載平衡與容錯的功能。因此,為了 提供更好的服務品質(QoS),支配集合自然延伸為 k-支配集合。若存在一個集合 為 k-支配集合,則每個非支配節點鄰近至少都要有 k 個支配者存在。此處的 k 對 於每個非支配點來說都是一個固定的常數。若 k =1,k-domination set 變成傳統 的 1-domination set(即支配集合)。 Harary 及 Haynes 兩位學者 [1] 又將 k-domination 進一步延伸為 k-tuple 支 1.

(11) 配集合。當圖中某些節點所組成的節點子集合,使得每個支配者及非支配者都至 少有 k 個鄰居為支配者,則此子集合稱為 k-tuple 支配集合。此處對支配節點而 言,自己亦算入支配自己的 k 個支配者中的,因此每個支配節點需要有 k-1 個鄰 近的支配者存在。事實上 1-tuple 支配集合的問題亦為傳統的 1-支配集合問題。 Jia 等人 [2] 進一步考慮多支配集合 (multi-dominating set) 問題,此為 k-tuple domination 問題的延伸,允許每個點有不同的支配需求(domination requirement)。在由多個點所組成的分散式系統中,multi-domination 可以表示成 K-domination,而 K=(k1,k2,…,kn),其中 ki 值表示節點 i 的支配需求(domination requirement)。 分散式系統中的自我穩定演算法(self-stabilizing algorithm)是指無論節點初 始狀態為何(可能為不合法(illegitimate1)),演算法保證系統最終會進入合法的狀 態(legitimate state),並且停留在合法的狀態集合(legitimate state set) [3]。自我穩 定演算法可以容忍分散式系統中的暫態錯誤(transient fault),因為在暫態錯誤發 生後,系統最終會回到達正確的狀態中。目前文獻中,可以找出最小 1-支配集合 的自我穩定演算法有 [4],[5],[6],[7],[8],而針對最小 k-支配集合問題提出 演算法有 [9],[10],[11] 其中 [10],[11] 是特別針對 2-dominating set。文獻 [12] 探討了這些相關研究,根據此份研究整理文獻,目前尚未有針對 K-domination 問題2 設計的自我穩定演法提出。 傳統上自我穩定演算法是由 Dijkstra [13] 提出的 guarded command 控制結 構來表示。此結構有助於程式正確性的驗證。本篇論文在賽局理論(Game Theory) 的架構下,提出自我穩定演算法解決最小多支配集合問題。賽局理論又稱為博奕 理論,是一種策略思考,藉由系統的數理分析方法,尋求在利害衝突下的最佳因 應策略,透過策略推估,尋求自己的最大利益。賽局理論被應用在無線網路中的. 1 2. 代表目前系統處於不正確的狀態 [2] 提出的方法為隨機演算法,而不是自我穩定演算法 2.

(12) 資源(電力/頻道)分配的問題、封包轉傳的問題(packet forwarding)和異質性網路下 競爭頻寬的網路選擇問題(network selection) [14], [15], [16]。 一個賽局由一個參與者集合、每個參與者的策略集合、每個參與者的效用函 數(utility function)定義所組成。在我們提出的方法中,網路中的每個節點被視為 賽局中的參與者,參與者的策略集合為決定是否成為支配者。參與者會依據鄰近 參與者的 local state (local information),做出對自己較有利的決策。鄰近參與者間 彼此的利益是衝突的。參與者可能因為鄰近某個參與者作了決策,而改變本身的 決策與自己的 local state。 根據我們之前建立在賽局理論的研究成果[17],此篇論文提出在分散式系統 環境中找出最小 k-支配集合的自我穩定演算法。在此設計中,每一個節點都是尋 求獲得自身最大利益的參與者。根據賽局理論,此自我穩定演算法終究會到達穩 定。我們並且證明演算法到達穩定時,找出的集合必定為最小 k-支配集合。 我們進一步延伸此自我穩定演算法以找最小多支配集合,即每個節點允許擁 有自己的支配需求,且無論是支配者或非支配者都必須滿足自身的支配需求,另 外我們無法再從找出的多支配集合中找出任何子集合仍然為多支配集合。 在實驗模擬部分,我們分別模擬在 Unit Disk Graph、ER model、WS model、 與 BA model 四種不同的拓樸邏輯下,針對最小支配集合、最小 2-支配集合、與 最小 k-支配集合問題,比較我們提出的自我穩定演算法和傳統的自我穩定演算法 的效能差異。模擬結果顯示我們的方法找出的支配集合都擁有最少的支配節點個 數。我們也針對我們提出的方法進行多支配集合的實驗。 這一章我們大略介紹了在分散式系統的架構下所遇到的問題,說明最小 1支配集合問題、最小 k-支配集合問題、最小多支配集合問題,相關文獻及我們的 研究方向。第二章我們將對支配集合、最小支配集合、最小多支配集合做更詳細 的定義,並對相關文獻做更詳盡的介紹。第三章說明我們如何利用賽局理論的基 礎提出自我穩定演算法來解決最小 k-支配集合與最小多支配集合問題。第四章則 3.

(13) 是實驗模擬以及不同方法之間的效能比較與分析。第五章對整篇論文做總結。. 4.

(14) 第二章 背景知識與相關研究 這一章將針對最小 k-支配集合、最小多支配集合問題與賽局理論做介紹。第 一部分說明在分散式系統中何謂支配集合,以及在系統中常見的控制系統模型, 最後是介紹何謂自我穩定演算法,及其他研究者為解決最小支配集合、最小 2支配集合和最小 k-支配集合所提出的自我穩定演算法。第二部份簡介何謂賽局理 論,接下來是賽局的分類,最後介紹納許平衡。. 2.1 支配集合問題 . 支配集合(dominating set): 假設有一個連通無向圖(如圖 2.1). ,V 代表所有的點,E 代表所. 有的邊。Dk 為 V 的一個子集合,使得不在 Dk 內的點至少有一個鄰居在 Dk 中, 則 Dk 稱為一個支配集合。圖 2.1 中,{P1,P3,P5,P6}為一個支配集合。 . 最小支配集合(minimal dominating set): 若在支配集合 Dk 中,無法去掉 Dk 中的任何一個點而仍符合支配集合的定義,. 則 Dk 稱為一個最小支配集合。也就是說,Dk 的任何 Proper 子集合均無法符合支 配集合的條件。圖 2.1 中,{P1,P3,P4,P6}為一個最小支配集合。 . 最少支配集合(minimum dominating set): 在一個無向圖中,擁有最少點個數的支配集合稱為最少支配集合。圖 2.1 中,. {P2,P5}為一個最少支配集合。 . k-支配集合: 若點集合 Dk 滿足任何不在 Dk 中的點至少鄰近 k 個在支配集合中的點,則. Dk 稱為一個 k-支配集合,其中 k 為一個常數。k-支配集合又能進一步定義為最小 k-支配集合與最少 k-支配集合。所謂最小 k-支配集合,代表無法再從 k-支配集合 5.

(15) 中找出 Proper 子集合仍然符合 k-支配集合的條件。如圖一。若當 k = 2 時,{P1, P3,P4,P6}為一個最小 2-支配集合。而最少 k-支配集合是給定圖形中擁有最少 點數目的 k-支配集合。如圖 2.1 中,{P1,P2,P5,P6}為一個最少 2-支配集合。 . 多支配集合 (K-domination set): 若給定點集合 Dk,使得每一個節點 i (無論是否屬於 Dk)都滿足鄰近至少有. ki 個支配節點存在,並且不同的節點 i 可以有不同的 ki 值需求,則 Dk 稱為一個多 支配集合。若無法在 Dk 中找出 Proper 子集合使得亦符合 K-domination set 的定義, 則 Dk 稱為一個最小多支配集合。如圖 2.1 中,假設每個點需求 k 為:{1,2,1,2, 2,1},則{P2,P4,P6}為一個最小多支配集合。. P3. P1. P2. P5. P6. P4. 圖 2.1 simple graph. 2.2 自我穩定演算法 2.2.1 定義 一個自我穩定的系統中無論初始狀態為何,皆能保證在有限的步驟內達到穩 定的合法狀態。此處何謂合法狀態是依此系統的設計而定。若系統設計的目的要 找出最小 k-支配集合,則在合法狀態中當時所找出的集合必須是最小 k-支配集合。 若系統可能永久停留在不合法的狀態,則不能稱為自我穩定系統。 分散式系統中,每個節點自己的 local 變數值構成自己的 local state。通常一 6.

(16) 個自我穩定演算法是由多條規則(rule)所組成。每條 rule 包含兩個部分,分別為 先決條件和對應的動作。系統中的每個節點會先去檢查是否符合演算法中某條規 則的先決條件。若有符合,則節點執行相對應的動作。若有多條規則的先決條件 均符合,則會執行其中某一條規則的動作。動作會改變 local 變數的值(例如變為 支配者或非支配者)。. 2.2.2 控制運算模型 自我穩定演算法運作方式,受系統的運算模型(execution model)影響。運算 模型假設分散式系統中有一個控制系統(daemon),在每單位時間或每回合中挑選 一個或多個至少符合一項規則先決條件的節點,執行對應的動作。被挑選到的節 點稱為特權節點(privileged node)。當整個系統已沒有任何特權節點,則表示系統 已到達穩定狀態。常見的控制系統模型有下列幾種: (1) 集中式(central daemon) : 集中式控制系統在每單位時間或每回合中只挑選一個特權節點。 (2) 分散式(distributed daemon) : 分散式控制系統在每回合或每單位時間中,隨意挑選若干個節點作為特權節 點。特權節點的數目介於 1 到所有的節點之間。 (3) 同步式(synchronous daemon): 每回合中所有節點皆為特權節點。可視為分散式控制系統的一個特例。 要設計一個自我穩定演算法,無論假設分散式或同步式的控制系統,會面臨 的挑戰是多個 節點可能會因為符合演算法規則,而同時變成支配節點或同時變 為非支配節點,並因此造成系統無法達到穩定狀態。要避免 節點 同步改變 local state 的行為,必須打破節點之間的對稱性。有些論文使用機率的方式 [2] 來打 破對稱性。當相鄰的節點同時成為特權節點時,則用機率的方式隨機決定哪個節 7.

(17) 點可以改變狀態。也有其它論文 [5],[6],[7],[8] 一開始會先分配給每個節點 一個唯一的識別碼(identifier or ID),之後再依據識別碼來判斷何者可以成為特權 節點。其中 [6] 以識別碼大的為主、[5],[7],[8] 以識別碼小的為主。. 2.3 支配集合問題相關自我穩定演算法 針對最小支配集合(minimal dominating set)問題,已有許多自我穩定演算法 被提出。由 Hedetniemi 等人所提出的演算法 [4] 使用集中式的模型。每個節點 有兩個 local variable,一個用來記錄此節點是否屬於最小支配集合,另一個為 pointer,為非支配者用來指向其鄰近唯一的支配者。例如假設節點 i 為非支配者, 且其鄰居中節點 j 為唯一的支配者,則節點 j 支配 節點 i,此時節點 i 的 pointer 會指向節點 j,而節點 i 為 節點 j 的 private neighbor。演算法運作規則如下: (1). 當非支配者所有鄰居也都為非支配者時,則其變為支配者。(2).當支配者沒有 private neighbor 且鄰近至少有一個節點為支配點,則其變為非支配者。此演算法 保證到達穩定狀態,原因是所有從支配者變為非支配者的節點不會再改變自己的 角色。 由 Z. Xu 等人 [5] 提出自我穩定演算法使用同步式的模型。每個節點有兩 個 local variable 分別用來記錄自己是否為支配點以及鄰居支配自己的狀況。另 外每個節點都有唯一的 ID,用來避免在同步模式下,節點同時都做動作的情況, 以免系統無法到達穩定狀態。 Kakugawa 與 Masuzawa 兩位學者 [6] 提出的自我穩定演算法也是使用 synchronous daemon。他們導入了 safe convergence 的觀念,確保系統可以快速進 入 legitimate configuration (可能是支配集合,但不一定是最小支配集合) 就不會 再回到不合法的狀態(變成不為支配集合)。此演算法最終會進入合法且最佳的狀 態(最小支配集合),而找出的最小支配集合也為 independent (鄰近的節點之間不 會有兩個支配者同時存在)。此演算法使用 identifier 來打破對稱,避免鄰近的節 點同時做動作(都變為支配者 or 非支配者)而導致系統不穩定。 8.

(18) 由Volker Turau [7] 提出的自我穩定演算法,假設了分散式的模型。每個點 都有兩個 local variable,一個用來記錄節點本身是否在最小支配集合中,另一個 dependency pointer是非支配節點用來記錄鄰近唯一的支配者。演算法的運作規則 如下 : (1).當非支配者想變為支配者或支配者想變為非支配者之前必須先把 local state 改為 WAIT(代表節點 想改變 local state)。 當非支配點 的 狀態為 WAIT 、沒有鄰居為支配節點、且本身的 ID 比鄰近所有想變為支配者的節點都 來得小,則可變為支配者。(2).當支配者的狀態為 WAIT、至少鄰近一個支配者、 且其本身不需支配任何鄰居節點,則可變為非支配者。 文獻 [8] 在 分散式的模型 之下,也使用識別碼來打破對稱的情況,避免 系統無法到達穩定的情況發生。 由Kamei與Kakugawa [9] 提出了自我穩定演算法解決 k-支配集合問題。他 們的主要想法是先找出 maximal independent set (MIS),然後再從不在 MIS 中的 節點中找出最小k-支配集合。此演算法假設使用同步的模式,以 ID 大的節點優 先來避免同步模式下系統無法穩定的情況。如果圖形中的節點最小分支度小於 k ,則此演算法最終找出的集合為最小k-支配集合。若是節點最小分支度大於或 等於 k,則找出的集合為近似於 最少 k-支配集合。 Huang等人曾針對 最小 2-支配集合問題提出自我穩定演算法[10],[11]。文 獻 [10] 假設 分散式的模型,使用ID來打破對稱的問題。文獻 [11] 的演算法使 用集中式的模型。系統最終穩定時,每個非支配者至少鄰近2個支配者。 在k-tuple domination set問題中,無論支配者或非支配者都要求至少有 k 個 鄰居為支配者。對支配者而言,本身是支配者這件事是有計算在內的。如果不計 入自己為支配者,則1-tuple domination problem 變成 total domination set problem [18]。Goddard 等人 [19] 曾提出自我穩定演算法來解決 minimal total domination set problem。 Jia等人 [2] 提出distributed randomized algorithm作為尋找minimum size的支 9.

(19) 配集合的趨近作法。作者並延伸他們的作法至處理multi-domination。演算法假設 同步式的模型,使用機率的方式打破相鄰節點的對稱行為,避免系統無法達到穩 定狀態。但是此演算法並非自我穩定演算法。上述的相關研究的分類比較如表2.1 所示。另外由Liang等人 [20] 所提出的方法作為尋找最小支配集合的作法,使用 集中式的模型,但是不屬於自我穩定演算法。 而我們最終要找的最小多支配集合,根據文獻 [12] 研究整理,目前尚未有 針對K-domination問題所設計的自我穩定演算法提出。. 表 2.1 自我穩定演算法歸類比較 參考來源. 結果. 需求拓樸邏輯. Deamon. Hedetniemi et al.[4]. DS. Arbitrary. Central. Hedetniemi et al.[4]. MDS. Arbitrary. Central. Xu et al.[5]. MDS. Arbitrary. Synchronous. Kakugawa and Masuzawa[6]. MDS. Arbitrary. Synchronous. Turau [7]. MDS. Arbitrary. Distributed. Goddard et al. [8]. MDS. Arbitrary. Distributed. Kamei and Kakugawa[9]. MKDS. Arbitrary. Synchronous. Huang et al.[10]. M2DS. Arbitrary. Distributed. Huang et al.[11]. M2DS. Arbitrary. Central. Goddard et al.[18]. MTDS. Arbitrary. Central. 10.

(20) 2.4 賽局理論(Game Theory) 2.4.1 賽局理論簡介 賽局理論又可稱為博弈理論或是互動決策理論,是一門研究多人決策問題的 數理方法。在經濟學、電腦科學、生物學、軍事戰略…等有著廣泛的應用。在一 場 賽 局 中 參 與 者 (Player) 各 自 有 著 不 同 的 目 標 或 利 益 , 並 藉 由 選 擇 策 略 (Strategy) 獲得利益 (Utility)。參與者所能獲得的利益值,不但取決於其所選擇 的策略,也取決於其他參與者所選擇的策略。為了使自己的利益可以最大化,他 們會考慮對手的各種可能行動,並且選擇對自己最有利的策略。賽局理論藉由數 理模型來決定參與者所採取的策略,以及採取策略後所產生的結果。底下將介紹 賽局理論中最著名的範例 - 囚徒困境 (Prisoner’s Dilemma) 。 在某件案子中警方逮捕甲、乙兩名嫌疑犯,但沒有足夠證據指控二人有罪。 於是警方分開囚禁嫌疑犯,分別和二人見面,並向雙方提供以下相同的選擇: . 若一人認罪並作證檢控對方,而對方保持沉默,此人將即時獲釋,沉默者將 判監 10 年。. . 若二人都保持沉默,則二人同樣判監半年。. . 若二人都認罪,則二人同樣判監 2 年。. 我們可以用表 2.2 概述甲、乙之間的可能行為模式。 表 2.2 囚徒困境 甲沉默. 甲認罪. 乙沉默. 兩人同服刑半年. 甲獲釋;乙服刑 10 年. 乙認罪. 甲服刑 10 年;乙獲釋. 兩人同服刑 2 年. 11.

(21) 假定每個參與者(即「囚徒」)都是利己的,即都尋求最大自身利益。兩名 囚徒由於隔絕監禁,並不知道對方選擇,所以就個人的理性選擇而言,認罪所得 刑期,總比沉默要來得低。最終二個人在理性思考後都會得出相同的結論就是選 擇認罪,但是從整體來看,甲、乙雙方皆認罪並不是最好的選擇。賽局理論就是 在研究參與者之間如何選擇策略進而相互影響並在最終中達到不同的結果。. 2.4.2 賽局的分類 我們可以根據賽局進行的方式或者是數理模型設定的不同來將賽局做分 類 : . 合作/非合作賽局 (Cooperative/Non-cooperative Games) : 一般而言,合作與 非合作賽局的分別在於參與者之間是否有一個具約束力的協議,如果有就是 合作賽局,否則就是非合作賽局。這裡並不是說非合作賽局中的參與者就不 能合作,如果賽局的設計者能夠讓參與者以理性自私的方式並且不以具約束 力的協議限制他們的行為,而又能達到合作的效果,這也是可行的。由於非 合作賽局的現實情境遠比合作賽局來的多,而且在理論的發展上也比合作賽 局來的成熟,因此大部分的學者皆是以非合作賽局為研究對象。. . 靜態/動態賽局 (Static/Dynamic Games) : 在靜態賽局中,參與者必須同時 選擇他們的決策。而動態賽局則是參與者在選擇策略時有先後順序之分,並 觀察前面參與者的行動來選擇適當的策略。. . 完全/非完全資訊賽局 (Complete/Incomplete Information Games) : 若每一 位參與者完全了解其他參與者所有可以選擇的策略和利益我們就稱為完全 資訊賽局;相反的,若是對於策略和利益了解的不夠精確或者只是了解部分 的參與者,而非所有參與者,稱為非完全資訊賽局。. . 完美/非完美資訊賽局(Perfect/Imperfect Information Games) : 在賽局中,若 每個參與者都知道所有其它參與者做的決策資訊,則稱為完美資訊的賽局 12.

(22) (perfect information game);相反的,若有參與者無法知道所有其它參與者做 的決策資訊,則稱為不完美資訊賽局(imperfect information game)。 . 單次/多次賽局 (One-shot/Repeat Games) : 若賽局只進行一次稱為單次賽 局,如果賽局會重複進行多次則稱為多次賽局。. 2.4.3 賽局的定義 一場賽局可以由下列數個部份所組成 : . 參與者集合 P  { p1 , p2 ,, pi ,, pn } :賽局中所有參與者所組成的集合,如囚 徒困境中的甲、乙二人。n 代表參與者的總數, pi 表示第 i 個參與者。. . 策略集合 Si  {s1 , s2 ,, sm } :賽局中參與者 pi 所有可能選擇的策略所組成的集 合。每個參與者的策略集合可以不同,而在囚徒困境中甲、乙的策略集合皆 為 {認罪、沉默} 。. . 策略組態 Y  S1  S2   Sn :將每個參與者的策略集合做卡氏積 (Cartesian product) ,即是所有參與者的策略組合。以囚徒困境為例,該例的策略組態 就是 {(認罪、認罪), (認罪、沉默), (沉默、認罪), (沉默、沉默)} 四種。. . 策略向量 C  (c1 , c2 ,, ci ,, cn ) : C  Y,其中 ci 代表賽局中 pi 所選擇的策略。 例如 pi 選擇了策略 s2 ,則 ci  s2 。而所有參與者選擇的策略組成一策略向量 C。. . 效用函數 ui (C ) 或稱 ui (ci , Ci ) :參與者 pi 在某個策略向量 C 中所能獲得的利 益。 Ci 代表除了 pi 之外其他人所選擇的策略。而根據不同研究者對效用函 數的定義並不一致,有的學者將效用函數定義為成本支出,因此希望愈小愈 好,例如囚徒困境中嫌疑犯所需服刑的年數;有的學者則是將效用函數視為 獲利,因此希望愈大愈好。而我們的方法則是將效用函數定義為獲利。 在非合作賽局中存在一種特殊的策略向量,在此策略向量下沒有任何一個參. 與者能夠因為獨自改變自身的策略而獲得更高的利益,此類策略向量被稱之為納 13.

(23) 許平衡 (Nash Equilibrium) 。 Definition 1 納許平衡 若 pi , i  1,, n. ,使得 ui (ci , Ci )  ui (ci ' , Ci ) ,則 C  (c1 , c2 ,, cn ) 為納許平. 衡 賽局中每個參與者所獲得的效益跟其他參與者所做的決策有關,賽局在參與 者彼此相互影響之下有可能沒有辦法達到穩定狀態。因此賽局中是否存在納許平 衡通常也被視為賽局設計優劣的準則,而且一個賽局可能存在一個以上納許平 衡,並非唯一。在囚徒困境的例子中,最後甲、乙二人皆選擇認罪,(認罪、認 罪)這個策略向量就是納許平衡,甲與乙皆不可能因為獨自改變自己的選擇而縮 短服刑的年數。另外納許平衡與整個系統或是問題的最佳解並非若且為若的關 係。 我們先前的研究 [17] 已經以賽局的方式提出了針對最小 k-支配集合問題以 及最小多支配集合問題的效用函數。此效用函數會使得賽局到達納許平衡點,從 而也證明了我們下一章所將提出的自我穩定演算法也會到達穩定狀態。. 14.

(24) 第三章 最小多支配集合自我穩定演算法 3.1 最小 k-支配集合的賽局設計(PkDG)[17] 我們假設有 n 個節點作為賽局的參與者(player),這裡我們希望找出最小 k支配集合,使得每個節點都符合自身的支配需求。此賽局定義如下:.  參與者集合 P = {p1,p2,…,pn}:總共有 n 個節點作為參與者,分別為 p1,p2,…,pn。.  策略集合 Si = {0,1} : 0 代表非支配者,而 1 代表為支配者。. 在定義效用函數之前先定義兩個函數,第一個為式子(3.1),代表一個節點的 open neighbor 集合 (節點 i 的鄰近節點所形成的集合,不包括 process i) 中 cj=1 的節點個數總和。C = (c1,c2,….,cn),為某組策略向量,式子(3.2)代表若一個節點 變為支配節點,支配了一個還未滿足支配需求的非支配節點,其所能獲得的利益 值。當將被支配的非支配節點還未到達支配需求 k,此時節點變為支配者來支配 它,才可獲得利益值α。若已超過支配需求,支配它只是浪費多餘的成本 ,無 法獲得利益值,所以節點不會想變為支配者。其中 0< <α,如此一來若節點 只支配一個節點也會想變為支配者。 Ni 為 pi 的鄰居節點所形成的集合。若 pi 變為支配者(ci=1)且鄰近節點個數不 到 k 個,代表已無法滿足支配需求 k,所以只好自己變為支配者。而它所獲得的 利益值為支配自己的利益值α減去成本 作為效用函數(3.3)。若 pi 變為支配者 (ci=1)且鄰近節點個數大於或等於 k 個,它會獲得在其支配範圍內尚未滿足支配 需求的非支配節點的利益值,將這些利益值加總並減去變為支配者所消耗的成本 做為效用函數(3.3),若 pi 為非支配者(ci=0),它將不會得到任何利益值。pi 希望 15.

(25) 達到 max(. ),所以 pi 會選擇利益值最大的決策。. (3.1). (3.2). (3.3). 3.2 演算法設計 每個節點 i 有兩個 local variables。其中一個變數為 x(i),為一個布林值,記 錄節點 i 是否為支配點。當 x(i)為 true 時表示節點 i 為支配節點,當 x(i)為 false 時表示節點 i 為非支配節點。另一個變數為 g(i),紀錄節點 i 是否滿足支配需求, 共分成三種狀態: UNDER 代表節點 i 目前不為支配者且鄰近的支配者數目不到 ki 個、EQUAL 代表節點 i 目前不為支配者且鄰近的支配者數目剛好為 ki 個、OVER 代表節點 i 為支配者或者 i 鄰近的支配者數目超過 ki 個。如同大多數的研究,我 們假設每個節點可以直接存取鄰居節點的 local variables。演算法中的 Ni 為節點 i 的 open neighbors 集合,pj 代表某個節點 j,k 為每個節點固定的支配需求。Mi 為節點 i 的 close neighbors 集合(節點 i 與它的所有 open neighbor 所形成的集合), ki 為 process i 的支配需求。上述符號定義整理於表 3.1。假設系統中每個節點都 加入支配集合,則一定可以滿足支配集合的需求。我們將在 3.3 介紹最小 k-支配 集合的自我穩定演算法。3.6 介紹最小多支配集合的自我穩定演算法。. 16.

(26) 表 3.1 符號定義 符號. 意義. pj. 某個節點 j. Ni. 節點 i 的 open neighbor. Mi. 節點 i 的 close neighbor. x(i). 節點 i 是否在支配集合中. g(i). 節點 i 是否滿足支配需求. ki. 節點 i 的支配需求. 3.3 最小 k-支配集合的自我穩定演算法(IkDG) 我們假設最小 k-支配集合問題中的 k 為一個常數。假設在分散式系統下,使 用集中式的執行模型。每個節點都是根據鄰近節點的 x(i)值來更新自己的 g(i)值, 主要在圖 3.1 中 R1~R3 的規則中來判斷。而每個節點的 x(i)值是根據鄰居節點的 g(i)值來決定是否要改變,主要在圖 3.1 中 R4~R6 的規則中來判斷。. 圖 3.1 最小 k-支配集合演算法 接下來介紹每條規則設計的用意。. 17.

(27)  演算法規則說明: R1: 若節點 i 的所有鄰居節點 j (不包括節點 i) 為支配者的數目小於 k,且節點 i 不 為支配者,且 g(i) 值不為 UNDER,則把 g(i) 改為 UNDER。 (代表節點 i 鄰近的支配節點不滿 k 個,且本身也不為支配者,則需要被其它節 點支配或自己變為支配者,因此節點會想把 g(i) 變為 UNDER,等於在賽局中, 讓其它參與者知道,來支配它是可以獲得利益值的)。. R2: 若節點 i 的所有鄰居節點 j (不包括節點 i) 為支配者的數目等於 k,且節點 i 不 為支配者,且 g(i) 值不為 EQUAL,則把 g(i) 改為 EQUAL。 (代表節點 i 鄰近的支配節點剛好 k 個,且本身也不為支配者,則無需被其它節 點支配或自己變為支配者,因此節點會想把 g(i) 變為 EQUAL,等於在賽局中, 讓其它參與者知道,它的支配需求剛好滿足,支配它是無法獲得利益值的)。. R3: 若節點 i 的所有鄰居節點 j 為支配者的數目大於 k 或節點 i 不為支配者,且 g(i) 值不為 OVER,則把 g(i) 改為 OVER。 (代表節點 i 鄰近的支配節點超過 k 個或本身為支配者,則無需被其它節點支配, 因此節點會想把 g(i) 變為 OVER,等於在賽局中,讓其它參與者知道,它超過 支配需求,支配它是無法獲得利益值的)。. R4: 若節點 i 的分支度小於 k,且為非支配者,則節點 i 可變為支配者。 (因為節點 i 根本無法有 k 個支配者鄰居來支配它,因此只能由節點本身變為支 18.

(28) 配者來支配自己,等於賽局中,支配自己可以獲得 - 的利益值,則會因為想獲 得利益而變為支配者)。. R5: 若節點 i 的分支度大於或等於 k,且鄰居存在有一個節點 j,其 g(j) 為 UNDER, 且節點 i 為非支配者,則可變為支配者。 (因為節點 i 知道鄰居有節點其 g(j) = UNDER,則若支配它可以獲得利益值,以 賽局角度來看,節點 i 可獲得利益,因此節點會做決策來變為支配者)。. R6: 若節點 i 的分支度大於或等於 k,且鄰近所有節點 j,其 g(j) 都為 OVER,且節 節 i 為支配者,則可變為非支配者。 (因為支配節點 i 知道鄰居所有節點其 g(j) = OVER,則若繼續支配它們則無法再 獲得利益值,以賽局角度來看,節點 i 因無法獲利,所以會做決策來變為非支配 者,來節省不必要的 成本支出)。. 19.

(29) 3.3.1 演算法運作範例說明 圖 3.2 為初始圖形(Example 1),假設 k = 2,總共 6 個節點,每個節點的初始 x(i) = false、g(i) = UNDER。若經過表 3.2 的決策順序後會變為圖 3.3。黑色節點 代表支配節點。再經過表 3.3 的順序則變為圖 3.4。最後經過表 3.4 的順序,圖 3.5 即為穩定狀態時,所找出的最小 2-支配集合:{P1,P2,P5,P6}。. P3. P1. P2. g(1) = UNDER. g(2) = UNDER. g(3) = UNDER. P4. P5. P6. g(5) = UNDER. g(6) = UNDER. g(4) = UNDER. 圖 3.2 初始圖形(Example1). 表 3.2 決策順序(Example1 的第一部份) 節點編號 規則. 狀態變化. P3. R5. x(3)=true. P2. R5. x(2)=true. P6. R4. x(6)=true. P2. R3. g(2)=OVER. P1. R4. x(1)=true. P4. R5. x(4)=true. P5. R5. x(5)=true. P3. R3. g(3)=OVER. 20.

(30) P3. P1. P2. g(3) = OVER. g(1) = UNDER. g(2) = OVER. P4. P5. g(5) = UNDER. P6. g(6) = UNDER. g(4) = UNDER. 圖 3.3 Example1 第一部份後的圖形. 表 3.3 決策順序(Example1 的第二部份) 節點編號 規則. 狀態變化. P4. R3. g(4)=OVER. P5. R3. g(5)=OVER. P4. R6. x(4)=false. P3. R6. x(3)=false. P6. R3. g(6)=OVER. P1. R3. g(1)=OVER. P5. R6. x(5)=false. P4. R1. g(4)=UNDER. P3. P1. g(1) = OVER. P2. g(2) = OVER. g(3) = OVER. P4. P5. P6. g(5) = OVER. g(6) = OVER. g(4) = UNDER. 圖 3.4 Example1 第二部份後的圖形 21.

(31) 表 3.4 決策順序(Example1 的第三部份) 節點編號 規則. 狀態變化. P3. R1. g(3)=UNDER. P5. R1. g(5)=UNDER. P5. R5. x(5)=true. P5. R3. g(5)=OVER. P4. R2. g(4)=EQUAL. P3. R2. g(3)=EQUAL. P3. P1. g(1) = OVER. P2. g(2) = OVER. g(3) = EQUAL. P4. P5. P6. g(5) = OVER. g(6) = OVER. g(4) = EQUAL. 圖 3.5 Example1 到達穩定後的圖形. 3.3.2 最小 k-支配集合的證明 我們先前的研究 [17] 已經以賽局的方式提出了針對最小 k-支配集合問題的 效用函數。此效用函數會使得賽局到達納許平衡點。以下我們將證明當演算法到 達穩定時,所找出的支配集合必定是最小 k-支配集合。. Lemma 1 當演算法到達穩定時,每個節點 pi 的 g(i)值必為正確. 假設演算法到達穩定時,某個節點 pi 的 g(i)值不為正確。 對此節點 pi 而言,演算法中的 R1~R3 任一條規則會成立,所以會更新 g(i) 22.

(32) 為正確值,因此演算法還未到達穩定。 與起初假設矛盾。 故可證明,當演算法到達穩定時,每個節點 pi 的 g(i)值必為正確值。. Lemma 2 當演算法到達穩定時,必定找出最小 k-支配集合. 假設演算法停止時,並未找出最小 k-支配集合 則至少存在一個多餘的節點 pi,將此節點從支配集合中拿掉,整個集合仍為 最小 k-支配集合。 根據 lemma 1,此節點 pi 的所有鄰近節點 pj 的 g(j)值皆為正確,代表節點 pi 會滿足演算法中的 R 6。所以代表演算法尚未達到穩定。 與起初假設矛盾。 故可證明,當演算法到達穩定時,必定找出最小 k-支配集合。. 23.

(33) 3.4 賽局與演算法的差異 圖 3.1 的演算法中,每個節點要更新的 x(i)或 g(i)值都與其鄰居節點的 local variable 直接相關,而又跟鄰居的鄰居的 local variable 間接相關。自我穩定演算 法的運作模式是,先檢查是否符合演算法中某條規則的先決條件。若有符合,則 執行相對應的動作。若有多條規則的先決條件均符合,則只會執行其中某一條規 則的動作。因為在圖 3.1 的演算法中,x(i)和 g(i)的值的更新動作分別寫在不同的 規則中,所以可能導致節點的 x(i)和 g(i)的值不一致(inconsistent)。結果就是節點 可能會參考了自己或鄰居節點未更新的 g(i)值來更新自己的 x(i),造成演算法進 入暫時性的錯誤狀態。雖然如此,自我穩定演算法可以保證不管演算法初始狀態 為何或是否進入暫時性的錯誤狀態,都能夠保證可在有限時間內達到穩定而正確 的狀態。舉例而言, 圖 3.6 是一個 5 個節點的範例,支配需求為 2。若依照表 3.5 的決策順序,變為圖 3.7。此時 P1、P4 和 P5 變為支配者(如圖 3.7),則它們 的 g(i)值皆應為 OVER。因為一次只會執行其中某一條規則的動作,所以導致變 數值不一致的情況。 在傳統完美資訊賽局設計中,只要任何一個參與者做了決策,所有其它參 與者都可以根據此最新的決策資訊來進行後續決策。相較之下,圖 3.1 演算法像 是實作一個非完美資訊賽局。一般而言,此非完美資訊賽局可以探索更多可能的 問題解,效能反而比完美資訊賽局的方法來得好。以下我們舉例來說明。 圖 3.8 為非完美資訊賽局的某個初始狀態或執行至一半的中間暫態。假設 k = 1,P1~P10 代表 10 個節點,黑色節點代表為支配節點,g 值代表演算法中的 g(i), 初始狀態有 UNDER、OVER,支配者(x(i) = true 的節點)為:{P1,P2,P3,P4, P9,P10}。若依照表 3.6 的決策順序,非完美資訊賽局最終得到的最小支配集合 為:{P3,P4,P8}。 圖 3.9 為完美資訊賽局中對應圖 3.8 的狀態。此時的支配者集合(ci=1 的節點) 同樣為{P1,P2,P3,P4,P9,P10}。完美資訊賽局最終到達穩定時的最小支配 24.

(34) 集合內必定有 4 個節點。原因是右邊的節點 1、3、5、7、8、10 中,節點 1、3、 10 一定為支配者(因為可獲得利益,所以不會再變為非支配者),而節點 5、7、8 一定為非支配者(若變為支配者無法獲得利益)。再來以剩餘節點 2、4、6、9 來 看,節點 2 一定為非支配者,而節點 4、6、9 只要有一個為支配者即可滿足支配 集合的定義。因此完美資訊賽局可能得到的最小支配集合為{P1,P3,P4,P10}、 {P1,P3,P6,P10}、或{P1,P3,P9,P10}。 上述例子中,完美資訊賽局設計最少需要 4 個支配節點,但自我穩定演算法(非 完美資訊賽局)是可以找出三個支配節點的解。此例子說明了為何一般而言,自 我穩定演算法的效能會比賽局設計的結果來的好。. P1. g(1) =UNDER. P3. P2. P5. P4. g(3) =OVER. g(2) =EQUAL. g(5) =UNDER g(4) = UNDER. 圖 3.6 節點的 x(i) 和 g(i)值不一致. 表 3.5 決策順序(圖 3.5 的決策) 節點編號 規則. 狀態變化. P7. R5. x(7)=true. P1. R5. x(1)=true. P7. R3. g(7)=OVER. 25.

(35) P1. g(1) =UNDER. P3. P2. P5. P4. g(3) =OVER. g(2) =EQUAL. g(5) =UNDER g(4) = UNDER. 圖 3.7 (圖 3.5)決策後的圖形. g(1) = OVER P 1. g(4) = OVER. P4. g(2) = UNDER P 2. g(9) = OVER P 9. P6. P3. g(5) = UNDER. g(3) = OVER. g(7) = UNDER. P7. g(6) = UNDER. P 10. P8. g(10) = UNDER. g(8) = UNDER. 圖 3.8 執行 IkDG 前的初始狀態. P1. P4. P3. P2. P9. P6. P 10. P7. P8. 圖 3.9 執行 PkDG 前的初始狀態. 26. P5. P5.

(36) 表 3.6 決策順序(IkDG 部份) 節點編號 規則. 狀態變化. P8. R5. x(8)=true. P6. R5. x(6)=true. P7. R5. x(7)=true. P6. R3. g(6)=OVER. P5. R3. g(5)=OVER. P10. R3. g(10)=OVER. P7. R6. x(7)=false. P2. R6. x(2)=false. P9. R6. x(9)=false. P8. R3. g(8)=OVER. P7. R2. g(7)=EQUAL. P10. R6. x(10)=false. P10. R2. g(10)=EQUAL. P2. R3. g(2)=OVER. P6. R6. x(6)=false. P9. R2. g(9)=EQUAL. P1. R6. x(1)=false. P5. R2. g(5)=EQUAL. P2. R2. g(2)=EQUAL. 不過,若以決策次數來比較,非完美資訊賽局演算法所需的決策次數會遠比 完美資訊賽局來得多,收斂時間相對就會比較久。所以我們提出的自我穩定演算 法事實上是以時間來換取效能。此部分的效能分析將在第四章中呈現。 27.

(37) 3.5 最小多支配集合的賽局設計(PMDG)[17] 在本節與下節我們將介紹最小多支配集合的賽局做法及最小多支配集合的 自我穩定演算法。假設有 n 個節點作為賽局的參與者(player),這裡我們希望找 出最小多支配集合,使得每個節點都符合自身的支配需求(ki)。此賽局定義如下:.  參與者集合 P = {p1,p2,…,pn}:總共有 n 個節點作為參與者,分別為 p1,p2,…,pn。.  策略集合 Si = {0,1} : 0 代表非支配者,而 1 代表為支配者。. 在定義效用函數之前先定義兩個函數,第一個為式子(3.4),代表一個節點的 close neighbor 集合 (節點 i 的鄰近節點所形成的集合,包括節點 i)其 cj=1 的節點 個數總和。C = (c1,c2,….,cn),為某組策略向量,式子(3.5)若一個節點變為支配節 點,支配了一個還未滿足自身支配需求的節點(可為支配者或非支配者),其所能 獲得的利益值。當將被支配的節點還未到達自身的支配需求 ki,此時節點變為支 配者來支配它,才可獲得利益值α。若已超過自身支配需求,支配它只是浪費多 餘的成本 ,無法獲得利益值,所以節點不會想變為支配者。其中 0< <α,如 此一來若節點只支配一個節點也會想變為支配者。 Mi 為 pi 的鄰居節點和 pi 所形成的集合。若 pi 變為支配者(ci=1),它會獲得在 其支配範圍內尚未滿足支配需求的節點的利益值,將這些利益值加總並減去變為 支配者所消耗的成本 做為效用函數(3.6),若 pi 為非支配者(ci=0),它將不會得到 任何利益值。pi 希望達到 max(. ),所以 pi 會選擇利益值最大的決策。. (3.4). 28.

(38) (3.5). (3.6). 3.6 最小多支配集合的自我穩定演算法(IMDG) 假設在分散式系統下,使用集中式的執行模型。每個節點都是根據鄰近節點 的 x(i)值來更新自己的 g(i)值,主要在圖 3.10 中 R1~R3 的規則中來判斷。而每個 節點的 x(i)值是根據鄰居節點的 g(i)值來決定是否要改變,主要在圖 3.10 中 R4~R5 的規則中來判斷。. 圖 3.10 最小多支配集合演算法. 接下來介紹每條規則設計的用意。. . 演算法規則說明 R1: 節點 i 的所有鄰居節點 j (包括節點 i) 為支配者數目小於 k, i 且 g(i) 值不為 29.

(39) UNDER,則把 g(i) 改為 UNDER。 (代表節點 i 鄰近的支配節點不滿 ki 個,則需要被更多其它鄰居節點支配。 其 g(i)值也不一定為 OVER 了,因此節點會想把 g(i) 變為 UNDER,等於在 賽局中,讓其它參與者知道,來支配它是可以獲得利益值的)。. R2: 節點 i 的所有鄰居節點 j (包括節點 i) 為支配者數目等於 k, i 且 g(i) 值不為 EQUAL,則把 g(i) 改為 EQUAL。 (代表節點 i 鄰近的支配節點剛好滿足 ki 個,則不需要被更多其它鄰居節點 支配。因此節點會想把 g(i) 變為 EQUAL,等於在賽局中,讓其它參與者知 道,它剛好滿足支配需求,支配它是無法獲得利益值的)。. R3: 節點 i 的所有鄰居節點 j (包括節點 i) 為支配者數目大於 ki,且 g(i) 值不為 OVER,則把 g(i) 改為 OVER。 (代表節點 i 已超過自身支配需求 ki,因此本身不需要再被更多的支配者支 配,因此節點會想把 g(i) 變為 OVER,等於在賽局中,讓其它參與者知道, 它超過支配需求,支配它是無法獲得利益值的)。. R4: 節點 i 的鄰居若存在至少一個節點 j,其 g(j) 為 UNDER,且 x(i) 值不為 true,則把 x(i) 改為 true。 (因為節點 i 知道鄰居有節點其 g(j) = UNDER,代表它需要被支配,所以節 點 i 可變為支配者來支配 j,以賽局角度來看,節點 i 可獲得利益,因此會 做決策來變為支配者,以獲得利益)。 30.

(40) R5: 節點 i 的鄰居節點 j 其 g(j) 都為 OVER,且 x(i) 值不為 false,則把 x(i) 改 為 false。 (因為節點 i 所有鄰居節點都已滿足自身支配需求,所以節點 i 不需要支配 它們,因此可變為非支配節點,以賽局角度來看,節點 i 因無法獲利,所 以會做決策來變為非支配者,來節省不必要的 成本支出)。. 3.6.1 演算法運作範例說明: 圖 3.11 為初始圖形(Example 2),總共 6 個節點,每個節點的初始 x(i) = false、 g(i) = UNDER。若經過表 3.7 的決策順序後會變為圖 3.12。黑色節點代表支配節 點,ki 值代表各節點的支配需求。最後經過表 3.8 的決策順序,則變為圖 3.13, 即為穩定狀態時,所找出的最小多支配集合:{ P2,P4,P6}。. P3. P1. P2. g(3) = UNDER. P5. P6. g(5) = UNDER. g(6) = UNDER. k5=2. k6=1. k3=1. g(1) = UNDER. g(2) = UNDER. k1=1. k2=2. P4. g(4) = UNDER. k4=2. 圖 3.11 初始圖形(Example 2). 31.

(41) 表 3.7 決策順序(Example 2 的第一部份) 節點編號 規則. 狀態變化. P6. R4. x(6)=true. P4. R4. x(4)=true. P2. R4. x(2)=true. P1. R2. g(1)=EQUAL. P1. R4. x(1)=true. P4. R2. g(4)=EQUAL. P3. R2. g(3)=EQUAL. P5. R2. g(5)=EQUAL. P6. R2. g(6)=EQUAL. P3. R4. x(3)=true. P3. P1. P2. g(3) = EQUAL. P5. P6. g(5) = EQUAL. g(6) = EQUAL. k5=2. k6=1. k3=1. g(1) = EQUAL. g(2) = UNDER. k1=1. k2=2. P4. g(4) = EQUAL. k4=2. 圖 3.12 Example 2 的第一部份後的圖形. 32.

(42) 表 3.8 決策順序(Example 2 的第二部份) 節點編號 規則 狀態變化 P1. R3. g(1)=OVER. P2. R3. g(2)=OVER. P5. R3. g(5)=OVER. P1. R5. x(1)=false. P3. R3. g(3)=OVER. P3. R5. x(3)=false. P5. R2. g(5)=EQUAL. P3. R2. g(3)=EQUAL. P2. R2. g(2)=EQUAL. P1. R2. g(1)=EQUAL. P3. P1. P2. g(3) = EQUAL. P5. P6. g(5) = EQUAL. g(6) = EQUAL. k5=2. k6=1. k3=1. g(1) = EQUAL. g(2) = EQUAL. k1=1. k2=2. P4. g(4) = EQUAL. k4=2. 圖 3.13 Example 2 到達穩定的圖形. 3.6.2 最小多支配集合的證明 我們先前的研究 [17] 已經以賽局的方式提出了針對最小多支配集合問題 的效用函數。此效用函數會使得賽局到達納許平衡點。以下我們將證明當演算法 到達穩定時,所找出的支配集合必定是最小多支配集合。 33.

(43) Lemma 3 當演算法到達穩定時,必定找出最小多支配集合. 假設演算法停止時,並未找出最小多支配集合 則至少存在一個多餘的節點 pi,將此節點從支配集合中拿掉,整個集合仍 為最小多支配集合。 根據 lemma 1,此節點 pi 的所有鄰近節點 pj 的 g(j)值皆為正確,代表節點 pi 會滿足演算法中的 R 5。所以代表演算法尚未達到穩定。 與起初假設矛盾。 故可證明,當演算法到達穩定時,必定找出最小多支配集合。. 34.

(44) 第四章 模擬實驗 4.1 實驗設計與參數設定 我們分別針對最小 k-支配集合及最小多支配集合問題,使用 C 語言來模擬 分散式系統的自我穩定演算法,兩方法皆使用集中式的執行模型,利用時間亂數 種子給予每個節點一個唯一的 1~100 的 back-off timer,每回合以 back-off timer 最小的節點先做決策。直到都沒有特權節點為止,系統到達穩定。 我們的模擬實驗分別針對最小支配集合、最小 2-支配集合、最小 k-支配集 合等問題,比較我們的演算法和傳統的自我穩定演算以及 [17] 賽局理論的方法 效能的差異,每次實驗都會進行 1000 次,最後由平均支配者的數目來衡量效能。 支配者個數越少代表效能愈好,愈能達到省電的效果。最後針對最小多支配集合 問題,提出最小多支配集合演算法來和 [17] 賽局理論的方法比較效能差異。上 述的所有實驗分別運作在四種不同拓樸邏輯,分別為:Unit Disk Graph [21], [22]、ER model、WS model[23] 、BA model[24]。 以下依序介紹四種拓樸邏輯 以及如何實作和可設定的參數。. ●. Unit Disk Graph (UDG):[21],[22] 我們在 1000 m×1000 m 二維平面中,設置 n 個節點,每個節點都有固定的. 傳輸半徑(Rt),並給予一個隨機的二維座標,然後計算任兩節點間的距離,若任 兩節點間距離在彼此的傳輸半徑內,就會存在一條邊,最後判斷是否為連通圖, 若不是則再重覆上述步驟,直到產生連通圖為止。當要產生 UDG 拓樸邏輯時須 注意:(1).若一開始有節點的位置被分配在較偏遠的位置,而使得此節點不在任 何節點的傳輸半徑內,則會有孤立點的可能。(2). 但不能為了配合偏遠位置的節 點,把傳輸半徑設大一點,可能會造成節點之間過於密集,也比較不符合實際的 35.

(45) 網路環境。 因此,最好每個節點均勻分布比較好,一開始佈置節點座標時須注 意。如圖 4.1 即為一個 UDG。黑色圓圈代表節點,虛線部分代表每個節點的傳 輸範圍,黑色實線代表邊。. 圖 4.1 Unit Disk Graph 的拓樸邏輯. . ER Model: 由 60 年代開始,此模型所形成的網路為隨機網路,是指通過隨機過程產 生出的複雜網路。假設目前有 n 個節點,每個節點與其它節點(無論遠近),是 否要有邊相接都是依照一個機率 Pe (0 < Pe < 1)來決定,建構出的網路就是 ER 模型的網路,每次建構完拓樸邏輯時,都必須檢查是否為連通圖,若不是則再 重覆上述步驟,直到產生連通圖為止。隨機網路的重要特性:大部分節點的分 支度都會接近某個平均值,遠大於或遠小於此平均值的節點數目是較少的,如 圖 4.2 的分布圖,橫軸為節點分支度,縱軸為各個分支度的節點統計數目。. 36.

(46) 圖 4. 2 ER model 節點分支度的趨勢圖. . WS Model:[23] 在 1998 年,瓦茨和斯特羅加茨提出了 WS 模型來解釋小世界網路,基於兩. 人的一個假設:小世界模型是介於 Regular network(如圖 4.3)和 random network 之間的網路。模型的建構過程:(1).首先從一個 regular graph 開始(圖 4.3),這個 網路中的 n 個節點,都與離它最近的 2 個節點相連,其中 是一個遠小於 n 的 正整數。(2).先選擇網路中的某個節點,從它開始(它是 1 號節點)將所有節點 順時針編號,再來針對 1 號節點的第 1 條邊來決定是否改和其他目前還沒有相連 的節點相接,會依照機率 Pr (0 < Pr < 1)來決定是否重連。重連方式如下:保持 1 號節點這一端不變,將連接的另一端隨機換成網路中目前還沒有邊相接的另一個 節點,依上述步驟檢查,直到 1 號節點的所有邊都判斷過,才依序換下一個節點 檢查,若其中有某節點的邊之前已經剛被重連過,則不再重複,直到所有節點都 檢查過為止。最後必須檢查是否為連通圖。. 37.

(47) 圖4.3 regular graph. . BA Model:[24] Albert-László Barabási 與 Réka Albert 在 1999 年的論文中提出的模型,. 用來解釋複雜網路。反應出現實生活中的網路,如新網頁一般會有到知名的網路 站點的連接,新加入社群的人會想與社群中的知名人士結識,新的論文傾向於引 用已被廣泛引用的著名文獻,新機場會優先考慮建立與大機場之間的航線等。 BA 模型的建構過程如下:(1).增長: 從一個較小的網路 G0 開始(有 m0 個節 點以及 E0 條邊),之後每次都加入一個新的節點到拓樸邏輯中。(2).連接:當新 的節點要加入拓樸邏輯時,會向原有的 m0 個節點連出 m 個邊(m < = m0) 。而邊 連接的方式會優先考慮分支度大的節點。目前網路中的節點被接邊的機率為 Pi (依據(4.1)式來計算)。分母為目前網路中所有節點的分支度總合,分子為節點 i 目前的分支度。. di:為 node i 的分支度. (4.1). 依據上述步驟建構出 BA model 的拓樸邏輯,並且必須檢查是否為連通圖, 若不是則再重覆上述步驟,直到產生連通圖為止。BA model 的特徵為大部份的 節點分支度都很小,而且只有極少的節點與非常多的節點連接。形成如圖 4.4 的 38.

(48) 趨勢,橫軸為節點分支度,縱軸為各個分支度的節點數目統計。. 圖 4.4 BA model 節點分支度的趨勢圖. 4.2 最小支配集合的實驗 (minimal dominating set) 我們提出的最小 k-支配集合的自我穩定演算法、[17]賽局理論的方法,以及 [9] 所提出的自我穩定演算法,都是找最小 k-支配集合,而我們讓 k=1 即可和傳 統找最小支配集合的自我穩定演算 [20 ],[4],[5],[6],[7],[8] 做效能的比較。 圖 4.5 是在 UDG 拓樸邏輯中,x 軸的 n 設定為 50~100,y 軸為平均支配者 的個數,圖上的 IkDG 代表最小 k-支配集合的分散式自我穩定演算法,而 PkDG 代表[17] 中找最小 k-支配集合的賽局作法。當節點的數目越多,所需的平均支 配者數目越多,其中以針對最小 k-支配集合的方法(IkDG、PkDG、[9])或使用集 中式控制模型的方法 [20] 其效果較好,而當中又以 IkDG 效能最好。圖 4.6 是 在 ER model 下,n = 100,x 軸為 Pe = 0.1~0.5,y 軸為平均支配者的個數。當 Pe 越高,拓樸邏輯中邊數會越多,因此所需的支配者個數自然會下降。而以 [20], [9] ,IkDG,PkDG 的方法效果較好,並且我們的 IkDG 效能還是最好的。. 39.

(49) 16. The number of dominators. 15. 14. 13. 12. 11. 10 50. 55. 60. 65. 70. 75. 80. 85. 90. 95. 100. The number of nodes (n). 圖 4.5 在 UDG 下的平均支配者(MDS). 24 LH00[20] HHJ+03[4] XHG+03[5] KK05[9] KM06[6] Tur07[7] GHJ+08[8] IkDG PkDG[17]. The number of dominators. 22 20 18 16 14 12 10 8 6 4 0.1. 0.15. 0.2. 0.25. 0.3. 0.35. 0.4. 0.45. 0.5. Edge probability( P e ). 圖 4.6 在 ER model 下的平均支配者數目(MDS). 40.

(50) 38. The number of dominators. 36 34 32 30 28 26 24 22. 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. Edge Rewiring Probability ( P r ). 圖 4.7 在 WS model 下的平均支配者數目(MDS). 70 LH00[20] HHJ+03[4] XHG+03[5] KK05[9] KM06[6] Tur07[7] GHJ+08[8] IkDG PkDG[17]. The number of dominators. 60. 50. 40. 30. 20. 10. 1. 1.5. 2. 2.5. 3. 3.5. 4. 4.5. 5. The number of edges each new node has to build (m). 圖 4.8 在 BA model 下的平均支配者數目(MDS). 41.

(51) 圖 4.7 是在 WS model 下,n = 100, = 2,x 軸為 Pr = 0~1,y 軸為平均支配 者的個數。當 Pr 越高,邊重連的機率越高,代表節點跟距離較遠的節點相連的 機會變高,圖中顯示出每個方法所需的支配者數目也會隨之上升。此時還是以我 們的 IkDG 效能最好,其次才是 PkDG,[9],[20]。圖 4.8 是在 BA model 下,n = 100,m0 = 5,x 軸為 m = 1~5,y 軸為平均支配者的個數。當 m 越大,代表每個 新加入到網路中的節點連的邊數越多,因此所需支配者個數自然會下降。若是針 對找最小 k-支配集合或者使用集中式模型的方法其效果還是較好,其中以我們的 IkDG 效能最好。上述不同拓樸邏輯間參數設定整理於表 4.1。. 表 4.1 最小支配集合實驗的參數設定 拓樸邏輯名稱. 參數設定. UDG. n = 50~100. ER model. n = 100, Pe = 0.1~0.5. BA model. n = 100,m0 = 5,m = 1~5. WS model. n = 100, = 2, Pr = 0~1. 最小支配集合的實驗中,以找最小 k-支配集合的方法或使用集中式控制模型 的方法顯然會有比較好的效能(game algorithm 1,game 1,[9],[20])。只有 [4] 雖 然是集中式作法,但在四種拓樸邏輯中顯示的效能不是那麼好,顯然不太適合運 作在我們的四種拓樸邏輯中。而其它專門找最小支配集合的方法其效能幾乎相同。 總結來說,以針對最小 k-支配集合的方法且使用集中式控制模型其效能會是最好 的,如我們的最小 k-支配集合的分散式自我穩定演算法,當 k = 1 時,在不同拓 樸邏輯中都有最好的效能。而賽局的方法和自我穩定演算法之間還是以演算法的 方式效能較好,這點我們已在第三章做了說明。. 42.

(52) 4.2.1 賽局與演算法的決策次數比較 我們所提出的自我穩定演算法以及之前賽局理論的方法 [17],雖然都是要 找最小 k-支配集合、最小多支配集合,兩者概念相似,但演算法的方式執行在不 同拓樸邏輯之下,都有較好的效能。這是由於演算法中,每個節點的 local 變數 是個別更新的,因此探索狀態較多,執行時間會來得比較久,收斂時間比賽局的 方法來得慢,但也可執行出較好的狀況,是以時間來換取效能的方法。圖 4.9~ 圖 4.12 是當 k = 1 時,演算法和賽局方法運作在不同拓樸邏輯下,所需要的平均 決策次數。此處我們以節點有改變自己的 g(i) 值或 ci 值才列入計算,而我們所 提的自我穩定演算法有較高的決策次數。若是針對 k = 2 以上找最小支配集合或 最小多支配集合的情況,演算法的收斂時間還是比較慢。收斂時間隨 k 值增加而 上升。表 4.2 是此實驗不同拓樸邏輯的參數設定。. 350 IkDG PkDG[17]. The number of decisions. 300. 250. 200. 150. 100. 50. 0 50. 55. 60. 65. 70. 75. 80. 85. 90. The number of nodes(n). 圖 4.9 在 UDG 下的平均決策次數. 43. 95. 100.

(53) 8000 IkDG PkDG[17]. The number of decisions. 7000 6000 5000 4000 3000 2000 1000 0 0.1. 0.15. 0.2. 0.25. 0.3. 0.35. 0.4. 0.45. 0.5. Edge probability( P e ). 圖 4.10 在 ER model 下的平均決策次數. 350. The number of decisions. 300 IkDG PkDG[17]. 250. 200. 150. 100. 50. 0. 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. Edge Rewiring Probability ( P r ). 圖 4.11 在 WS model 下的平均決策次數. 44. 1.

(54) 400 IkDG PkDG[17]. The number of decisions. 350 300 250 200 150 100 50 0. 1. 1.5. 2. 2.5. 3. 3.5. 4. 4.5. 5. The number of edges each new node has to build (m). 圖 4.12 在 BA model 下的平均決策次數. 表 4.2 決策次數實驗的參數設定 拓樸邏輯名稱. 參數設定. UDG. n = 50~100. ER model. n = 100, Pe = 0.1~0.5. BA model. n = 100,m0 = 5,m = 1~5. WS model. n = 100, = 2, Pr = 0~1. 4.3 最小 2-支配集合的實驗 (minimal 2-dominating set) 我們把最小 k-支配集合的演算法(IkDG)、 [17] 中針對最小 k-支配集合的賽 局理論方法(PkDG),以及 [9] 的自我穩定演算法,設定 k = 2,來和傳統專門找 最小 2-支配集合的自我穩定演算法[10],[11]做效能比較。 圖 4.13 是在 UDG 拓樸邏輯中,x 軸的 n 設定為 50~100,y 軸為平均支配者 45.

(55) 的個數。當節點的數目越多,所需的支配者數目越多。其中 [9],IkDG, PkDG, 效能較好,並且以使用集中式控制模型的 IkDG,PkDG 效能更好,而我們的最 小 k-支配集合的分散式自我穩定演算法,效能還是比賽局的方法來得好(可參照 4.2.1)。圖 4.14 是在 ER model 下,n = 100,x 軸為 Pe = 0.1~0.5,y 軸為平均支 配者的個數。當 Pe 越高,拓樸邏輯的邊數越多,因此所需的支配者個數自然會 下降。由圖來看,[9],IkDG,PkDG 效能還是比較好,但 [9] 與賽局的方法兩 者有拉近的趨勢,顯然此拓樸邏輯對 [9] 較有優勢,不過能仍以 IkDG 效能最 好。. 28 KK05[9] HLC+07[10] HCW08[11] IkDG PkDG[17]. The number of dominators. 27 26 25 24 23 22 21 20 19 50. 55. 60. 65. 70. 75. 80. 85. 90. 95. The number of nodes (n). 圖 4.13 在 UDG 下的平均支配者數目(M2DS). 46. 100.

(56) 35 KK05[9] HLC+07[10] HCW08[11] IkDG PkDG[17]. The number of dominators. 30. 25. 20. 15. 10. 5 0.1. 0.15. 0.2. 0.25. 0.3. 0.35. 0.4. 0.45. 0.5. Edge probability( P e ). 圖 4.14 在 ER model 下的平均支配者數目(M2DS). 圖 4.15 是在 WS model 下,n = 100, = 2,x 軸為 Pr = 0~1,y 軸為平均支 配者個數。當邊重連的機率越高,所需的支配者數目越多,其中仍然以 IkDG 效 果最好。圖 4.16 是在 BA model 下,n = 100,m0 = 5,x 軸為 m = 1~5,y 軸為平 均支配者的個數。五種方法呈現兩種趨勢,並且當 m 上升,所需的支配者個數 下降,仍以專門找最小 k-支配集合的方法其效果較好,其中以我們的最小 k-支配 集合的分散式自我穩定演算法效能最好。上述不同拓樸邏輯間的參數設定整理於 表 4.3。. 47.

(57) 52 KK05[9] HLC+07[10] HCW08[11] IkDG PkDG[17]. The number of dominators. 50. 48. 46. 44. 42. 40. 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. Edge Rewiring Probability ( P r ). 圖 4.15 在 WS model 下的平均支配者數目(M2DS). 90 KK05[9] HLC+07[10] HCW08[11] IkDG PkDG[17]. The number of dominators. 80. 70. 60. 50. 40. 30. 20. 1. 1.5. 2. 2.5. 3. 3.5. 4. 4.5. 5. The number of edges each new node has to build (m). 圖 4.16 在 BA model 下的平均支配者數目(M2DS). 48.

參考文獻

相關文件

Huang, A nonmonotone smoothing-type algorithm for solv- ing a system of equalities and inequalities, Journal of Computational and Applied Mathematics, vol. Hao, A new

Fukushima, On the local convergence of semismooth Newton methods for linear and nonlinear second-order cone programs without strict complementarity, SIAM Journal on Optimization,

The original curriculum design for the Department of Construction Engineering of CYUT was to expose students to a broad knowledge in engineering and applied science rather than

 Negative selection: if the antibodies of a B cell match any self antigen in the bone marrow, the cell dies.  Self tolerance: almost all self antigens are presented i n

Y., (1997), “Resource recovery of sludge as building and construction materials — a future trend in sludge management,” Journal of Water Science and Technology, Vol. (2000)

Li, “Concurrent engineering: a strategy for procuring construction projects,” International Journal of Project Management, Vol. Towill and D.R., “Time compression and supply chain

Hogg (1982), “A State-of-the-art Survey of Dispatching Rules for Manufacturing Job Shop Operation,” International Journal of Production Research, Vol.. Gardiner (1997), “A

Episcopos, A.,1996, “Stock Return Volatility and Time Varying Betas in the Toronto Stock Exchange”, Quarterly Journal of Business Economics, Vol.. Brooks,1998 Time-varying Beta