SLPA

SLPA

SLPA算法是一種社區監測算法,它是對LPA算法(標籤傳播算法)的拓展。

基本介紹

  • 中文名:SLPA算法
  • 外文名:SLPA
SLPA分為以下三個階段:SLPA(T,r)
T:用戶定義的做大疊代數
r:處理後的閾值
1)首先,每一個節點的存儲器中初始化一個唯一的標籤。
2)然後,重複進行以下步驟,直到達到最大疊代T:
a. 選擇一個節點作為監聽器。
b. 所選節點的每個鄰居隨機選擇機率正比於該標籤在其存儲器中的出現頻率的標籤,把所選擇的標籤傳送到聽眾。
c. 監聽器增加接收到的最流行的標籤到記憶體。
3)最後,根據在存儲器里的標籤和閾值r,後處理被用於輸出社區。
算法實現的步驟如下:
(1)初始化所有節點的標籤信息,使得每個節點擁有唯一的標籤。
(2)最為主要的是標籤傳播過程。
1.當前節點作為一個listener。
2.當前節點的每一個鄰居節點根據一定的speaking策略傳遞標籤信息。
3.當前節點從鄰居節點傳播的標籤信息集中根據一定的listener策略選擇一個
標籤作為本次疊代中的新標籤。
4.算法收斂或遍歷達到指定的次數,算法結束。否則,標籤在不斷的遍歷過程
中傳播。
(3)標籤分類過程。後處理階段根據節點的標籤信息進行社區發現。

SLPA算法優點:
不像其它算法,算法SLPA 不會像其它算法一樣忘記上一次疊代中節點所更新的標籤信息,它給每個節點設定了一個標籤存儲列表來存儲每次疊代所更新的標籤。最終的節點社區從屬關係將由標籤存儲列表中所觀察到的標籤的機率決定,當一個節點觀察到有非常多一樣的標籤時,那么,很有可能這個節點屬於這個社區,而且在傳播過程中也很有可能將這個標籤傳播給別的節點。更有益處的是,這種標籤存儲列表的設計可以使得算法可以支持劃分重疊社區。

相關詞條

熱門詞條

聯絡我們