點著色衝突問題及其自我穩定分散式演算法
全文
(2) 致謝 本論文能夠順利完成首先要感謝我的指導教授. 嚴力行老師,從制定研究. 方向到理論的完成,總是不厭其煩的指導我將論文一一完成。從老師身上學到 對於理論的大膽假設以及實驗結果的小心求證的研究態度更是令我受用無窮。 同時也要感謝百忙之中抽空前來的口試委員謝欽旭與劉炳宏教授所提出的寶貴 意見,令我的論文架構得以更加完善。 我也要在此感謝這些年一起打排球的學長學弟以及中山高中可愛的球友 們,讓我在課業忙碌之餘仍然能在排球場上找到完全放鬆的時間。感謝一同在 高大相處了六年的室友允哲與繼仁,這兩年的碩士生涯雖然彼此都在不同的研 究領域,不過在彼此的互相打氣下論文也順利完成了。同時也要感謝在低落的 時候一直以歌聲給我無比勇氣的水樹奈奈,碩士生涯中的兩次遠征是我一輩子 的回憶。 最後要感謝我的家人,有了家人的支持當作後盾我才能心無旁鶩地順利完 成學業。謹以此文獻給所有在我求學過程中曾經幫助、鼓勵與支持我的人,謝 謝你們。. 嘉偉 於民國一百零三年十月二十三日. i.
(3) 點著色衝突問題及其自我穩定分散式演算法 指導教授:嚴力行 博士 國立高雄大學資訊工程學系. 學生:蘇嘉偉 國立高雄大學資訊工程學系. 摘要 圖形理論(Graph theory)中的圖形著色問題(graph coloring problem)是對無向 圖的頂點或邊進行著色,使得相鄰的頂點(邊)著上不同顏色,整個圖形在著色之 後則盡可能地減少使用的顏色數目。圖形著色問題常被用來解決分散式系統中的 資源分配(resource allocation)問題。現實中的資源常常是有限的,但要確認圖形 G 是否可以用 k 個顏色完成著色是一個 NP-Complete 問題。因此本論文將此問題作 延伸並提出最小顏色衝突(Minimal Color Conflict; MCC)問題,除了使用固定顏色 數進行著色之外,我們也允許頂點同時使用多個顏色並且希望盡量減少相鄰頂點 同色產生的顏色衝突個數。為了解決此問題,我們依據了圖形壅塞賽局(graphical congestion game)設計出一個在區域集中式運算模型(locally central daemon)下的 分散式自我穩定著色演算法(self-stabilizing algorithm)以及可實作於行動隨意式 網路(Mobile Ad-Hoc Network; MANET)的分散式協定(distributed protocol)。. 關鍵詞:著色問題、自我穩定演算法、壅塞賽局. ii.
(4) Self-stabilizing Distributed formation of Color Conflict Problem Advisor: Dr. Li-Hsing Yen Institute of Computer Science and Information Engineering National University of Kaohsiung Student: Chia-Wei Su Institute of Computer Science and Information Engineering National University of Kaohsiung ABSTRACT Graph coloring which is a method to use as few colors as possible for painting the vertices (or edges) of a given graph and making sure there is no two adjacent vertices share the same color. Graph coloring can be viewed as a simplification of resource allocation problems. In reality, the resources is definitely finite in distributed systems. It is NP-complete problem to decide whether a given graph can be colored by using k colors. On the basis of graph coloring problem, this paper is concerning about the Minimal Color Conflict problem of using finite colors and allows adjacent vertices using the same color, called conflicts. This paper adopts the graphical congestion game theory to reduce the number of color conflicts, and converting it into a distributed selfstabilizing algorithm under locally central daemon. Furthermore, we adapts this algorithm into a distributed protocol which can be implemented on the Mobile Ad-Hoc Networks. Keywords: Graph Coloring, Self-stabilizing Algorithm, Congestion Game. iii.
(5) 目錄 致謝 .............................................................................................................................................i 中文摘要 ....................................................................................................................................ii 英文摘要 ................................................................................................................................... iii 目錄 .......................................................................................................................................... ivi 表目錄 ....................................................................................................................................... vi 圖目錄 ...................................................................................................................................... vii 中英名詞對照表 ....................................................................................................................... ix 第一章. 簡介.......................................................................................................................... 1. 第二章. 背景知識與相關研究.............................................................................................. 5. 2.1 分散式系統與自我穩定演算法 .................................................................................... 5 2.1.1 自我穩定演算法 ..................................................................................................... 5 2.1.2 控制運算模型 ......................................................................................................... 6 2.2 著色問題 ........................................................................................................................ 7 2.2.1 定義 ......................................................................................................................... 7 2.2.2 點著色相關自我穩定演算法 ................................................................................. 8 2.3 賽局理論(Game Theory) ............................................................................................... 8 2.3.1 賽局的分類 ............................................................................................................. 9 2.3.2 賽局的定義 ........................................................................................................... 10 2.3.3 賽局的均衡 ........................................................................................................... 11 2.4 壅塞賽局(Congestion Games) ..................................................................................... 13 第三章. 自我穩定分散式著色演算法 ................................................................................ 16. 3.1 最小顏色衝突問題 ...................................................................................................... 16 3.2 賽局設計 ...................................................................................................................... 16 3.3 賽局的穩定性 .............................................................................................................. 18 3.4 自我穩定著色演算法 .................................................................................................. 20 3.4.1 演算法設計 ........................................................................................................... 20 3.4.2 演算法的合理性 ................................................................................................... 22 iv.
(6) 3.5 應用於無線網路之中 .................................................................................................. 23 第四章. 模擬實驗................................................................................................................ 29. 4.1 實驗設計與參數設定 .................................................................................................. 29 4.2 使用顏色數實驗 .......................................................................................................... 32 4.3 最小顏色衝突數實驗 .................................................................................................. 38 4.4 無線網路協定實驗 ...................................................................................................... 43 第五章. 結論與未來研究方向............................................................................................ 50. 參考文獻 ................................................................................................................................. 52. v.
(7) 表目錄 表 1.1 貪婪式著色演算法與著色賽局差異 ................................ 4 表 4.1 實驗 4.2 使用顏色數實驗參數設定................................ 32 表 4.2 UDG model:節點平均分支度 .................................... 38 表 4.3 ER model:節點平均分支度 ...................................... 38 表 4.4 BA model:節點平均分支度 ...................................... 38 表 4.5 顏色衝突實驗參數設定 ......................................... 38. vi.
(8) 圖目錄 圖 1.1a 貪婪式著色演算法結果(result of greedy algorithm) ..................................... 4 圖 1.1b 著色賽局結果(result of game) ........................................................................ 4 圖 3.1a 圖 G:著上黑色與白色的四個節點 ................................................................ 18 圖 3.1b 導出子圖 Gblack 與 Gwhite................................................................................. 18 圖 3.2 傳遞延遲造成的訊息不一致.......................................................................... 23 圖 4.1 Unit Disk Graph 的拓樸邏輯 .......................................................................... 30 圖 4.2 n = 7 且 k = 2 的 regular graph ......................................................................... 31 圖 4.3 在 UDG 下的全部使用顏色數 ....................................................................... 34 圖 4.4 在 ER model 下的全部使用顏色數 ............................................................... 34 圖 4.5 在 WS model 下的全部使用顏色數............................................................... 35 圖 4.6 在 BA model 下的全部使用顏色數 ............................................................... 35 圖 4.7 在 UDG 下的節點平均轉換顏色次數 ........................................................... 36 圖 4.8 在 ER model 下的節點平均轉換顏色次數 ................................................... 36 圖 4.9 在 WS 下的節點平均轉換顏色次數.............................................................. 37 圖 4.10 在 BA model 下的節點平均轉換顏色次數 ................................................. 37 圖 4.11 在 UDG 下的總顏色衝突數 ......................................................................... 39 圖 4.12 在 ER model 下的總顏色衝突數 ................................................................. 40 圖 4.13 在 WS model 下的總顏色衝突數................................................................. 40 圖 4.14 在 BA model 下的總顏色衝突數 ................................................................. 41 圖 4.15 在 UDG 下的節點平均顏色轉換顏色次數 ................................................. 41 圖 4.16 在 ER model 下的節點平均顏色轉換顏色次數 ......................................... 42 圖 4.17 在 WS model 下的節點平均顏色轉換顏色次數......................................... 42 圖 4.18 在 BA model 下的節點平均顏色轉換顏色次數 ......................................... 43 圖 4.19 收斂時間........................................................................................................ 44 vii.
(9) 圖 4.20 節點平均顏色轉換顏色次數........................................................................ 45 圖 4.21 節點平均發送訊息量.................................................................................... 45 圖 4.22 總顏色衝突數................................................................................................ 46 圖 4.23 T1 不同隨機值範圍的收斂時間 .................................................................... 47 圖 4.24 T1 不同隨機值範圍的節點平均轉換次數 .................................................... 47 圖 4.25 T1 不同隨機值範圍的節點平均發送訊息量 ................................................ 48 圖 4.26 T1 不同隨機值範圍的總顏色衝突數 ............................................................ 48 圖 4.27 無線網路協定與演算法之顏色衝突數比較................................................ 49. viii.
(10) 中英名詞對照表 圖形理論, 圖論 圖形著色問題, 著色問題 資源分配 最小顏色衝突 圖形壅塞賽局 區域集中式運算模型 自我穩定演算法 行動隨意式網路 分散式協定. Graph theory Graph coloring problem resource allocation Minimal color conflict, MCC graphical congestion game locally central daemon self-stabilizing algorithm Mobile Ad-Hoc Network; MANET distributed protocol. 著色最佳化問題 合法狀態 合法狀態集合. graph coloring optimization problem legitimate state legitimate state set. 錯誤容忍 暫時性錯誤 非法狀態, 不合法狀態 任意拓樸 多跳點無線網路 賽局理論 參與者. fault tolerance transient fault illegitimate state arbitrary graph multi-hop wireless network Game theory player. 策略 策略集合 策略組態 貪婪式演算法 區域最佳解 壅塞賽局 圖形賽局 衝突圖 完美資訊 動態賽局 先決條件. strategy strategy set strategy profile greedy algorithm local optimum congestion game, CG graphical game conflict graph perfect information dynamic game guard. 對應動作 行程 傳遞延遲 碰撞 最適回應 較適回應. command, action process propagation delay collision best response better response ix.
(11) 分支度. degree. 區域變數 區域狀態 全域狀態 自我穩定 規則 特權行程 不確定性 排程器 運算模型 排程器. local variable local status global status Self-stabilization rule privilege process non-deterministic scheduler execution model scheduler. 集中式運算模型 分散式運算模型 同步式運算模型. central daemon distributed daemon synchronous daemon. 分散度 識別碼 邊著色 面著色 點著色 可 k 著色 色數 對稱性. distribution identifier edge coloring face coloring vertex coloring k-colorable chromatic number symmetric. 最大獨立集合 完全圖 環狀圖 理性 自私 利益值 效用函數 納許均衡 純策略 混合策略. maximal independent set complete graph cycle graph rational selfish utility utility function Nash equilibrium pure-strategy mixed-strategy. 潛力賽局 全域函數 潛力函數 確切潛力賽局 壅塞程度 非遞增函數. potential game global function potential function exact potential game congestion level non-increasing function x.
(12) 同質資源. homogeneous resource. 異質資源 單一碰撞領域 退化 感知無線電網路 頻譜分享 擬陣 冪集合 回報 導出子圖 解空間. heterogeneous resource single collision domain reduce Cognitive Radio Network spectrum sharing matroid power set payoff induced subgraph solution space. 全域狀態 封閉性 收斂性. global state closure convergence. 沉默穩定 共享變數 訊息傳遞 不一致 同時動作 全域時鐘 快取 廣播. silent stabilization shared variable message passing incoherent simultaneous moves global clock cache broadcast. 計時器 定期廣播 互斥存取 臨界區域 卜瓦松分布 分時多重進接 無線存取點選擇問題. Timer periodically broadcast mutual exclusion critical section Poisson distribution Time division multiple access; TDMA AP selection problem. xi.
(13) 第一章. 簡介. 圖形理論中古典的圖形著色問題或簡稱著色問題,要求將給定圖形(graph)中每個 頂點或稱節點著上顏色,並且滿足相鄰頂點皆不同色。著色最佳化問題(graph coloring optimization problem)是將給定一 圖著色並使用最少的顏色數 (色數, chromatic number),此問題已被證明是一個 NP-Hard 問題 [GJ79]。而確定一圖是 否可用 k 種顏色著色則是 NP-Complete 問題,難以在多項式時間內找到最佳解 [Law76]。雖然集中式的演算法可以找到近似最佳解,但是在分散式系統中執行 集中式演算法所耗費成本太高,實作不易。 在本篇論文中,我們將古典著色問題一般化後提出了最小顏色衝突數問題, 將相鄰的兩個頂點著上相同顏色的事件視為一次顏色衝突。古典著色問題要求顏 色衝突的次數為零。我們放寬此限制,在顏色數目無法滿足相鄰頂點皆不同色時, 要求盡量減少顏色衝突的數目即可。我們另外放寬每個頂點允許著色的數目,也 就是每個頂點可以著上多個顏色。 分散式系統中的自我穩定演算法是指系統中每個行程執行個別的演算法,無 論系統初始狀態為何,演算法保證整個分散式系統最終會進入合法的狀態 (legitimate state),並且停留在合法的狀態集合中(legitimate state set) [Dij74]。自我 穩定演算法不須初始化的特性允許行程的動態加入或退出,並且具有錯誤容忍 (fault tolerance)的優點。即使分散式系統中發生暫時性錯誤(transient fault)而導致 系統進入非法狀態(illegitimate state),也能在無需外力的協助下在有限的時間內 回到合法狀態中運行。基於上述優點,自我穩定演算法近年來廣泛地被應用在圖 論中的各種問題。其中在古典著色問題方面,Gradinariu 與 Tixeuil [GT00] 首先 提出了適用在任意拓樸(arbitrary graph)中的自我穩定著色演算法。Hedetniemi 等 人 [HJS02] 之後也提出了兩個比 [GT00] 收斂時間更快速之古典著色演算法。 Mitton 等人 [MFL+06] 則提出了在多跳點無線網路(multi-hop wireless network). 1.
(14) 下的 k-distance 著色演算法,k 等於 1 時則等同於著色演算法。這些分散式自我 穩定演算法皆只適用於古典著色問題,並不適用我們所提出的最小顏色衝突問題。 本論文研究的動機是將利用賽局理論(Game theory)來分析多顏色著色的顏 色衝突問題。賽局理論或稱博奕理論起源於經濟學,是一門探討多個個體決策問 題之數理模型。賽局中的個體會預測或參考其他個體的實際行為所造成之利害衝 突下做出最適當的因應策略。起先賽局理論多用來探討一個事件的可能走向,而 近年來賽局理論被廣泛地應用在資訊領域。藉由系統化的分析方式與利益函數的 設計,在每個個體尋求自己的最大利益之際將系統狀態導向我們想要的結果。一 般賽局中的個體稱為參與者(player),每位參與者各自擁有一個策略集合(strategy set)代表該參與者所可能選擇的策略(strategy)之集合。賽局理論即為探討參與者 在彼此不斷改變決策的影響下最終賽局之走向。賽局中的參與者雖然是自私的, 但不同於貪婪式演算法(greedy algorithm)的是賽局的參與者在做了決策之後仍有 反悔的空間,在反覆決策之下可以避免陷入區域最佳解(local optimum)的情形。 圖 1.1 與表 1.1 說明了一般貪婪式演算法(通常由分支度(degree)最大的頂點先著 色)和我們所提出賽局之差異。 我們利用了兩種特殊的賽局模型來分析顏色衝突問題-壅塞賽局 (congestion game, CG)與圖形賽局(graphical game)。壅塞賽局中參與者所獲得的利 益值與其他選擇相同策略的參與者人數有關。例如在無線網路中,選擇較多人使 用的頻道,則獲得較少的頻寬。圖形賽局則是將賽局中參與者的利益影響關係利 用衝突圖(conflict graph)的方式表示,只有相鄰的參與者會影響彼此之間的利益 值。著色衝突問題剛好符合這兩個模型的特性,以頂點當作參與者、可用顏色做 為策略集合,每位參與者皆選擇較少被鄰近節點所使用的顏色。我們將提出一個 著色賽局,並證明此賽局保證會達到穩定狀態。 上述賽局屬於所謂完美資訊(perfect information)的動態賽局(dynamic game) 中,表示參與者進行決策時知道所有其他先前決策結果。在分散式系統中,每個. 2.
(15) 節點各自進行決策,但此決策結果不能保證立即被其他節點知曉。因此有必要將 我們所設計的著色賽局改寫成分散式的演算法。我們提出了一個在區域集中式運 算模型(execution model)下的自我穩定演算法,並藉由共享變數(shared variable)來 計算參與者的利益值並且由先決條件(guard)與對應動作(command 或 action)來進 行決策。 分散式系統利用集中式運算模型的假設來模擬行程(process)的執行順序,但 現實中實施該運算模型的成本高昂。在網路分散式系統中,集中式的運算模型不 可能存在。且訊息的傳遞延遲(propagation delay)以及碰撞(collision)所造成的訊息 遺失對於系統的穩定性更是嚴重的問題。最後我們提出將分散式演算法改寫成一 個可運行於行動隨意式網路的無線網路協定。 在模擬實驗部分,我們分別模擬在 Unit Disk Graph、ER model、WS model 與 BA model 四種不同的拓樸邏輯下進行效能測試。第一個實驗是在顏色數為Δ + 1(Δ 為最大分支度)時與傳統自我穩定著色演算法做比較,結果顯示我們的方法 使用的顏色高於傳統自我穩定著色演算法 [GT00, HJS02, MST+06] 但收斂時間 較短。第二個實驗限制可用顏色數並假設每個節點可使用多個顏色,探討演算法 使用最適回應與較適回應兩種不同反應機制對收斂時間以及顏色衝突的影響。結 果顯示最適回應機制在收斂時間上較佔優勢,而較適回應機制在總顏色衝突數則 表現較優,這是因為後者較可避免陷入區域最佳解。 本章我們粗略介紹了著色問題、分散式系統中的自我穩定演算法、賽局理論 以及我們的研究成果。第二章我們將針對分散式系統以及賽局理論做更詳盡的介 紹,並對相關文獻做更詳細的探討。第三章則說明我們如何將賽局理論改寫成自 我穩定演算法,並提出我們所改寫的無線網路協定。第四章是實驗模擬以及不同 方法之間的效能做分析比較。最後一章則是整篇論文的總結。. 3.
(16) N1. N2. N4 N3. 圖 1.1a 貪婪式著色演算法結果(result of greedy algorithm). N1. N2. N4 N3. 圖 1.1b 著色賽局結果(result of game). 表 1.1 貪婪式著色演算法與著色賽局差異 執行順序\演算法. 貪婪式著色演算法. 著色賽局. 1. N1:黑. 同左. 2. N2:白. 同左. 3. N3:黑. 同左. 4. N4:黑. 同左 N3:白. 5 最終顏色衝突數. 2. 4. 1.
(17) 第二章. 背景知識與相關研究. 本章將簡介分散式系統中的自我穩定演算法、著色問題、以及賽局理論。第一部 分先說明分散式系統中的自我穩定演算法與系統的控制運算模型,接著介紹著色 問題及其他研究者為解決分散式系統中的著色問題所提出的自我穩定演算法。第 三部分說明何謂賽局理論及其定義與分類,最後會針對壅塞賽局特別作介紹。. 2.1 分散式系統與自我穩定演算法. 2.1.1 自我穩定演算法 分散式系統中,每個行程擁有自己的區域變數(local variable)。一個由行程目前所 有區域變數的值所構成的集合定義了此行程的區域狀態(local status),而系統中 所有行程的區域狀態構成系統的全域狀態(global status)。若某個全域狀態合乎分 散式系統設計之要求,則稱此狀態為合法狀態。Dijkstra 首先提出了自我穩定(selfstabilization)的概念 [Dij74]。一個自我穩定的分散式系統滿足下列條件:(1)無論 系統起始狀態為何,皆能在有限的步驟內進入合法狀態。(2)系統進入合法狀態後, 任何後續的系統狀態皆為合法狀態。一個自我穩定系統具備了系統容錯的特性。 當系統因暫時的錯誤而脫離合法狀態時,系統能在有限時間內自動恢復至合法狀 態。 自我穩定演算法是由多條運作規則(rule)所組成,每一條規則由先決條件以 及對應動作所組成。執行時,各個行程會去檢查自己是否有規則滿足先決條件。 若有滿足先決條件的規則,則此行程稱為特權行程(privilege process)。特權行程 被選擇執行時,將執行某一條滿足先決條件規則的對應動作。對應動作可改變行 程自身的區域變數。. 5.
(18) 2.1.2 控制運算模型 在非同步分散式系統中,行程的執行順序是不確定性(non-deterministic)的。為了 確保並驗證自我穩定演算法的正確性,我們必須行程在系統中的執行順序符合某 種運算模型。運算模型假設在系統中有一個類似排程器(scheduler)的控制系統, 在每單位時間或每回合中挑出一個或多個特權行程來執行滿足先決條件規則的 對應動作。當系統中已經不存在任何行程的規則可以被啟動(即沒有任何特權行 程),表示此系統已達到穩定狀態。下列為幾種常見的控制運算系統: (1)集中式(Central Daemon): 集中式運算模型在每單位時間(回合)中,只挑選一個特權行程 [Dij74]。 (2)分散式(Distributed Daemon): 分散式運算模型在每單位時間(回合)中,隨機挑選若干個特權行程來執行,其 可能挑中的特權行程節點數量介於 1 到所有行程之間。 (3)同步式(Synchronous Daemon): 同步式運算模型為分散式運算模型中的一種特例,每單位時間(回合)中所有 行程都會被挑中執行。此運算模型通常要求所有行程有同步的時脈。 Dobois 與 Tixeuil 兩位學者在 [DT11] 定義了 k-centrality 來衡量 daemon 的分 散度(distribution)。k-centrality 代表距離 k 步以內的行程不可同時動作。0-central daemon 等同於分散式運算模型,而 diam(g)-central daemon 等同於集中式運算模 型,其中 diam(g)為拓樸中相距最遠兩點之距離。本論文所假設的運算模型為區 域集中式運算模型也可視為是 1-central 運算模型,只要求彼此相鄰的行程不能 同時動作。 在分散式或同步式運算模型中執行自我穩定演算法時,可能會有多個特權行 程同時改變自己的區域狀態。在行程進行的動作彼此影響下,可能造成系統無法 達到穩定狀態。為了避免這種情況發生,通常會在演算法規則中加入利用識別碼. 6.
(19) (identifier)區分動作優先權的方式。此方法假設各個行程有唯一的識別碼,當相 鄰行程嘗試同時改變自己的區域狀態時,先決條件的設計必須將鄰居行程的識別 碼與自己識別碼的大小納入考量中,以避免相鄰行程同時改變區域狀態的情形發 生。. 2.2 著色問題 著色問題是圖論的一個經典問題,一般可分成邊著色(edge coloring)、面著色(face coloring)以及點著色(vertex coloring)三大類。點著色要求圖中相鄰頂點不能選擇 使用同樣的顏色,邊著色要求相鄰的兩條邊而面著色則是要求相鄰的兩個面不能 同色。任何圖的邊著色問題皆可以轉換成對應的衝突圖中的點著色問題。將圖轉 換為衝突圖的原則為:原圖中的邊為衝突圖中的頂點,而原圖中任兩邊若相鄰(有 共同頂點)時則在衝突圖中對應的兩個頂點間建立邊。如此一來,任何衝突圖中 的點著色問題的解即可轉換成對應的原圖邊著色問題的解。 著色問題常被應用在資源分配以及排程問題中。在資源分配問題中,頂點代 表使用者,顏色代表分配給使用者的資源。相鄰的頂點代表使用者會彼此競爭資 源。本文所研究的重點是在分散式系統中應用賽局理論設計點著色問題的自我穩 定演算法,並提出顏色數不夠時的解法。. 2.2.1 定義 給定一無向圖𝐺 = (𝑉, 𝐸),其中 V 為圖中所有頂點的集合,E 代表頂點間之所有 邊。點著色要求每個頂點上給定一個顏色,且相鄰頂點的顏色彼此不相同。若 G 中存在一種使用 k 個顏色的點著色方式,則稱該圖形 G 為可 k-著色(k-colorable)。 任何圖形只要圖中分支度最大的頂點其分支度小於 k,即一定符合可𝑘著色。在 圖形 G 中滿足點著色所需使用的最少顏色數定義為𝜒(𝐺),稱為色數。若𝑘 ≥ 𝜒(𝐺),. G 即為可 k-著色。而確認任意一無向圖 G 是否為可 k 著色是一個 NP-Complete 問 7.
(20) 題 [Law76]。. 2.2.2 點著色相關自我穩定演算法 Gradinariu 與 Tixeuil 兩位學者 [GT00] 率先提出了自我穩定的(∆ + 1)-著色演算 法,並可應用於任意拓樸模型。其演算法必須知道最大分支度 (∆),並且保證了 最差會在O(n × ∆)步驟內收斂到穩定狀態,其中 n 為節點數目。演算法的運算模 型分成區域集中式以及分散式運算模型。分散式的方法利用給予每個節點唯一識 別碼的方式打破對稱性(symmetric),以避免鄰近節點同時改變狀態而導致的系統 不穩定。 Mitton 等人 [MFL+06] 提出了一個自我穩定的 k-距離著色演算法。作者將 點著色問題延伸為距離 k 之內的所有節點皆需著上不同色 (k 為 1 時即為一般點 著色問題),其方法可適用於同步式、集中式以及分散式運算模型。其中同步與分 散式運算模型也是利用節點的唯一識別碼來打破對稱性。 Hedetniemi 等人 [HJS02] 提出了兩個同樣也是(∆ + 1)-著色的自我穩定演算 法,所假設之運算模型與 [GT00] 相同之區域集中式運算模型。第一種方法是根 據 Brooks’ Theorem 的特殊著色法,稱之 grundy coloring。優點是節點不需要知 道∆為何且找出來的解是 k(使用顏色數)個最大獨立集合(maximal independent set)。 當拓樸不屬於完全圖(complete graph)或奇數邊的環狀圖(cycle graph)時,只需∆個 顏色。第二種方法的是更為快速的著色法,並保證在 n 步驟內收斂(n 為節點數 目),但其解不為最大獨立集合。. 2.3 賽局理論(Game Theory) 賽局理論又名為博弈理論或對策理論,是一門探討多個個體(兩個以上)決策問題 之數理模型。賽局理論中,假設了在賽局中的參與者都是理性(rational)且自私 (selfish)的。賽局中不會有理性的參與者犧牲小我來增進整體利益,並且自私的參. 8.
(21) 與者會去思考其他對手的決策將會如何影響自己所獲得的回報,進而去選擇最有 利的策略,即當參與者在做決策時都是意圖最大化自己的利益值(utility)。賽局理 論源自經濟學領域,藉由將某些問題模組化成賽局的形式來預測未來的時局走向, 隨著賽局理論的研究發展,賽局理論的應用也發展到社會科學、生物科學、政治 學以及軍事領域,近年來則是廣泛的應用在電腦科學。不同的是,工程領域多利 用參與者的策略以及利益函數的設計,來將賽局走向引導到想要解決的問題。. 2.3.1 賽局的分類 賽局的模式可以按其特徵分類,同一賽局也可能擁有不同的分類。以下依賽局進 行的方式或者是模型設定的不同介紹幾種常見的賽局分類 : . 合作/非合作賽局 (Cooperative/Non-cooperative Games) 一般而言,合作與非合作賽局的分別在於參與者之間的行為互相影響時,是 否有一個具約束力的協議,如果有就是合作賽局,若否就是非合作賽局。非 合作賽局中強調的是個體的理性,藉由自私的行為來選擇適合的策略。非合 作賽局並非不能達到合作賽局的效果,如果賽局的設計者能夠讓參與者以理 性自私的方式增進自己利益的同時,也增加了某個整體利益的目標函式,這 種藉由非合作來達到彼此合作的結果這也是一種可行的辦法。由於非合作賽 局的現實情境遠比合作賽局來的多,而且在理論的發展上也比合作賽局來的 成熟,因此大部分的學者皆是以非合作賽局為研究對象。. . 靜態/動態賽局 (Static/Dynamic Games) 參與者的行動若有先後次序的區別,則可將賽局分成靜態賽局與靜態賽局兩 種。在靜態賽局中,參與者必須同時選擇他們的決策。而動態賽局則是參與 者在選擇策略時有先後順序之分,並觀察前面參與者的行動來選擇適當的策 略。動態賽局又可依參與者的決策原則分成最適回應與較適回應兩種決策機 制。最適回應是指參與者從目前可選擇的策略中選擇回報最高的策略,較適. 9.
(22) 回應則是選擇可以獲得較好回報的策略。 . 完全/不完全資訊賽局 (Complete/Incomplete Information Games) 若每一位參與者完全了解其他參與者所有可以選擇的策略和利益我們就稱 為完全資訊賽局;相反的,若是對於策略和利益了解的不夠精確或者只是了 解部分的參與者的偏好,而非所有參與者,稱為非完全資訊賽局。. . 完美/不完美資訊賽局(Perfect/Imperfect Information Games) 在賽局中,若每位參與者都知道所有其它參與者做的決策資訊,則稱為完美 資訊的賽局。;相反的,若有參與者無法知道所有其它參與者做的決策資訊, 則稱為不完美資訊賽局。. . 單次/重複賽局 (One-shot/Repeat Games) : 賽局中,若只進行一次決策就決定所有參與者的報酬,此種賽局稱為單次賽 局;賽局中的參與者若有進行多次決策的機會,則稱為重複賽局。. 2.3.2 賽局的定義 一個賽局可以由以下數個部分所組成: . 參與者集合𝑃 = (𝑝1 , 𝑝2 , … , 𝑝𝑛 ) (Player Set):賽局中能夠選擇決策決定行動的 個體,稱之參與者。𝑃為賽局中所有參與者𝑖所組成的集合,𝑛代表參與者的 總數,表示位參與者。. . 策略集合𝑆𝑖 (Strategy Set):賽局中參與者𝑝𝑖 的決策原則,𝑆𝑖 為參與者𝑝𝑖 所有可 能選擇的策略所組成的集合(𝑠𝑖 ∈ 𝑆𝑖 )。每位參與者的策略集合可以不同。. . 策略組態𝑆 = (𝑠1 , 𝑠2 , … , 𝑠𝑛 ) (Strategy Profile):策略組態𝑆為參與者當前所選 擇的策略所組成之向量,描述當前賽局中所有參與者選擇的策略,也可稱為 賽局的結果(outcome)。其中𝑠𝑖 代表賽局中對應到參與者𝑝𝑖 當前所選擇的策略。 若站在參與者𝑝𝑖 的角度也可以將策略組態表示為s = (𝑠𝑖 , 𝑆−𝑖 ),𝑆−𝑖 代表除了𝑝𝑖 以外所有參與者的策略組態。. 10.
(23) . 效用函數u(S), u(𝑠𝑖 , 𝑆−𝑖 ) (utility function):參與者𝑝𝑖 在某個策略組態中所能獲 得的利益,𝑆−𝑖 代表除了 pi 之外其他人所選擇的策略組態。不同研究者對效 用函數的定義並不一致。有的學者將效益函數定義為利益值 [ATL+10],因 此希望極大化效用函數值。有的學者則將效用函數定義為成本支出,因此希 望效用函數值愈小愈好 [Ros73] 與 [BFF+08]。我們的方法亦是將效用函數 定義為成本。. 2.3.3 賽局的均衡 在非合作賽局中存在一種特殊的策略組態,在此策略組態下沒有任何一個參與者 能夠因為獨自改變自身的策略而獲得更高的利益,此類策略組態被稱之為納許均 衡(Nash equilibrium)。. Definition 2.1 納許均衡 若 pi , i 1,, n ∀𝑠𝑖′ 𝜖𝑆𝑖 ,使得u(𝑠𝑖 , 𝑆−𝑖 ) ≥ u(s𝑖′ , 𝑆−𝑖 ),則s = (𝑠1 , 𝑠2 , … , 𝑠𝑛 )為納許 均衡。 賽局中每位參與者所獲得的效益跟其他參與者所做的決策有關,賽局在參與 者彼此相互影響之下有可能沒有辦法達到穩定狀態。因此賽局中是否存在納許均 衡通常也被視為賽局設計優劣的準則。一個賽局可能存在數個納許均衡,並非唯 一。上述所指之納許均衡為純策略(pure-strategy)之均衡。純策略指的是參與者一 次只能選擇一個策略。相對於純策略之外還有混合策略(mixed-strategy)的均衡解。 混合策略中,參與者加入比例和機率的要素選擇策略。現今研究多以純策略為主, 因為無法提供有力的模型以說明參與者如何隨機化決策。另外賽局的納許均衡與 問題的最佳解並非若且為若的關係。 有一類的賽局稱為潛力賽局(potential game) [MS96]。潛力賽局內所有參與者. 11.
(24) 想改變策略的動機可以用一個全域函數(global function)來表示,稱之潛力函數 (potential function)。. Definition 2.2 潛力賽局(Potential Game): 如果一個賽局Γ是潛力賽局,那麼至少存在一個潛力函數π,使得∀𝑝𝑖 ∈ 𝑃: ∀𝑠𝑖 , 𝑠𝑖′ ∈ 𝑆𝑖 ∷ sgn(u(s𝑖′ , 𝑆−𝑖 ) − u(𝑠𝑖 , 𝑆−𝑖 )) = sgn(π(s𝑖′ , 𝑆−𝑖 ) − π(𝑠𝑖 , 𝑆−𝑖 ))。 1 sgn(𝜌) = { 0 −1. if 𝜌 > 0, if 𝜌 = 0, if 𝜌 < 0.. 潛力賽局中存在某一種特例稱為確切潛力賽局(exact potential game)。在確切 潛力賽局中,如果參與者因改變策略而增加某個數量的利益值,那麼潛力函數也 可以提升同樣數量的值。. Definition 2.3 確切潛力賽局(Exact Potential Game) 如果一個賽局Γ是確切潛力賽局,那麼至少存在一個確切潛力函數π,使得∀𝑝𝑖 ∈ 𝑃: ∀𝑠𝑖 , 𝑠𝑖′ ∈ 𝑆𝑖 ∷ u(s𝑖′ , 𝑆−𝑖 ) − u(𝑠𝑖 , 𝑆−𝑖 ) = π(s𝑖′ , 𝑆−𝑖 ) − π(𝑠𝑖 , 𝑆−𝑖 )。 Monderer 等人 [MS96] 證明了潛力賽局中必定存在純策略的納許均衡,因 此潛力賽局可被用來證明賽局中納許均衡的存在,並且確切潛力賽局中有著稱為 finite improvement property 的性質。. Definition 2.4 finite improvement property (FIP) Finite improvement property 為賽局的一種性質。如果任何參與者為了增進自己利 益而偏離原先策略,均會同時增進一個有其上限的整體利益值,則此賽局會以有 限步驟收斂至納許均衡。. 12.
(25) 2.4 壅塞賽局(Congestion Games) Rosenthal [Ros73] 首先在 1973 年將多個使用者彼此競爭資源的情形歸納成一種 特殊的非合作賽局,稱為壅塞賽局。Rosenthal 假設了 n 位參與者與 R 種資源(或 稱 primary factors)。參與者的策略屬於 R 之子集合(2𝑅 )。參與者選擇使用資源就 要付出相對應的成本。壅塞的概念即選擇同一資源上的參與者越多,選擇此資源 的參與者就要付出更多成本,也就是參與者從資源獲得的利益會跟資源壅塞程度 (congestion level)呈反比。換句話說,賽局參與者選擇某資源所獲得的利益是與選 擇此資源人數相關的非遞增函數(non-increasing function)。 範例:假設在公路網上,每位參與者從選擇從特定起點到特定終點路徑,其 成本為時間。當參與者選擇同一條路徑(資源)時,需要的時間就會隨著壅塞程度 上升。此類壅塞賽局中,每位參與者的目標就是在與人彼此競爭資源的同時,選 出使自己耗時最短的路徑。在 Rosenthal 提出壅塞賽局的概念之後,又有多位學 者依據了參與者的利益函數與策略是否相同出了各種壅塞賽局的變形與研究。此 外 Rosnethal 在文中證明了任一(general)壅塞賽局中都保證存在至少一個純策略 的納許均衡。. Theorem 2.1 (Rosenthal, 1973) Every (general) Congestion Game possesses at least one pure Nash equilibria.. Milchtaich 證明了只有兩個策略的壅塞賽局擁有 finite improvement property, 但策略數在三個以上時不一定存在 [Mil96]。Milchtaich 後續又提出了參與者的 策略是選擇單一資源的壅塞賽局-Crowding Game,並證明此賽局可在多項式時 間 內 達到 納許 均衡 ,也 提 出參 與者 占用 資源 權 重不 同時 的賽 局 - weighted congestion game [Mil98]。. 13.
(26) Southwell 與 Huang 兩位學者 [SH11] 探討了在參與者只能選擇單一個 (singleton)同質資源(homogeneous resource)且參與者擁有不同利益函數(playerspecific)時的壅塞賽局,並證明其可在多項式時間內收斂至納許均衡。此處所謂 同質資源指的是資源都是同種類型,也就是參與者選擇擁擠程度相同的資源所獲 得的利益相等。 Chen 等人 [CXY+13] 利用賽局的方式解決多頻道多介面卡(multi-radio multi-channel)無線網路中節點的頻道配置問題。此賽局模型將節點視為參與者, 頻寬視為資源,使用同頻道的參與者則均分該頻寬。雖然論文中並沒有提到壅塞 賽局的概念,不過此賽局模型本質上是一種假設異質資源(heterogeneous resource) 的壅塞賽局。 上述資源分配問題中均假設資源的壅塞程度是與賽局中使用此資源的全部 使用人數相關。例如 Chen 等人在 [CXY+13] 中考慮的是參與者在單一碰撞領域 (single collision domain)時的情境,所以參與者使用資源的壅塞程度與所有使用此 資源的人數相關。事實上,資源的壅塞程度可能僅與部分相鄰的使用者有關。例 如:無線網狀網路在分配頻道時,只有與距離自己在一定範圍之內的節點使用同 頻道時才會造成干擾,若距離夠遠則可忽略。 Bilo 等人 [BFF+08] 首先考慮參與者只知道部分資訊之下競爭資源的壅塞 賽局模型,賽局中的參與者使用相同的線性利益函數且資源全為同質的,並將此 稱為圖形壅塞賽局。圖形壅塞賽局是一般壅塞賽局的延伸,或者說一般壅塞賽局 是圖形雍賽賽局的一種特例。當圖形壅塞賽局中所有節點皆相鄰,而形成完全圖 時,圖形壅塞賽局退化(reduce)為一般壅塞賽局。一般壅塞賽局所擁有的性質並 不一定適用於圖形壅塞賽局。 Ahmad 等人 [ALT+10] 也提出與圖形壅塞賽局[BFF+08]相同概念的賽局, 並 應 用 在 感 知 無 線 電 網 路 (Cognitive Radio Network) 中 的 頻 譜 分 享 (spectrum sharing)問題,稱為 Spatial Congestion Game (SCG)。與圖形壅塞賽局一樣,此賽. 14.
(27) 局參與者的利益函數仍為非遞增函數。不同點是參與者可以各自擁有不同的利益 函數。作者證明了當所有的資源都是同質時,SCG 同樣存在 finite improvement property。 Southwell 等人 [SCH12] 則依據參與者的策略類型將圖形壅塞賽局分成擬 陣(matroid)以及冪集合(power set)兩種,並證明了此兩種圖形壅塞賽局在同質資 源時可以使用懶惰最適回應(lazy-best response)的策略改變方式使賽局在多項式 時間內達到納許均衡。 圖形壅塞賽局 [BFF+08] 與 SCG [ATL+10] 與我們論文採用的模型差異在 於,前兩種賽局之參與者可以自由地從所有可能的資源中選擇可以獲得利益的資 源組合,並不限制選擇的資源數目,而我們的模型則限制每位參與者只能選擇固 定數量的資源組合。以無線網路中的頻譜分享問題為例,就是使用者去選擇能夠 較少人使用(提供較多頻寬)的頻道。而對於多頻道多介面卡的頻道配置的問題, 圖形壅塞賽局與 SCG 的賽局模型允許網路節點(參與者)選擇任意數量的頻道(資 源),而我們的模型只允許節點選擇固定數量的頻道,而此數量通常是受限於節 點配置的網路介面卡數量,但是仍須考慮節點之間存在共用頻道。若頻道數與網 路介面卡數量符合鴿籠定理十,頻道配置問題可視為圖形壅塞賽局。 我們將圖形壅塞賽局的模型應用於著色問題,其中所有顏色對使用者來說都 是同質的。我們的方法考慮了在顏色數不足以完成著色需求,允許部分節點著上 相同顏色之外。由先前的研究 [SH11] 可知,參與者只能選擇一個顏色當作策略 時,可以在有限步驟內收斂至納許均衡。在我們所假設的模型中,參與者的策略 為選擇固定數目之顏色,即所有的節點都選擇𝑘 ′ 個顏色(𝑘 ′ ≤ |𝐾|)且不能重複。許 多資源配置問題都符合這種情境,如無線網狀網路中的節點都配置相同數目的網 路卡。我們將於第三章證明我們所提出的賽局在此限制下也會在有限步驟內收斂。. 15.
(28) 第三章. 自我穩定分散式著色演算法. 本章將會介紹利用賽局理論來設計分散式自我穩定著色演算法。雖然是利用著色 問題當模型,不過賽局中的效用函數不是設計來追求最小著色數,而是希望能在 顏色(資源)有限的情況下,將顏色平均的分配在各個節點上,我們將選擇相同顏 色的參與者視作造成壅塞的競爭者,參與者的成本則跟競爭者人數有關,最後會 利用此效用函數將賽局設計可以運作在分散式系統中的演算法,並利用納許均衡 來證明此演算法符合自我穩定的特性。. 3.1 最小顏色衝突問題 我們假設圖𝐺 = (𝑉, 𝐸) 中有𝑛 = |𝑉|個節點,每個節點需從 k 個顏色集合 K 中選 出𝑘 ′ 個不同的顏色。令𝐶𝑖 為節點 i 所選出的顏色集合。最小顏色衝突問題定義為 在𝐺中找出一種顏色配置方式滿足min ∑(𝑢,𝑣)∈𝐸|𝐶𝑢 ∩ 𝐶𝑣 |。 傳統著色問題要求顏色配置之後不能有任何相鄰節點使用共同顏色,即對任 何(𝑢, 𝑣) ∈ 𝐸,須滿足𝐶𝑢 ∩ 𝐶𝑣 = 𝜙。最小顏色衝突問題在目前可使用顏色數不足 以使顏色恰好配置時,則盡量減少顏色衝突數。當min ∑(𝑢,𝑣)∈𝐸|𝐶𝑢 ∩ 𝐶𝑣 | = 0,即 代表顏色數足夠使所有相鄰節點沒有配置到共同的顏色,此時即變成傳統著色問 題。當min ∑(𝑢,𝑣)∈𝐸|𝐶𝑢 ∩ 𝐶𝑣 | > 0,代表可用顏色數不足以使每一對相鄰節點皆沒 有配置到共同的顏色。. 3.2 賽局設計 我們假設圖𝐺中的𝑛個節點為參與者,每位參與者之策略為選擇使用之 k’個顏色 集合。以下將此問題對應之賽局標示為ℊ = ⟨𝐺 , 𝑃, 𝐾, 𝑆, 𝑓⟩: . 無向圖𝐺 = (𝑉, 𝐸):𝑉為 n 個節點之集合𝑉 = {1,2, . . , 𝑛},其中若節點 i 與節 點 j 之間存在一條邊(𝑖, 𝑗) ∈ 𝐸則代表兩節點相鄰。. . 參與者集合𝑃 = {𝑝1 , 𝑝2 , … , 𝑝𝑛 } (pleayer set):賽局中所有參與者所組成的集 16.
(29) 合。本賽局中一共有 n 位參與者,參與者的編號以𝑝𝑖 表示。 . 顏色集合𝐾 = {1,2, … , 𝑘} (color set):賽局中共擁有 k 個顏色可供參與者選擇。 根據賽局需求,我們可以調整每位參與者可選擇的顏色數,並將參與者的策. 略定義如下: . 𝑖 參與者策略𝑠𝑖 = (𝑐1𝑖 , 𝑐2𝑖 , … , 𝑐𝑘𝑖 ), 𝑐𝑗∈𝐾 ∈ {0,1} (strategy):參與者的策略為一組. 向量,其中𝑐𝑗𝑖 表示參與者 i 是否有使用 j 顏色,若𝑐𝑗𝑖 為 1 時表示參與者 i 有使 用該顏色,反之則否。每位參與者所允許的著色數等於𝑘 ′ 。 . 策略組態 S = ∏𝑖∈𝑁 𝑠𝑖 = (𝑠1 , 𝑠2 , … , 𝑠𝑛 ) (strategy profile):賽局中所有參與者的 策略之集合,即目前所有參與者的顏色配置結果。 於定義效用函數時,由於最小顏色衝突問題目的在儘量避免與鄰居選擇相同. 顏色,一個直覺的效用函數定義為 𝑢𝑖 (𝑠𝑖 , 𝑆−𝑖 ) = −𝛼 ∙ ∑(𝑖,𝑗)∈𝐸|𝐶𝑖 ∩ 𝐶𝑗 |. (3.1). 效用函數𝑢𝑖 (𝑠𝑖 , 𝑆−𝑖 )代表了參與者𝑝𝑖 選擇𝑠𝑖 策略在其他參與者的策略組合為 𝑆−𝑖 時所獲得的回報(payoff)。參與者選擇某個策略所要付出的成本為一常數𝛼乘 上與所有鄰居選擇相同顏色的數目。參與者選擇某個策略的利益值定義為成本值 的負數。由於此賽局為非合作賽局,所以每位參與者都會採取利己的行為去選擇 付出最少成本的顏色,即max(𝑢𝑖 (𝑠𝑖 , 𝑆−𝑖 ))。 如果將顏色視為資源,並從資源分配的角度思考同一問題,最小顏色衝突問 題也等同於儘量減少資源壅塞程度。因此我們也可以將競爭者付出的成本相關於 所選擇資源的壅塞程度。在我們的問題中,只有鄰居節點的選擇會影響節點所選 擇資源的壅塞程度。 首先我們將𝐺𝑐 = (𝑉𝑐 , 𝐸𝑐 )定義為所有選擇顏色 c 所構成的導出子圖(induced subgraph)。𝑉𝑐 為圖𝐺當中所有選擇顏色 c 的節點所組成,若 G 中任相鄰兩點𝑢, 𝑣 滿足c ∈ 𝐶𝑢 ∩ 𝐶𝑣,則在𝐺𝑐 中存在一邊(𝑢, 𝑣) ∈ 𝐸𝑐 [BFF+08]。導出子圖𝐺𝑐 代表顏色 c 配置給節點的情形(圖 3.1)。從此角度,我們亦可將參與者 i 的效用函數定義為. 17.
(30) (3.2)。 𝑢𝑖 (𝑠𝑖 , 𝑆−𝑖 ) = −𝛼 ∙ ∑𝑐∈𝑠𝑖 𝛿𝑐𝑖. (3.2). 其中𝛿𝑐𝑖 為參與者 i 在顏色 c 的導出子圖𝐺𝑐 中的分支度,表示 i 的鄰居節點也 選擇了顏色 c 的個數。參與者選擇顏色 c 所要付出的成本為𝛼乘上𝛿𝑐𝑖 ,再乘上負 號作為參與者𝑝𝑖 選擇策略𝑠𝑖 可以獲得的利益值。不難看出(3.2)與(3.1)是等效的。. 1 4 圖 3.1a 圖 G:著上黑色與白色的四個節點. 1. 4 圖 3.1b 導出子圖 Gblack 與 Gwhite. 3.3 賽局的穩定性 本論文所提出的著色賽局假設一開始所有參與者從可用顏色中選取任意的顏色。 我們假定此賽局為動態賽局,一次只會有一位參與者改變決策,參與者們可以不 斷根據其他參與者的選擇來決定是否要改變策略,直到所有參與者都不想改變策 略為止。 並非每種類型的賽局都會有均衡點的存在。Bilo 等人[BFF+08]證明圖形壅塞 賽局是為一確切潛力賽局,因此從任何賽局狀態出發,最後都會進入納許平衡點。 在圖形壅塞賽局中,每位參與者的策略為任意可用資源的子集。為了避免壅塞, 18.
(31) 參與者會盡量減少重複資源的使用。我們的賽局模型則要求每位參與者選擇固定 數量的資源,因此並非典型的圖形壅塞賽局。我們參考[BFF+08]的證明,設計並 證明了我們的賽局中存在確切潛力函數。以下為證明相關內容。 此賽局同時只會有一位參與者改變策略,所以參與者𝑝𝑖 將它的策略從𝑠𝑖 改成 𝑠𝑖′ 後不會因為同一時間有其他參與者改變策略而影響效用函數的計算。因此,我 們可以將(3.2)式改寫成 𝑢𝑖 (𝑠𝑖′ , 𝑆−𝑖 ) = −𝛼 ∙ ∑𝑐∈𝑠′ 𝛿𝑐𝑖. (3.3). 𝑖. Theorem 3.1: 著色賽局ℊ為確切潛力賽局。 Proof: 給定任意策略組態 S,S 對應一組導出子圖𝐺𝑐 ,c {1, 2, …, k}。令𝐸𝑐 (𝑆) 為 S 對應顏色 c 的導出子圖𝐺𝑐 的邊集合。考慮下列函數 π(S) = ∑𝑐∈𝐾 𝐹𝑐 (𝑆), 𝑤ℎ𝑒𝑟𝑒 𝐹𝑐 (𝑆) = −(|𝐸𝑐 (𝑆)|)𝛼. (3.4). (3.4)中,|𝐸𝑐 (𝑆)|為顏色 c 的導出子圖𝐺𝑐 中的邊數,也就是策略組態 S 中使用顏色 c 造成的衝突數。π(𝑆)為策略組態 S 中所有顏色的總衝突數加總後乘上𝛼值,當 作策略組態 S 所要付出的成本。我們要證明的是參與者在改變決策時增進的利益 值會與總顏色衝突數減少的數量相同。為方便解釋起見,我們將成本乘上一負值 當作利益。接下來我們將證明下列式子: ∀𝑝𝑖 ∈ 𝑃: ∀𝑠𝑖 , 𝑠𝑖′ ∈ 𝑆𝑖 ∷ π(s𝑖′ , 𝑆−𝑖 ) − π(𝑠𝑖 , 𝑆−𝑖 ) = u𝑖 (s𝑖′ , 𝑆−𝑖 ) − u𝑖 (𝑠𝑖 , 𝑆−𝑖 ) 若有參與者𝑝𝑖 改變決策,即代表𝑝𝑖 從目前策略𝑠𝑖 中移除某些顏色,並加入相對數 量的新顏色。令𝑝𝑖 改變後的決策為𝑠𝑖′,策略組態為𝑆 ′。函數於策略改變前後的變 化量為 π(s𝑖′ , 𝑆−𝑖 ) − π(𝑠𝑖 , 𝑆−𝑖 ) = ∑𝑐∈𝐾 𝐹𝑐 (𝑆 ′ ) − ∑𝑐∈𝐾 𝐹𝑐 (𝑆). (3.5). = ∑𝑐∈𝑠′ \𝑠𝑖 (𝐹𝑐 (𝑆 ′ ) − 𝐹𝑐 (𝑆)) − ∑𝑐∈𝑠𝑖 \𝑠′ (𝐹𝑐 (𝑆) − 𝐹𝑐 (𝑆 ′ )). (3.6). 𝑖. 𝑖. 因為同時只會有一位參與者改變決策,代表除了𝑝𝑖 外其他參與者的策略保持不變, 19.
(32) 所以(3.6)式可以改寫成下式 = ∑𝑐∈𝑠′ \𝑠𝑖 (− (𝛿𝑐𝑖 (𝑆 ′ )) 𝛼) − ∑𝑐∈𝑠𝑖 \𝑠′ (− (𝛿𝑐𝑖 (𝑆)) 𝛼). (3.7). = 𝑢𝑖 (𝑆′) − 𝑢𝑖 (𝑆). (3.8). 𝑖. 𝑖. 由(3.8)式可得在同一時間只有一位參與者改變決策時,任何參與者改變決策的利 益值變化恰好為函數π值的變化,即∀𝑝𝑖 ∈ 𝑃: ∀𝑠𝑖 , 𝑠𝑖′ ∈ 𝑆𝑖 ∷ π(s𝑖′ , 𝑆−𝑖 ) − π(𝑠𝑖 , 𝑆−𝑖 ) = u𝑖 (s𝑖′ , 𝑆−𝑖 ) − u𝑖 (𝑠𝑖 , 𝑆−𝑖 )。由此我們證明了函數π為此賽局中的確切潛力函數,故此 賽局為確切潛力賽局。. 3.4 自我穩定著色演算法 我們接著將設計出的賽局,改寫成一個在集中式運算模型下運作的自我穩定著色 演算法。無向圖𝐺 = (𝑉, 𝐸)代表分散式系統的網路拓樸,其中節點𝑖 ∈ 𝑉表示系統 中的一個行程,而任意兩節點中若是存在一條邊{𝑖, 𝑗} ∈ 𝐸代表系統中兩行程之間 的連結。本小節共分成部分,第一部分將介紹我們演算法的設計,第二部分則探 討我們演算法設計的合理性。為名詞統一,我們之後將使用節點統稱分散式系統 中的行程。. 3.4.1 演算法設計 此系統的假設如下: (1) 系統中每個節點有一個顏色集合紀錄目前持有之顏色𝐶𝑖 ∈ 𝑃(𝐾),其中|𝐶𝑖 | = 𝑘 ′ ,𝑃(𝐾)為顏色集合 K 之冪集合。 (2) 𝑁𝑖 為節點 i 之鄰居集合。 (3) 節點 i 記錄鄰居目前之顏色集合𝐶−𝑖 = {𝐶𝑗∈𝑁𝑖 }。 (4) 顏色 c 之壅塞程度𝐿𝑖 (𝑐, 𝐶−𝑖 ) = ∑𝑗∈𝑁𝑖|{𝑐} ∩ 𝐶𝑗 | 我們將著色賽局中參與者的效用函數改寫成自我穩定演算法之先決條件以 及對應動作。在分散式系統中,節點可以讀取鄰近節點區域變數的值,並藉此計 算各個節點的效用函數是否符合需求,若不符合則成為特權節點進而改變自己的 區域變數值。Algorithm 3.1 與 Algorithm 3.2 分別為參與者使用較適回應和最適 20.
(33) 回應機制之形式。分散式系統中的節點的運算能力通常有所限制,考量到解空間 (solution space)所造成的搜尋成本,我們將策略轉換機制稍作修改。原先賽局參 與者的決策機制是選擇最大回報的策略,即顏色所形成的集合。我們將決策機制 改為單次決策只能替換單一顏色,即決策前後只會有一個顏色的差異。由於顏色 之 間 沒 有 相 依 性, 我們 選 擇 將 目 前 顏色 集合 𝐶𝑖 中 壅 塞 程 度最 高 的顏 色 𝑐 = arg max 𝐿𝑖 (𝑐, 𝐶−𝑖 )改換成不在𝐶𝑖 中且壅塞程度比 c 小的另一個顏色。 𝑐∈𝐶𝑖. Algorithm 3.1 Self-stabilizing Coloring Algorithm <Better Response Version> Shared Variable:𝐶𝑖 ∈ 𝑃(𝐾), 𝑤ℎ𝑒𝑟𝑒 |𝐶𝑖 | = 𝑘 ′ Rule: (𝑐 = arg max 𝐿𝑖 (𝑐, 𝐶−𝑖 )) ∧ (∃𝑐 ′ ∈ 𝐾 − 𝐶𝑖 , 𝐿𝑖 (𝑐 ′ , 𝐶−𝑖 ) < 𝐿𝑖 (𝑐, 𝐶−𝑖 )) → 𝐶𝑖 = 𝑐∈𝐶𝑖. 𝐶𝑖 ∖ {c} ∪ {𝑐 ′ }. Algorithm 3.1 為賽局中的參與者使用較適回應作為決策原則之演算法。若在 未選顏色集合K − 𝐶𝑖 中,存在某個顏色𝑐 ′ 之壅塞程度𝐿𝑖 (𝑐 ′ , 𝐶−𝑖 )比顏色集合𝐶𝑖 中壅 塞程度最高的顏色 c 來得低,則可將顏色 c 替換為𝑐 ′ 。. Algorithm 3.2 Self-stabilizing Coloring Algorithm <Best Response Version> Shared Variable:𝐶𝑖 ∈ 𝑃(𝐾), 𝑤ℎ𝑒𝑟𝑒 |𝐶𝑖 | = 𝑘 ′ Rule:( 𝑐 ′ = arg ′min 𝐿𝑖 (𝑐 ′ , 𝐶−𝑖 )) ∧ (𝑐 = arg max 𝐿𝑖 (𝑐, 𝐶−𝑖 )) ∧ (𝐿𝑖 (𝑐 ′ , 𝐶−𝑖 ) < 𝑐 ∈𝐾−𝐶𝑖. 𝑐∈𝐶𝑖. 𝐿𝑖 (𝑐, 𝐶−𝑖 )) → 𝐶𝑖 = 𝐶𝑖 ∖ {c} ∪ {𝑐 ′ }. Algorithm 3.2 則代表參與者使用最適回應作為決策原則之演算法。節點 i 在 未選顏色集合K − 𝐶𝑖 中求出最小壅塞程度之顏色𝑐 ′ ,若𝑐 ′ 壅塞程度𝐿𝑖 (𝑐 ′ , 𝐶−𝑖 )低於 原先顏色集合中壅塞程度最高之顏色 c,則將顏色 c 替換為𝑐 ′ 。 21.
(34) 3.4.2 演算法的合理性 在分散式系統 S 中,當全域狀態(global state)符合系統要求之前提 P 時,稱此系 統進入合法狀態。而一個自我穩定分散式系統中必須符合封閉性(closure)以及收 斂性(convergence)。一旦系統已經進入合法狀態,則未來仍必定為合法狀態的話, 我們稱此系統符合封閉性;收斂性則是要求無論系統從任意狀態開始,最終都會 在有限步驟內達到合法狀態。在 [DSR99] 中提出了沉默穩定(silent stabilization) 的概念。一個自我穩定演算法若稱為沉默穩定則若且唯若該演算法收斂到合法狀 態時,所有的共享變數都已固定並且不再改變其值。為了證明演算法的正確性, 以下將證明我們的方法符合此兩種特性且具有沉默穩定的性質。首先我們定義我 們的系統中何謂合法狀態:. Definition 3.1 著色演算法之合法狀態(Legitimate State) 𝑷: {∀i ∈ V, ∄𝐶𝑖′ ∈ 𝑃(𝐾) ∧ (|𝐶𝑖′ | = 𝑘 ′ ), ∑. 𝑐∈𝐶𝑖′. 𝐿𝑖 (𝑐, 𝐶−𝑖 ) < ∑. 𝑐∈𝐶𝑖. 𝐿𝑖 (𝑐, 𝐶−𝑖 )}. 當 P 成立時表示系統進入合法狀態。此時,系統中不存在一個顏色集合𝐶𝑖′ ∈ P(K)且|𝐶𝑖′ | = 𝑘 ′ 使得任意程序 i 可以藉由改變顏色的方式來降低自己的壅塞程 度,即代表每個節點都已換成區域最少人使用的顏色。. Lemma 3.1 著色演算法符合收斂性。 Proof: 先 前 所 提 出 的 著 色 賽 局 為 一 確 切 潛 力 賽 局 , 具 有 finite improvement property 性質。由此可知不管起始狀態為何,賽局最終會在參與者自私地改進自 身利益下收斂到納許均衡。在我們提出的著色演算法中,節點也是在集中式運算 模型下有次序地藉由不斷的改變自己顏色來降低節點的壅塞程度。但這樣只能保 證系統會收斂到一個穩定狀態,仍需證明此系統在此全域狀態是符合前提 P 的 合法狀態。 22.
(35) 我們假設系統在收斂之後的全域狀態並不滿足前提 P,即 Algorithm 3.1 與 3.2 中沒有任何節點的規則可以被啟動。但若前提 P 不被滿足,則必存在一個顏 色集合𝐶𝑖′ 可使節點 i 啟動規則。這樣一來則和先前之假設矛盾,所以若系統在收 斂到某個穩定狀態的同時,全域狀態也會是合法狀態。由此可知我們的系統在不 管起始狀態為何,皆可在有限時間內到達某個穩定的合法狀態,符合封閉性。. Lemma 3.2 著色演算法符合封閉性。 Proof: 由 Lemma 3.1 可知,我們所設計的著色演算法在系統收斂到穩定狀態之 後則不會有任何一個節點的規則被啟動。這代表著系統中的所有節點皆不會改變 自身所選擇的顏色集合,代表系統的全域狀態在不受外力影響之下不會再作改變, 符合自我穩定演算法的封閉性。. *c(A) = Black Need change! c(A) = white. B. A. 圖 3.2 傳遞延遲造成的訊息不一致. 3.5 應用於無線網路之中 自我穩定演算法的 Guarded commands 型式所假設的執行環境並不存在於由 網路所構成之分散式系統架構。在將演算法改寫成無線網路中的分散式協定時, 第一個要面臨的挑戰就是節點的區域變數存取問題,我們將網路中的無線節點所 配置的記憶體區分為兩個部分,一部分是記錄自己顏色資訊的區域變數,另一部 分則是記錄鄰居區域變數的快取(cache)之顏色資訊,節點在改變顏色之後會立即 發送更新訊息給鄰居節點。區域變數存取問題可以分成兩部分,首先自我穩定演 算法一般是以直接存取記憶體的方式來取得相鄰節點的共享變數,但網路中節點 的資訊傳遞則必須透過訊息傳遞(message passing)的方式(如單點傳輸、多點傳輸 23.
(36) 或廣播)。如此一來必須考慮兩個問題:第一個是傳遞延遲造成的資訊不一致 (incoherent)。例如圖 3.2 中的節點 A 已經更新自己的顏色並廣播更新訊息給鄰近 節點,若此時存在一個節點 B 尚未收到更新訊息而根據舊的資訊而啟動先決條 件,可能會使系統沒辦法進入穩定狀態。第二個問題則是訊息的遺失,若在訊息 傳輸的過程中發生碰撞或其他傳輸錯誤,訊息可能無法送達目的節點。自我穩定 分散式系統的錯誤容忍特性可以在節點發生內部運算或記憶體錯誤之後自動將 系統導回正確之狀態,但並未處理通訊錯誤的情形。如果分散式協定不處理此種 情形,最終可能會使系統誤以為進入穩定但其實是不合法的狀態。第二個面臨的 挑戰是節點的同時動作(simultaneous moves)。分散式演算法可以藉由假設集中式 運算模型來排除此問題,不過在網路分散式系統中的節點要實現集中式運算模型 是 非 常 困 難 的 , 因 為節 點 之 間 並 不 存 在 一個 同 步 的 全 域 時 鐘 (global clock) [Lam78],必須證明網路中沒有節點同時運作才能保證系統的穩定性。 我們的系統假設節點利用多點傳輸(multicast)的方式發送更新訊息給周遭的 節點。傳遞延遲基本上是由網路傳輸環境不良所造成的不可抗拒問題,我們假設 傳輸環境可以保傳遞延遲在固定時間內,不會無限期的延遲。節點間傳遞訊息的 頻道是採用先進先出(FIFO, First in First out),不會有較晚發送的訊息後來居上的 問題。 我們在每個節點上設置了兩個計時器來試圖解決訊息遺失與同步啟動的問 題。第一個計時器 T1 用來錯開節點的執行順序。節點在初始化時會產生一隨機 值來設定 T1。當 T1 歸零,代表節點可檢查是否有更好的顏色可供改變,並作顏 色改變之對應動作。鄰居在收到更新訊息之後立即檢查訊息中的顏色資訊是否與 快取版本一致,若不一致且沒有改變顏色的意圖則重新產生一隨機值設定T1。每 個節點都有著自己獨立的計時器 T1,此機制可以有效錯開節點的執行順序,並降 低節點發送更新訊息的頻率,若是可以保證相鄰節點的計時器T1 不會同時歸零的 話就不會產生同時動作的問題。在訊息遺失方面,若網路環境的 MAC 層沒有辦. 24.
(37) 法解決訊息遺失的問題,我們使用第二個計時器 T2 來定期更新(periodically broadcast)顏色資訊來避免訊息遺失可能所造成的影響。當計時器 T2 歸零時,節 點會主動將自己當時的顏色資訊告知鄰居,因此就算顏色資訊在之前傳輸時遺失, 只要訊息遺失的機率不為 1,顏色資訊最終也會正確送往目的地。我們並不讓節 點主動去詢問鄰近節點之資訊,所以定期廣播的設計肩負錯誤更正的作用。 若是無法保證每個節點計時器 T1 歸零的時間點皆不同,我們為每個節點賦 予一個唯一的識別碼並引入臨界區間(critical section)機制使相鄰節點間達成區域 性的互斥存取(mutual exclusion)。當節點的計時器 T1 逾時,節點會檢查是否存在 更佳的顏色,但不會立即改變決策,而是先發送請求訊息給鄰近節點以要求進入 臨界區域。任何節點收到請求訊息時,若沒有意圖進入臨界區域或識別碼值小於 傳送請求訊息的節點,皆會回覆同意訊息,否則將該請求訊息暫時存到佇列 Q 中, 等待離開臨界區間才釋放這些訊息。傳送請求訊息的節點在收到所有鄰居節點的 同意訊息後,才可以獲准進入臨界區域以改變決策。此時,節點在臨界區域中需 做第二次檢查是否需要改變顏色,若存在更好的顏色即改變並發送更新訊息給鄰 居。在節點離開臨界區域後則一一回覆同意訊息給先前被卡在佇列 Q 中的節點, 如此一來可以有效的將相鄰節點的執行順序錯開。雖然單一節點意圖進入臨界區 間時,最多需要等待所有的鄰近節點同意即可,不過鄰近節點仍有可能被自己鄰 居以外的節點給卡住,而節點等待進入臨界區間的最長時間則與網路中的直徑 (diameter)有關,若網路拓樸是環狀拓樸或線狀拓樸時則剛好等於節點數。 最後關於系統的穩定性方面,原系統若收斂到合法狀態之後會立即停止。但 是因為我們使用定期傳送更新資訊來避免遺失訊息,所以系統的節點仍會不斷啟 動並執行相對應的事件,因此需要將系統的穩定狀態重新定義。新的穩定狀態定 義為若系統中所有節點的計時器 T1 都已歸零,且網路中只存在由計時器 T2 所觸 發的更新訊息,代表則系統進入穩定狀態。不過在分散式系統中,沒有方法能夠 驗證系統是否進入我們重新定義的穩定狀態。. 25.
(38) Algorithm 3.3 為我們將 Algorithm 3.2 改寫成在無線網路中所執行的分散式 協定。每個節點上運行的分散式協定一共分成六個事件驅動的程序,節點所發送 的訊息類型可以分成三種,分別是顏色資訊、請求訊息以及准許訊息。我們假設 網路中各個節點的甦醒時間不同,<Procedure 1>啟動節點的參數與計時器作初始 化,並告知周遭鄰居起始顏色資訊。若節點在未開啟前就收到鄰近節點所傳送之 訊息,則立即開啟並執行初始化動作。<Procedure 2>為收到鄰居更新訊息時之對 應動作,*𝐶𝑗 代表快取版本的節點 i 所選擇之顏色集合。<Procedure 3>則在計時 器T1 歸零時啟動,檢查是否需要改變顏色以及請求進入臨界區間之動作。 <Procedure 4>是收到鄰居所發送之准許訊息時所對應之動作。<Procedure 5>則是 在收到鄰居所發送之請求訊息時,確認是否准許鄰居進入臨界區間。<Procedure 6>是令節點的計時器 T2 歸零時定期發送更新訊息。. Algorithm 3.3 Event-driven procedures for each process 𝑝𝑖 On initialization. <Procedure 1>. cs.flag false Q N0 send update message {𝑪𝒊 } to all neighbors load T1 with a random value load T2 with a constant value end. On receiving a update message{𝐂𝐣 } from 𝑝𝑗 if *𝑪𝒋 ≠ 𝑪𝒋 and cs.flag = false then load T1 with a random value 26. <Procedure 2>.
(39) *𝑪𝒋 = 𝑪𝒋 else *𝑪𝒋 = 𝑪𝒋 end. When T1 expires. <Procedure 3>. Compute the set of best response color 𝐵𝑖 (𝐶) if 𝐵𝑖 (𝐶) ≠ 𝜙 then send {𝑟𝑒𝑞𝑢𝑒𝑠𝑡𝑖 } messages to all neighbors cs.flag true N |𝑁𝑖 | end-if end. On receiving a {𝒂𝒄𝒄𝒆𝒑𝒕𝑗 } message from 𝑝𝑗. <Procedure 4>. if cs.flag = true then NN–1 if N = 0 then //Entering critical section Compute the set of best response color 𝐵𝑖 (𝐶) if 𝐵𝑖 (𝐶) ≠ 𝜙 then choose a color set from 𝐵𝑖 (𝐶) randomly send update message {𝐶𝑖 } to all neighbors cs.flag false //leaving critical section send {𝒂𝒄𝒄𝒆𝒑𝒕 𝑖 } messages to all nodes in Q //release blocked messages Q 27.
(40) end-if end-if end-if end. On receiving a {𝒓𝒆𝒒𝒖𝒆𝒔𝒕𝑗 } message from 𝑝𝑗. <Procedure 5>. if cs.flag = false send_back {𝒂𝒄𝒄𝒆𝒑𝒕 𝒊 } messages to 𝑝𝑗 else if 𝐼𝐷𝑖 < 𝐼𝐷𝑗 send_back {𝒂𝒄𝒄𝒆𝒑𝒕 𝒊 } messages to 𝑝𝑗 else Q Q {𝑝𝑗 } end-if end. When T2 expires. <Procedure 6>. send update message {𝑪𝒊 } to all neighbors load T2 with a constant value end. 28.
(41) 第四章. 模擬實驗. 4.1 實驗設計與參數設定 本論文使用 C++語言來模擬分散式系統中實作最適回應與較適回應機制的自我 穩定著色演算法。兩方法皆使用集中式的運算模型,利用亂數給予每個節點一個 唯一的倒數值。每回合以倒數值最小的節點來檢查是否有先決條件被啟動,若有 則作相對應的動作,直到系統中不存在任何特權節點為止,此時系統進入合法的 穩定狀態。 模擬實驗分成三個部分。首先比較依據賽局所設計的自我穩定著色演算法在 顏色數為∆ + 1時與傳統自我穩定著色演算法在全部使用顏色數之差異。第二部 分則是我們所提出的演算法在最適回應與較適回應機制下,對於最小顏色衝突數 的效能差異。兩個部分皆是利用每個節點平均做了幾次顏色轉換來作為評斷收斂 時間快慢的效能標準。上述兩個實驗分別運作在四種不同拓樸邏輯模型,分別為 Unit Disk Graph [CCJ90]、ER model [ER60]、WS model [WS98] 、BA model [BA99]。 每個數據皆是在同模型 1000 種不同拓樸下所取的平均值。最後的部分則將我們 更改過後的無線網路協定版本模擬實作在 Unit Disk Graph 模型下,並觀察賽局 與協定的不同以及不同參數設定對於整體效能的影響。以下依序介紹四種拓樸邏 輯模型以及實驗參數設定。. Unit Disk Graph (UDG) [CCJ90]: 我們在 1000 m × 1000 m 二維平面中隨機放置 n 個節點。每個節點使用固定的 傳輸半徑(𝑅𝑡 )。若任兩節點間距離小於傳輸半徑,兩點間就會存在一條連結(邊)。 圖 4.1 即為一個 UDG。白色圓圈代表節點,虛線部分代表每個節點的傳輸範圍, 黑色實線代表邊。產生 UDG 拓樸邏輯時,若有節點的位置被分配在較偏遠的位 置而不在任何其他節點的傳輸半徑內,則此節點會成為孤立點,而使得網路拓樸 29.
(42) 成為不連通。此時我們會捨棄此拓樸,直到產生連通圖為止。. 圖 4.1 Unit Disk Graph 的拓樸邏輯. ER Model [ER60]: 由60年代開始Erdős與Rényi所提出的隨機網路拓樸,是由隨機過程所產生出的。 圖形中每個節點與其它任何節點(無論遠近)是否存在邊相接都是依照一個機率 (0 < 𝑃𝑒 < 1)來決定,所建構出的網路就是ER模型的網路。實驗中我們同樣捨棄 不連通的隨機網路拓樸。隨機網路的特性是大部分節點的分支度都會接近某個平 均值,遠大於或遠小於此平均值的節點數目是較少的,屬於卜瓦松分布(Poisson distribution)。. WS Model [WS98]: 1998 年 Watts 與 Strogatz 提出了 WS 模型來解釋小世界網路。兩人假設小世界模 型是介於 regular network (圖 4.2) 和隨機網路之間的網路。模型的建構過程為: (1) 首先建構一個 n 個節點的 regular graph。這個網路中的每個節點都與離它最 近的 2𝑘個節點相連,其中𝑘是一個遠小於 n 的正整數。圖 4.2 所示為 n = 7 且 k = 2 的 regular graph。(2) 選擇從網路中的某個節點 (稱為 1 號節點) 開始將所有節 點順時針遞增編號。再來判斷 1 號節點的第 1 條邊是否須改和其他目前還沒有與 30.
(43) 此節點相連的節點重連,此重連事件的機率為𝑃𝑟 (0 < 𝑃𝑟 < 1)。重連方式為保持 1 號節點這一端不變,將邊的另一端隨機連接至網路中目前還沒有邊與 1 號節點相 接的另一個節點。依上述步驟依序判斷 1 號節點的所有邊,才依序換對 2 號節點 進行判斷。若有某節點的某個邊為之前被重連過的,則不再重複進行判斷。重複 此步驟直到所有節點都被檢查過為止。最後必須檢查結果是否為連通圖。分支度 的分布為卜瓦松分布(Poisson distribution)。. 圖 4.2 n = 7 且 k = 2 的 regular graph. BA Model [24]: Barabási 與 Albert 在 1999 年提出 BA 模型用以分析複雜網路。複雜網路反應出 現實生活中的網路拓樸,如新網頁一般會有到知名的網路站點的連接,新加入社 群的人會想與社群中的知名人士結識,新的論文傾向於引用已被廣泛引用的著名 文獻,新機場會優先考慮建立與大機場之間的航線等。 BA 模型的建構過程如下:(1) 增長: 從一個較小的網路𝐺0 開始 (有𝑚0 個節 點以及𝐸0 條邊),之後每次都加入一個新的節點到拓樸邏輯中。(2) 連接:當新的 節點要加入拓樸邏輯時,會向原有的𝑚0 個節點連出 m 個邊 (𝑚 ≤ 𝑚0 )。而邊連接 的方式會優先考慮分支度大的節點。網路中節點被接邊的機率為 Pi (計算如 4.1 31.
(44) 式,𝑑𝑖 為節點 i 的分支度,分母為目前網路中所有節點的分支度總合)。 𝑑𝑖. 𝑃𝑖 = ∑𝑛. (4.1). 𝑗=1 𝑑𝑖. 依據上述步驟建構出 BA model 的拓樸邏輯,必須檢查是否為連通圖,若不是則 再重覆上述步驟,直到產生連通圖為止。BA model 的特徵為大部份的節點分支 度都很小,而且只有極少的節點與非常多的節點連接,分支度分布屬於 Powerlaw 分布。. 表 4.1 實驗 4.2 參數設定 拓樸邏輯名稱. 設定參數. UDG. 𝑛 = 50~100, 𝑟 = 200. ER model. 𝑛 = 100,P𝑒 = 0.1~0.5. WS model. 𝑛 = 100,𝑘 = 2,P𝑟 = 0~1. BA model. 𝑛 = 100,𝑚0 = 5,𝑚 = 1~5. 4.2 使用顏色數實驗 我們所提出的自我穩定著色演算法雖然是為了解決最小顏色衝突問題所設計,不 過在可用顏色數為∆ + 1時,仍能保證可以找出滿足古典圖著色問題的解。本實 驗對我們的方法與傳統自我穩定著色演算法 [GT00, HJS02, MFL+06] 進行使用 顏色數目以及收斂時間的比較。初始時設定隨機給予各節點一個顏色。 圖 4.3 至圖 4.6 分別是在 UDG、ER、WS 與 BA 模型下所量測到的使用顏色 數目(拓樸模型的詳細參數設定見表 4.1)。圖中 x 軸座標在 UDG 中(傳輸半徑為 200 m)是節點數目(50~100 個),在 ER 模型中是𝑃𝑒 (節點建立鏈結的機率),在 WS 模型中是邊的重連機率(𝑃𝑟 )而在 BA 模型中是節點加入時所建立的邊數𝑚。y 軸 座標則皆是演算法結束時所使用的顏色數目。所有的拓樸邏輯中以 [GT00] 和 [HJS02] 這兩個方法表現較佳,使用較少數目的顏色。我們的方法在可用顏色數 32.
相關文件
Shih, “On Demand QoS Multicast Routing Protocol for Mobile Ad Hoc Networks”, Special Session on Graph Theory and Applications, The 9th International Conference on Computer Science
Keywords: Mobile ad-hoc network, Cluster manager electing, Fuzzy inference rule, Workload sharing, Backup manager... 致謝 致謝
The vertex-cover problem is to find a vertex cover of minimum size in a given undirected graph. • 此問題的decision版本為NP-Complete
Graph Algorithms Euler Circuit Hamilton Circuit.. for Sprout 2014 by Chin
even if bound changes on non-binary variables are present, such a subset can be used like the conflict detecting clause in SAT to represent the conflict in the conflict graph..
“Ad-Hoc On Demand Distance Vector Routing”, Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications (WMCSA), pages 90-100, 1999.. “Ad-Hoc On Demand
In an ad-hoc mobile network where mobile hosts (MHs) are acting as routers and where routes are made inconsistent by MHs’ movement, we employ an associativity-based routing scheme
=> By the capacity constraint, trivially the maximum flow in the path.