999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于孤立節(jié)點分離策略的改進魯汶算法

2017-06-27 08:10:41閆光輝楊紹文張海韜
計算機應(yīng)用 2017年4期

李 雷,閆光輝,楊紹文,張海韜

蘭州交通大學(xué) 電子與信息工程學(xué)院,蘭州 730070)(*通信作者電子郵箱yan_guanghui@163.com)

基于孤立節(jié)點分離策略的改進魯汶算法

李 雷,閆光輝*,楊紹文,張海韜

蘭州交通大學(xué) 電子與信息工程學(xué)院,蘭州 730070)(*通信作者電子郵箱yan_guanghui@163.com)

魯汶算法(LM)是基于模塊度優(yōu)化的復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)算法,有關(guān)模塊度的現(xiàn)有研究中沒有計算節(jié)點離開原屬社區(qū)后模塊度增益的方法。針對這一不足,基于模塊度的定義和節(jié)點合并后模塊度增益的計算方法,推導(dǎo)出了節(jié)點離開原屬社區(qū)后模塊度增益的計算方法,完善了該領(lǐng)域的理論研究。針對魯汶算法對存儲空間需求高的缺點,提出了基于孤立節(jié)點分離策略的改進魯汶算法,該算法在每次迭代中將輸入網(wǎng)絡(luò)的孤立節(jié)點提前分離出去,只令其中的連通節(jié)點實際參與迭代過程,并在存儲社區(qū)發(fā)現(xiàn)結(jié)果時將孤立節(jié)點和非孤立節(jié)點分開存儲?;谡鎸嵕W(wǎng)絡(luò)的相關(guān)實驗結(jié)果表明,采用孤立節(jié)點分離策略的改進方法,使算法對存儲空間的需求減少了40%以上,并進一步縮短了算法的運行時間。因此,改進后的算法在處理真實網(wǎng)絡(luò)時更具優(yōu)勢。

復(fù)雜網(wǎng)絡(luò);社區(qū)發(fā)現(xiàn);模塊度;模塊度優(yōu)化;魯汶算法

0 引言

復(fù)雜網(wǎng)絡(luò)普遍存在著 “同一社區(qū)內(nèi)節(jié)點連接緊密、不同社區(qū)間節(jié)點連接稀疏”的社區(qū)結(jié)構(gòu)特性[1]。社區(qū)是從中觀視角研究復(fù)雜網(wǎng)絡(luò)的一種高效手段,可以充分利用社區(qū)這一特點研究網(wǎng)絡(luò)的拓撲結(jié)構(gòu)、物理意義和功能行為。2004年,Newman等[2]提出了一個用于刻畫網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)優(yōu)劣的量化標準,被稱之為模塊度Q。模塊度Q給出了社區(qū)結(jié)構(gòu)的清晰定義,最初是為評價社區(qū)發(fā)現(xiàn)結(jié)果的優(yōu)劣,并在實際應(yīng)用中獲得了很大的成功,同時以模塊度Q為目標函數(shù)的模塊度優(yōu)化方法也成為復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)領(lǐng)域的主流方法之一。最簡單的模塊度優(yōu)化方法是找出一個網(wǎng)絡(luò)所有可能的劃分,從中選擇擁有最大Q值的劃分作為最后的社區(qū)發(fā)現(xiàn)結(jié)果,但這是一個NP難問題[3],因為一個網(wǎng)絡(luò)可以擁有的劃分數(shù)目是節(jié)點數(shù)目的指數(shù)量級。因此一些基于啟發(fā)式策略的模塊度優(yōu)化算法被提出,主要有基于貪心策略算法[4-5]、基于層次聚類的算法[6-7],以及融合多種策略(貪心策略、局部優(yōu)化、層次聚類等)的算法[8-10]。在這些算法中,融合了貪心策略和層次聚類策略的魯汶算法(Louvain Method, LM)[8]以其時間復(fù)雜度低且具有高質(zhì)量的社區(qū)發(fā)現(xiàn)結(jié)果,得到了許多學(xué)者的認可,被著名社區(qū)挖掘?qū)<褾ortunato[11]評為當(dāng)前性能最佳的模塊度優(yōu)化算法,另外復(fù)雜網(wǎng)絡(luò)分析軟件Gephi中的社區(qū)發(fā)現(xiàn)子模塊也采用了該算法。

LM是迭代算法。在每次迭代中,算法首先在每個節(jié)點的鄰居區(qū)域內(nèi)局部優(yōu)化模塊度Q并獲得一個社區(qū)劃分結(jié)果,然后將得到的每個社區(qū)作為一個超級節(jié)點、社區(qū)間的連接作為加權(quán)邊,構(gòu)建一個新的網(wǎng)絡(luò)并作為下次迭代的輸入;不斷迭代上述兩步,直至Q值不再增加為止。盡管LM是很優(yōu)秀的算法,但其依然有改進的空間。文獻[12]通過降低每次迭代的結(jié)束條件,在略微犧牲社區(qū)發(fā)現(xiàn)結(jié)果精度的基礎(chǔ)上可以較大幅度地縮短算法的運行時間;文獻[13]在原算法社區(qū)發(fā)現(xiàn)結(jié)果的基礎(chǔ)上,加入細化提純過程以進一步提升社區(qū)發(fā)現(xiàn)結(jié)果的精度;文獻[14]在原算法中加入了并行策略以縮短算法的運行時間;文獻[12,15]綜合考慮了網(wǎng)絡(luò)的其他屬性重新定義了邊的權(quán)值,然后應(yīng)用LM進行社區(qū)甄別,從而使社區(qū)發(fā)現(xiàn)的結(jié)果更符合實際情形。本文對LM的改進如下:

1)LM需要頻繁地計算節(jié)點合并以及節(jié)點離開原屬社區(qū)后Q的增益,但是有關(guān)模塊度Q的現(xiàn)有研究中只有第一類增益的計算方法,對于第二類增益只能通過第一類增益的計算方法間接地計算。本文給出了一種節(jié)點離開原屬社區(qū)后Q增益的計算方法,完善了該領(lǐng)域的理論研究。

2)LM具有高質(zhì)量的社區(qū)發(fā)現(xiàn)結(jié)果,部分原因是因為其通過算法運行的中間結(jié)果提供了層次化的社區(qū)結(jié)構(gòu)。存儲算法運行的中間結(jié)果,使得LM對存儲空間的需求較高,約為其他相近算法的20倍[8]。本文在LM中引入了分離孤立節(jié)點的改進策略。實驗結(jié)果表明,與原算法相比,改進后的算法不僅對存儲空間的需求大幅減小,而且其運行時間也得到了進一步的縮減。

1 模塊度Q及其增益的計算方法

1.1 模塊度Q

模塊度Q有兩種等價的定義[5],分別是基于網(wǎng)絡(luò)鄰接矩陣的定義和基于網(wǎng)絡(luò)社區(qū)連接矩陣的定義,這里只給出第二種定義。

定義1 網(wǎng)絡(luò)G=(V,E,w)。其中:V為節(jié)點集合,E為邊集合,w為邊權(quán)值的映射函數(shù),即w為V×V→R的映射函數(shù),?{u,v}∈E,w(〈u,v〉)≠0;?{u,v}?E,w(〈u,v〉)=0。在無向網(wǎng)絡(luò)中,每條邊被存儲兩次,即若節(jié)點u和節(jié)點v之間存在一條邊,則有w(〈u,v〉)=w(〈v,u〉)=該邊的權(quán)值。將邊〈u,v〉的權(quán)值簡記為wu,v(或wv,u)。令2m=∑wu,v,表示網(wǎng)絡(luò)中所有邊的權(quán)值之和的兩倍。

(1)

Q值越大意味著在網(wǎng)絡(luò)的社區(qū)連接矩陣中,其對角線上的元素之和占矩陣中所有元素之和的比例越大,對于整個網(wǎng)絡(luò)而言,表現(xiàn)為社區(qū)內(nèi)部中邊的權(quán)值之和占網(wǎng)絡(luò)中所有邊的權(quán)值之和的比例越大,即“同一社區(qū)內(nèi)節(jié)點連接緊密、不同社區(qū)間節(jié)點連接稀疏”,也就是社區(qū)結(jié)構(gòu)越明顯。模塊度Q給出了社區(qū)結(jié)構(gòu)的清晰定義,并且其取值區(qū)間為[-0.5,1]。

1.2Q增益的計算方法

ΔQmerge=QB-QA=

(2)

設(shè)某時刻網(wǎng)絡(luò)有n個社區(qū),A為其社區(qū)連接矩陣。合并第n-1個社區(qū)和第n社區(qū),即在A中將第n行(列)元素加到第n-1行(列),記合并后網(wǎng)絡(luò)的社區(qū)連接矩陣為B,則合并后Q增益的計算方法如式(2)所示。因為社區(qū)編號相互獨立且是人為設(shè)定的,所以在計算任意兩個社區(qū)合并后Q的增益時,可以將這兩個社區(qū)的編號分別記為n-1和n,即式(2)可以計算任意兩個社區(qū)合并后Q的增益。式(2)也可以計算任意兩組節(jié)點(包括兩個節(jié)點)合并后Q的增益,只需將這兩組節(jié)點視為兩個社區(qū)。

記節(jié)點v所屬社區(qū)為cv,cv′表示在cv中去除v以及與v相連的邊后形成的社區(qū),此時將v視為只含有一個節(jié)點的社區(qū),按照式(2)逆向推導(dǎo),則v離開cv后Q增益的計算方法如式(3)所示:

(3)

其中:av為節(jié)點v的度;acv為社區(qū)cv中所有節(jié)點的度求和;ev,cv′為連接v節(jié)點與社區(qū)cv′中節(jié)點的邊的權(quán)值之和。同樣式(3)也可以計算一組節(jié)點離開原屬社區(qū)后Q的增益,只需將這組節(jié)點視為一個社區(qū),此時av為這組節(jié)點的度求和。

2 基于孤立節(jié)點分離策略的改進LM算法

2.1 符號說明

1)Gl=(Vl,El,wl):算法第l次迭代的生成網(wǎng)絡(luò),同時也是第l+1次迭代的輸入網(wǎng)絡(luò),簡稱為第l層網(wǎng)絡(luò),在具體實現(xiàn)時采用鄰接鏈表存儲;wl(i,j)/wl(j,i)表示Gl中連接節(jié)點i和節(jié)點j的邊的權(quán)值。G0=(V0,E0,w0)為初始網(wǎng)絡(luò)。因為LM是迭代算法,其第l次迭代生成的社區(qū)是第l+1次迭代的輸入節(jié)點,所以下文中的節(jié)點和社區(qū)具有相同的含義,不再特殊說明。

2)Il:Gl中孤立節(jié)點的集合。

3)為了方便計算Q的增益以及每一層網(wǎng)絡(luò)的Q值,依據(jù)式(1)~(3),為每個社區(qū)設(shè)置三個參數(shù),分別是:1)in,社區(qū)內(nèi)部所有邊的權(quán)值之和的兩倍;2)all,社區(qū)內(nèi)部所有節(jié)點的度之和;3)cid,社區(qū)標識號,算法結(jié)束后,各層網(wǎng)絡(luò)中的社區(qū)由參數(shù)cid連接形成樹形層次網(wǎng)絡(luò)(即層次化的社區(qū)發(fā)現(xiàn)結(jié)果)?!?”表示引用關(guān)系,例如Vl[i].all表示第l層網(wǎng)絡(luò)中編號為i的社區(qū)(節(jié)點)中所有節(jié)點的度之和。需要注意的是,在計算Q的增益時,不需要參數(shù)in。

4)Nl(i)={j|j∈Vl,(i,j)∈El}:第l層網(wǎng)絡(luò)中節(jié)點i的鄰居節(jié)點集合。

5)AdjionCommunity:節(jié)點的鄰接社區(qū)哈希表,由鍵值對[Cid,Weight]組成,其中Cid是社區(qū)的標識號,Weight為該節(jié)點與Cid社區(qū)間所有連邊的權(quán)值之和。圖1為擁有3個社區(qū)的一個網(wǎng)絡(luò),若其中每條邊的權(quán)值為1,記3個社區(qū)的標識號從左到右依次為1、2、3,則節(jié)點3的鄰接社區(qū)哈希表為:{(1,1);(2,3);(3,2)}。

圖1 擁有3個社區(qū)的網(wǎng)絡(luò)

2.2 改進后的算法

基于孤立節(jié)點分離策略的改進魯汶算法(LouvainMethod+,LM+)的主要流程如算法1所示。

算法1LouvainMethod+。

輸入:初始網(wǎng)絡(luò)G0=(V0,E0,w0)。 輸出: 連通網(wǎng)絡(luò)集合G=(G1,G2,…,Gl); 孤立節(jié)點集合I=(I0,I1,…,Il)。 局部變量:l、t分別標識迭代的次數(shù)和每次迭代中對連通網(wǎng)絡(luò)的掃描次數(shù),初始值為0;increase標識一次遍歷中是否有節(jié)點發(fā)生移動,初始值為true。

1)

While(true)

2)

l←l+1;

3)

Init(Gl-1)

4)

Whileincreasedo

5)

increase←false;

6)

t←t+1;

7)

ForeachiofVl-1do

8)

〈ΔQdepart|ΔQmaxEnter|MaxCid〉←getΔQ(Nl-1(i))

9)

if(ΔQdepart+ΔQmaxEnter>0)

10)

increase←true;

11)

Vl[i.cid].all←Vl[i.cid].all-i.all

12)

Vl[MaxCid].all←Vl[MaxCid].all+i.all

13)

if(Vl[i.cid].all==0)

14)

Vl.Delete(i.cid);

15)

i.cid←MaxCid;

16)

if(t==1)

17)

Return;

18)

ForeachiofVl-1do

19)

Vl[i.cid].in←Vl[i.cid].in+i.in;

20)

ForeachjofNl-1(i)do

21)

if(i.cid==j.cid)

22)

Vl[i.cid].in←Vl[i.cid].in+wl-1(i,j);

23)else

24)

wl(i.cid,j.cid)←wl(i.cid,j.cid)+wl-1(i,j)

25)

G.Add(Gl)

LM+是迭代算法,第l次迭代中,算法的輸入為第l-1層網(wǎng)絡(luò)Gl-1,輸出為Gl-1中的孤立節(jié)點集合Il-1和第l層網(wǎng)絡(luò)Gl。在每次迭代中,首先通過初始化函數(shù)Init篩選出Il-1,并用每一個非孤立節(jié)點(連通節(jié)點)建立的一個社區(qū)。第4)~15)步循環(huán)遍歷Gl-1中的連通節(jié)點,直至不再有節(jié)點的社區(qū)發(fā)生變化;在每次遍歷中,對每一個節(jié)點首先通過Q增益計算函數(shù)getΔQ計算出該節(jié)點離開原屬社區(qū)后Q的增益ΔQdepart以及進入鄰居社區(qū)能產(chǎn)生的最大“進入增益”ΔQmaxEnter,記ΔQmaxEnter對應(yīng)的鄰接社區(qū)編號為MaxCid;當(dāng)ΔQdepart+ΔQmaxEnter>0,即節(jié)點離開原社區(qū)并進入MaxCid社區(qū)后,將給全網(wǎng)絡(luò)的Q帶來正的最大增益,則移動節(jié)點;第11)~12)步表示節(jié)點離開原社區(qū)以及進入MaxCid社區(qū)后,原社區(qū)與MaxCid社區(qū)all參數(shù)的更新方法;當(dāng)某個社區(qū)中的所有節(jié)點都移動到了其他社區(qū),則刪除該社區(qū)(第13)~14)步)。第18)~24)步通過遍歷1次Gl-1中的連通節(jié)點,完成Gl邊集合的更新以及Gl中每個節(jié)點參數(shù)in的更新。需要注意的是,每次迭代中對連通節(jié)點的最后一次遍歷不會發(fā)生節(jié)點的移動操作,所以若某次迭代中對輸入網(wǎng)絡(luò)的連通節(jié)點只遍歷了1次,則表明網(wǎng)絡(luò)中所有的節(jié)點都不會再移動,此時算法終止(第16)~17)步)。

LM+中使用了兩個功能函數(shù)。初始化函數(shù)Init通過掃描一次Gl-1中的節(jié)點,篩選出其中的孤立節(jié)點,并將這些孤立節(jié)點添加至Il-1,然后用每一個非孤立節(jié)點建立一個社區(qū)(即Gl中的初始節(jié)點)。Q增益計算函數(shù)getΔQ遍歷1次節(jié)點i的鄰居節(jié)點集合Nl-1(i),得到i的鄰接社區(qū)哈希表,然后利用式(2)計算出i離開原屬社區(qū)后Q的增益,利用式(3)分別計算出孤立節(jié)點i進入每個鄰居社區(qū)后Q的增益,并從中選出最大“進入增益”ΔQmaxEnter,最后用MaxCid標識ΔQmaxEnter對應(yīng)的鄰居社區(qū)編號。

圖2為LM+的一個運行實例,其中左側(cè)方框中注明了每次迭代開始(上次迭代結(jié)束)時,連通網(wǎng)絡(luò)集合G和孤立節(jié)點集合I的元素值。因為篇幅所限,對每一個連通網(wǎng)絡(luò),圖中只列出其節(jié)點集合,未列出邊集合。另外初始網(wǎng)絡(luò)中可能有孤立節(jié)點,所以在最后的結(jié)果中,集合I比集合G多一個元素。

圖2 LM+運行實例

LM+的兩個功能函數(shù)如下:

Init(Gl-1)ForeachiofVl-1doIf(Nl-1(i).count==0)Il-1.Add(i);Vl-1.Delete(i);

elseGl.Add(i);Gl[i].cid←i.cid;Gl[i].all←i.all;Gl[i].in←0;

I.Add(Il-1);

getΔQ(Nl-1(i))ForeachjofNl-1(i)doJ←j.cid;if(AdjionCommunity.Contain(J))AdjionCommunity[J]←AdjionCommunity[J]+wl-1(i,j);

elseAdjionCommunity.Add(J,wl-1(i,j));

Return〈ΔQdepart|ΔQmaxEnter|MaxCid〉;

2.3LM+復(fù)雜度分析

設(shè)初始網(wǎng)絡(luò)中節(jié)點數(shù)目為n,節(jié)點度的最大值為k,記每次迭代中輸入網(wǎng)絡(luò)的規(guī)模與初始網(wǎng)絡(luò)的規(guī)模相同(其實隨著迭代的進行,輸入網(wǎng)絡(luò)的規(guī)模越來越小),迭代總次數(shù)為c1,每次迭代中掃描連通節(jié)點的次數(shù)為c2。大量實驗結(jié)果表明c1、c2是與網(wǎng)絡(luò)規(guī)模無關(guān)的常數(shù)[8,12-15],并且它們的取值較小。所以LM+的時間復(fù)雜度為:

c1·(n+c2·n·k+n·k)=O(n·k)

當(dāng)為稀疏網(wǎng)絡(luò)即節(jié)點的度較小時,LM+為線性時間復(fù)雜度O(n),LM+算法的空間復(fù)雜度也為O(n·k),在稀疏網(wǎng)絡(luò)上為O(n)。

表1 LM+和LM銀行客戶交易網(wǎng)絡(luò)運行過程結(jié)果對比

3 實驗對比分析

這里需要明確,LM+和LM的最終運行結(jié)果完全相同,它們的時空復(fù)雜度也相同,本文的改進策略只是進一步縮減了原算法對時間及空間資源的需求。表1是LM+和LM在銀行客戶交易網(wǎng)絡(luò)上運行時過程結(jié)果的對比,表中分別給出了每次迭代時兩種算法輸入、輸出網(wǎng)絡(luò)的規(guī)模(節(jié)點個數(shù))。LM+每次迭代時將輸入網(wǎng)絡(luò)的孤立節(jié)點提前分離出去,只令其中連通節(jié)點實際參與迭代過程,使得后續(xù)迭代中輸入網(wǎng)絡(luò)的規(guī)模大幅減小,進而可縮減算法對時間、空間資源的需求。比如第4次迭代時,LM+中實際參與迭代的節(jié)點為798個,而LM中為38 776個節(jié)點,這38 776個節(jié)點中主要包含的是前幾次迭代產(chǎn)生的36 748+1 212+18=37 978個孤立節(jié)點。

盡管LM為線性空間復(fù)雜度,但相對于其他算法,其對存儲空間的需求較高,是其他相近算法的20倍,這是因為LM需要存儲中間迭代過程產(chǎn)生的結(jié)果,有時甚至需要存儲每次迭代中每一次掃描后的結(jié)果。通過中間迭代過程產(chǎn)生的結(jié)果,LM提供了層次化的社區(qū)發(fā)現(xiàn)結(jié)果。層次化的社區(qū)結(jié)構(gòu)很好地體現(xiàn)了復(fù)雜網(wǎng)絡(luò)的自相似性和層次特性,為后續(xù)研究網(wǎng)絡(luò)的相關(guān)特性提供了很重要的信息。另外,模塊度優(yōu)化算法普遍存在著“分辨率限制問題”[16]——算法為了使模塊度達到最大,會將一些較小旳社區(qū)合并為較大的社區(qū),導(dǎo)致無法發(fā)現(xiàn)那些較小的社區(qū)。通過層次化的社區(qū)結(jié)構(gòu),LM提供了多粒度的社區(qū)發(fā)現(xiàn)結(jié)果,是解決分辨率限制問題一種有效手段。

LM+在存儲中間迭代過程產(chǎn)生的結(jié)果時,將孤立節(jié)點和連通節(jié)點分開存儲,使得每次迭代產(chǎn)生的孤立節(jié)點只存儲1次,避免了對這類節(jié)點的重復(fù)存儲,進而大幅縮減了其對存儲空間的需求。這里采用空間壓縮比量化LM+相對于LM對存儲空間需求的縮減程度。

定義3 空間壓縮比=(LM存儲節(jié)點數(shù)-LM+存儲節(jié)點數(shù))/LM存儲節(jié)點數(shù)。

因為復(fù)雜網(wǎng)絡(luò)是稀疏網(wǎng)絡(luò),且隨著算法的運行,逐次迭代的輸出網(wǎng)絡(luò)中社區(qū)結(jié)構(gòu)越明顯即邊越少,因此在計算存儲空間時,只計入網(wǎng)絡(luò)的節(jié)點個數(shù),不計入邊數(shù)目。在統(tǒng)計每次迭代中需要存儲的節(jié)點數(shù)目時,只計入本次迭代最終結(jié)果的節(jié)點數(shù)目,不計入中間掃描過程產(chǎn)生結(jié)果的節(jié)點數(shù)目。

表2展示了不同網(wǎng)絡(luò)上兩種算法在運行時間和空間上的對比(兩種算法的社區(qū)發(fā)現(xiàn)結(jié)果相同,不再羅列),可以看出LM+在處理真實網(wǎng)絡(luò)時更具優(yōu)勢。首先如圖3所示,LM+和LM一樣,不同的節(jié)點輸入順序?qū)?yīng)有不同的社區(qū)發(fā)現(xiàn)結(jié)果和相異的運行時間,為此在表2中,每個網(wǎng)絡(luò)的運行結(jié)果是100次不同節(jié)點輸入順序下的平均結(jié)果。另外在LM+中,每次迭代時分離孤立節(jié)點的操作集成在初始化函數(shù)中,不會帶來對輸入網(wǎng)絡(luò)的額外掃描,所以在全連通網(wǎng)絡(luò)上,兩種算法的運行時間幾乎相同。誠然,在一個系統(tǒng)的全數(shù)據(jù)集上或者時間跨度很大的情況下,建模出的網(wǎng)絡(luò)連通性較高,孤立社區(qū)較少,此時LM+的改進效果不明顯。但全數(shù)據(jù)的處理必將導(dǎo)致很高的時間、空間需求,并且因為其忽略了時間屬性,無法對系統(tǒng)進行更全面的研究。社區(qū)進化的研究是復(fù)雜網(wǎng)絡(luò)社區(qū)研究領(lǐng)域的一個重要分支[19],考慮時間屬性研究社區(qū)的進化需頻繁地在時間跨度較小的網(wǎng)絡(luò)上進行社區(qū)甄別,此時LM+對原算法的改進策略將有很高的價值。

LM+同LM一樣,對節(jié)點屬于順序敏感,不同的節(jié)點輸入順序?qū)?yīng)有不同的社區(qū)發(fā)現(xiàn)結(jié)果和相異的算法運行時間,但是不同的社區(qū)發(fā)現(xiàn)結(jié)果之間的差異較小,各個結(jié)果的Q值落會在一個以網(wǎng)絡(luò)實際擁有的最大Q值為中心、半徑比較小的一個區(qū)間上。在節(jié)點輸入順序隨機的情況下,文本在圖3所示的網(wǎng)絡(luò)上運行了1 000次LM+,產(chǎn)生了圖中所示的3種不同結(jié)果,這3種結(jié)果從左到右分別發(fā)生了9次、65次和926次,可以看出,這3種結(jié)果之間的差異較小(Q值都在0.35左右)。

4 結(jié)語

本文首先推導(dǎo)出了網(wǎng)絡(luò)中的節(jié)點離開原屬社區(qū)后模塊度Q增益的計算方法,完善了關(guān)于復(fù)雜網(wǎng)絡(luò)模塊度Q的理論研究;然后通過在LM中引入分離孤立節(jié)點的策略,克服了原算法對存儲空間需求高的缺點,并進一步縮減了算法的運行時間。后續(xù)工作中,將重點研究節(jié)點輸入順序?qū)M+的影響,以改進其對節(jié)點輸入順序敏感的缺點。

圖3 同一網(wǎng)絡(luò)的不同社區(qū)發(fā)現(xiàn)結(jié)果

網(wǎng)絡(luò)描 述節(jié)點數(shù)目邊數(shù)目總邊權(quán)和空間壓縮比運行時間/msLMLM+Enron郵件網(wǎng)絡(luò)來源于安然公司郵件數(shù)據(jù)集[17],節(jié)點為郵件地址,邊的權(quán)值為1,若兩個郵件地址間至少有一次郵件來往,則這兩個地址之間存在一條邊366921838311838310.416815723DBLP科學(xué)家合作網(wǎng)絡(luò)來源于DBLP[18]中時間跨度為2005~2014年間的數(shù)據(jù),節(jié)點為科學(xué)家,邊的權(quán)值為期間兩個科學(xué)家合作發(fā)表論文的次數(shù)12126045318193147913950.4628131574230銀行客戶交易網(wǎng)絡(luò)來源于某商業(yè)銀行時間跨度為2015年1月~3月的客戶交易數(shù)據(jù),節(jié)點為客戶,邊的權(quán)值為兩個客戶3個月內(nèi)交易的次數(shù)2785652936326027170.70224571980全連通網(wǎng)絡(luò)銀行客戶交易網(wǎng)絡(luò)的最大連通子圖1797592325364968800.00014811596

)

[1]GIRVANM,NEWMANMEJ.Communitystructureinsocialandbiologicalnetworks[J].ProceedingsoftheNationalAcademyofSciencesoftheUnitedStatesofAmerica, 2002, 99(12):7821-7826.

[2]NEWMANME,GIRVANM.Findingandevaluatingcommunitystructureinnetworks[J].PhysicalReviewE:Statistical,NonlinearandSoftMatterPhysics, 2004, 69(2Pt2):026113.

[3]BRANDESU,DELLINGD,GAERTLERM,etal.Onfindinggraphclusteringswithmaximummodularity[C]//Proceedingsofthe33rdInternationalConferenceonGraph-TheoreticConceptsinComputerScience.Piscataway,NJ:IEEE, 2007:121-132.

[4]NEWMANMEJ.Fastalgorithmfordetectingcommunitystructureinnetworks[J].PhysicalReviewE:Statistical,NonlinearandSoftMatterPhysics, 2004, 69(6Pt2):066133.

[5]CLAUSETA,NEWMANMEJ,MOOREC.Findingcommunitystructureinverylargenetworks[J].PhysicalReviewE:Statistical,NonlinearandSoftMatterPhysics, 2004, 70(6Pt2):066111.

[6]DUCHJ,ARENASA.Communitydetectionincomplexnetworksusingextremaloptimization[J].PhysicalReviewE:Statistical,NonlinearandSoftMatterPhysics, 2005, 72(2Pt2):027104.

[7]LüZ,HUANGW.Iteratedtabusearchforidentifyingcommunitystructureincomplexnetworks[J].PhysicalReviewE:Statistical,NonlinearandSoftMatterPhysics, 2009, 80(2Pt2):026130.

[8]BLONDELVD,GUILLAUMEJL,LAMBIOTTER,etal.Fastunfoldingofcommunitiesinlargenetworks[J].JournalofStatisticalMechanicsTheory&Experiment, 2008, 2008(10):155-168.

[9]LIUX,MURATAT.Advancedmodularity-specializedlabelpropagationalgorithmfordetectingcommunitiesinnetworks[J].PhysicaA:StatisticalMechanics&ItsApplications, 2009, 389(7):1493-1500.

[10]GACHO,HAOJK.Amemeticalgorithmforcommunitydetectionincomplexnetworks[C]//PPSN2012:Proceedingsofthe12thInternationalConferenceonParallelProblemSolvingfromNature.Berlin:Springer, 2012:327-336.

[11]LANCICHINETTIA,FORTUNATOS.Communitydetectionalgorithms:acomparativeanalysis[J].PhysicalReviewE:Statistical,NonlinearandSoftMatterPhysics, 2009, 80:056117.

[12]DEMEOP,FERRARAE,FIUMARAG,etal.GeneralizedLouvainmethodforcommunitydetectioninlargenetworks[EB/OL]. [2016- 03- 10].https://arxiv.org/pdf/1108.1502v2.pdf.

[13]GACHO,HAOJK.Improvingthelouvainalgorithmforcommunitydetectionwithmodularitymaximization[C]//Proceedingsofthe11thInternationalConferenceonArtificialEvolution,LNCS8752.Berlin:Springer, 2013:145-156.

[14]BHOWMICKS,SRINIVASANS.Atemplateforparallelizingthelouvainmethodformodularitymaximization[M]//MUKHERJEEA,CHOUDHURYM,PERUANIF,etal.DynamicsonandofComplexNetworks.Berlin:Springer, 2013, 2:111-124.

[15] 劉瑤, 康曉慧, 高紅, 等. 基于節(jié)點親密度和度的社會網(wǎng)絡(luò)社團發(fā)現(xiàn)方法[J]. 計算機研究與發(fā)展, 2015, 52(10):2363-2372.(LIUY,KANGXH,GAOH,etal.Acommunitydetectingmethodbasedonthenodeintimacyanddegreeinsocialnetwork[J].JournalofComputerResearchandDevelopment, 2015, 52(10):2363-2372.)[16] FORTUNATO S, BARTHéLEMY M. Resolution limit in community detection [J]. Proceedings of the National Academy of Sciences of the United States of America, 2007, 104(1):36-41.

[17] KLIMT B, YANG Y. Introducing the Enron corpus[EB/OL]. [2016- 03- 10]. https://bklimt.com/papers/2004_klimt_ceas.pdf.

[18] YANG J, LESKOVEC J. Defining and evaluating network communities based on ground-truth [J]. Knowledge & Information Systems, 2012, 42(1):745-754.

[19] 王莉, 程學(xué)旗. 在線社會網(wǎng)絡(luò)的動態(tài)社區(qū)發(fā)現(xiàn)及演化[J]. 計算機學(xué)報, 2015, 38(2):219-237.(WANG L, CHENG X Q. Dynamic community in online social network [J]. Chinese Journal of Computers, 2015, 38(2):219-237.)

This work is partially supported by National Natural Science Foundation of China (61163010), the Science Project of Lanzhou (2014-1-171), the Pre-research Fund of JinChuan Group Company Limited (JCYY2013012).

LI Lei, born in 1990, M. S. candidate. His research interests include data mining, community detection.

YAN Guanghui, born in 1970, Ph. D., professor. His research interests include data mining, social network analysis.

YANG Shaowen, born in 1990, M. S. candidate. His research interests include community detection.

ZHANG Haitao, born in 1989, M. S. candidate. His research interests include community detection.

Improved Louvain method with strategy of separating isolated nodes

LI Lei, YAN Guanghui*, YANG Shaowen, ZHANG Haitao

(School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou Gansu 730070, China)

Louvain Method (LM) is an algorithm to detect community in complex network based on modularity optimization. Since there is no method to calculate the gain of modularity after nodes leave their community in the existing research, a method was presented to calculate the modularity-gain after nodes leave their community based on the definition of modularity and the method for calculating the modularity-gain after nodes merge. Secondly, aiming at the problem that LM requires large memory space, an improved algorithm was proposed with the strategy of separating isolated nodes. In each iteration of the algorithm, isolated nodes of the input network were separated in advance, only the connected nodes of the input network can actually participate in the iterative process. Isolated nodes and non-isolated nodes were stored respectively when storing communities detected. The experimental results based on real networks showed that the requirement of memory space was reduced by more than 40% in the improved algorithm, and the running time of the algorithm was further reduced. Experimental results indicate that the improved algorithm has more advantages in dealing with real networks.

complex network; community detection; modularity; modularity optimization; Louvain Method (LM)

2016- 11- 04;

2016- 12- 05。

國家自然科學(xué)基金資助項目(61163010);蘭州市科技計劃項目(2014-1-171);金川公司預(yù)研基金資助項目(JCYY2013012)。

李雷(1990—),男,甘肅天水人,碩士研究生,主要研究方向:數(shù)據(jù)挖掘、社區(qū)發(fā)現(xiàn); 閆光輝(1970—),男,河南商丘人,教授,博士,CCF會員,主要研究方向:數(shù)據(jù)挖掘、社交網(wǎng)絡(luò)分析; 楊紹文(1990—),男,陜西漢中人,碩士研究生,主要研究方向:社區(qū)發(fā)現(xiàn); 張海韜(1989—),男,甘肅白銀人,碩士研究生,主要研究方向:社區(qū)發(fā)現(xiàn)。

1001- 9081(2017)04- 0970- 05

10.11772/j.issn.1001- 9081.2017.04.0970

TP301

A

主站蜘蛛池模板: 女人18一级毛片免费观看 | 欧美国产综合色视频| 亚洲色图综合在线| 精品福利网| 五月天丁香婷婷综合久久| 欧美人在线一区二区三区| 亚洲第一国产综合| 99人妻碰碰碰久久久久禁片| 91丝袜美腿高跟国产极品老师| 亚洲无码高清视频在线观看| 欧美性爱精品一区二区三区| 最新日韩AV网址在线观看| 国产97视频在线观看| 91精品国产综合久久不国产大片| 国产成人91精品| 国产成人你懂的在线观看| 91麻豆国产在线| 国产综合色在线视频播放线视| 欧美激情综合一区二区| 综合色在线| 国产内射一区亚洲| 日韩精品一区二区三区中文无码| 91免费在线看| 免费又黄又爽又猛大片午夜| 亚洲高清中文字幕| 精品第一国产综合精品Aⅴ| 日本福利视频网站| 5555国产在线观看| 深爱婷婷激情网| 国产h视频免费观看| 国产亚洲欧美另类一区二区| 欧美a√在线| 欧美97欧美综合色伦图| 国产国产人成免费视频77777| 五月天婷婷网亚洲综合在线| 久久精品无码一区二区日韩免费| 91精品伊人久久大香线蕉| 97视频在线精品国自产拍| 国产高清在线丝袜精品一区 | 久久香蕉欧美精品| 五月综合色婷婷| 久久久久无码精品| 夜夜爽免费视频| 99久久精品免费观看国产| 国产一区在线观看无码| 国产精品漂亮美女在线观看| 综合网天天| 欧美午夜网| 国产男女免费完整版视频| 澳门av无码| 黄色三级网站免费| 91久久偷偷做嫩草影院精品| 婷婷丁香在线观看| 看你懂的巨臀中文字幕一区二区| 就去吻亚洲精品国产欧美| 欧美国产日产一区二区| 免费一级无码在线网站| 中国精品自拍| 亚洲第一视频区| 中文无码日韩精品| 好紧好深好大乳无码中文字幕| 亚洲狠狠婷婷综合久久久久| 在线欧美日韩| 日日拍夜夜嗷嗷叫国产| 亚洲无限乱码一二三四区| 欧美啪啪视频免码| 欧美精品v| 欧美a√在线| 影音先锋丝袜制服| 亚洲第一福利视频导航| a级毛片一区二区免费视频| 2020最新国产精品视频| 国产精品成人第一区| 欧美区在线播放| 91精品视频播放| 国产91高清视频| 国产91在线|中文| 亚洲—日韩aV在线| 真人免费一级毛片一区二区 | 成人午夜亚洲影视在线观看| 日本精品影院| 久久久久久久97|