• 沒有找到結果。

最小多支配集合的自我穩定演算法(IMDG)

第三章 最小多支配集合的自我穩定演算法

3.6 最小多支配集合的自我穩定演算法(IMDG)

(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,且 g(i) 值不為i

30

UNDER,則把 g(i) 改為 UNDER。

(代表節點 i 鄰近的支配節點不滿 ki個,則需要被更多其它鄰居節點支配。

其 g(i)值也不一定為 OVER 了,因此節點會想把 g(i) 變為 UNDER,等於在 賽局中,讓其它參與者知道,來支配它是可以獲得利益值的)。

R2:

節點 i 的所有鄰居節點 j (包括節點 i) 為支配者數目等於 k,且 g(i) 值不為 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 可獲得利益,因此會 做決策來變為支配者,以獲得利益)。

31

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}。

圖 3.11 初始圖形(Example 2)

P 1 P 2 P 5 P 6

P 3

P 4

g(1) = UNDER g(2) = UNDER g(5) = UNDER g(6) = UNDER

g(3) = UNDER

g(4) = UNDER k1=1 k2=2

k3=1

k4=2

k5=2 k6=1

32

表 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

圖 3.12 Example 2 的第一部份後的圖形

P 1 P 2 P 5 P 6

P 3

g(1) = EQUAL g(2) = UNDER P 4 g(5) = EQUAL g(6) = EQUAL g(3) = EQUAL

g(4) = EQUAL k1=1 k2=2

k3=1

k4=2

k5=2 k6=1

33

34

Lemma 3 當演算法到達穩定時,必定找出最小多支配集合

假設演算法停止時,並未找出最小多支配集合

則至少存在一個多餘的節點 pi,將此節點從支配集合中拿掉,整個集合仍 為最小多支配集合。

根據 lemma 1,此節點 pi 的所有鄰近節點 pj 的 g(j)值皆為正確,代表節點 pi 會滿足演算法中的 R 5。所以代表演算法尚未達到穩定。

與起初假設矛盾。

故可證明,當演算法到達穩定時,必定找出最小多支配集合。

35