一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法
【專利摘要】本發(fā)明公開了一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法,屬于復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法研究【技術(shù)領(lǐng)域】,具體使用了一種基于聚類和雙種群思想融合的改進(jìn)遺傳算法對復(fù)雜網(wǎng)絡(luò)中的社區(qū)進(jìn)行挖掘。本發(fā)明使用歸一化共用信息相似度標(biāo)準(zhǔn)作為測量種群中個體間的相似度,融合了聚類和雙種群思想。首先引入聚類思想,用最小生成樹聚類方法對種群進(jìn)行劃分歸類,然后引入雙種群思想,對聚類確定主類和副類。其中主類維持種群的進(jìn)化方向,向目標(biāo)函數(shù)的最優(yōu)解接近;副類則主要為主類適時地提供多樣性,使主類在陷入局部最優(yōu)時可以跳出來,搜索其他的解空間,實現(xiàn)復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘的新方法。
【專利說明】一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法研究【技術(shù)領(lǐng)域】,具體使用了一種基于聚類和雙種群思想融合的改進(jìn)遺傳算法對復(fù)雜網(wǎng)絡(luò)中的社區(qū)進(jìn)行挖掘,是一種利用計算機技術(shù),遺傳算法,聚類與雙種群思想融合方法實現(xiàn)復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘的新方法。
【背景技術(shù)】
[0002]在現(xiàn)實世界中,諸多復(fù)雜系統(tǒng)以網(wǎng)絡(luò)的形式存在,或者能被抽象轉(zhuǎn)化成復(fù)雜網(wǎng)絡(luò)。復(fù)雜網(wǎng)絡(luò)的研究已經(jīng)成為很多領(lǐng)域的一個研究熱點。在現(xiàn)實世界中的很多系統(tǒng)可以看作是眾多子系統(tǒng)相互作用的結(jié)果。復(fù)雜網(wǎng)絡(luò)是復(fù)雜系統(tǒng)的抽象,如果把復(fù)雜網(wǎng)絡(luò)中的頂點看作是復(fù)雜系統(tǒng)中的個體,那么復(fù)雜網(wǎng)絡(luò)中的邊可以看作是復(fù)雜系統(tǒng)中個體之間的相互聯(lián)系。復(fù)雜網(wǎng)絡(luò)將系統(tǒng)簡化為一種抽象的結(jié)構(gòu),可以幫助我們更好地理解復(fù)雜系統(tǒng)的性質(zhì)和功倉泛。
[0003]自從20世紀(jì)90年代以來,隨著計算機技術(shù)和互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,標(biāo)志著人類邁入了網(wǎng)絡(luò)時代。人類已經(jīng)生活在各種各樣的復(fù)雜網(wǎng)絡(luò)的世界中。如大型電力網(wǎng),全球交通網(wǎng),新陳代謝網(wǎng),社會關(guān)系網(wǎng)等。由于復(fù)雜性問題研究與網(wǎng)絡(luò)的復(fù)雜性關(guān)系有很緊密的關(guān)系,網(wǎng)絡(luò)科學(xué)成為多學(xué)科交叉的領(lǐng)域,并引起了人們的高度重視。目前大量的研究結(jié)果表明,復(fù)雜網(wǎng)絡(luò)普遍存在著小世界效應(yīng)、無標(biāo)度特性等基本的統(tǒng)計特性。隨著人們對復(fù)雜網(wǎng)絡(luò)的性質(zhì)研究的深入,發(fā)現(xiàn)了很多真實網(wǎng)絡(luò)中存在的一個共同的特點,即社區(qū)結(jié)構(gòu),復(fù)雜網(wǎng)絡(luò)的另一個重要的特征。目前社區(qū)結(jié)構(gòu)在復(fù)雜網(wǎng)絡(luò)研究領(lǐng)域已經(jīng)被廣泛關(guān)注,成為一個比較熱的領(lǐng)域。在實際網(wǎng)絡(luò)中的社區(qū)代表著特定對象的集合。例如,在社會網(wǎng)絡(luò)中,社區(qū)結(jié)構(gòu)是根據(jù)某種興趣或是背景形成的真實的社會團體;在引文網(wǎng)絡(luò)中,社區(qū)結(jié)構(gòu)代表針對同一主題的相關(guān)論文;在萬維網(wǎng)中,社區(qū)結(jié)構(gòu)代表討論相關(guān)主題的若干網(wǎng)站等。在實際生活中,社區(qū)結(jié)構(gòu)的挖掘有著極其廣泛的應(yīng)用。網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)的挖掘,可以幫助人們更深入地理解復(fù)雜網(wǎng)絡(luò)的結(jié)構(gòu)和功能的關(guān)系,從而發(fā)現(xiàn)復(fù)雜網(wǎng)絡(luò)中隱藏的規(guī)律和預(yù)測復(fù)雜網(wǎng)絡(luò)的行為。因此復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘的研究具有重要的理論意義和實用價值。
[0004]近年來,有關(guān)復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘的方法層出不窮。它們分別采用了來自物理學(xué)、數(shù)學(xué)和計算機科學(xué)等領(lǐng)域的理論和技術(shù)。就其依據(jù)的原理可分為基于劃分、基于模塊性優(yōu)化、基于標(biāo)簽傳播、基于動力學(xué)和基于仿生計算的方法等.在基于劃分的社區(qū)挖掘方法中有由Girvan和Newman提出的著名的社區(qū)挖掘方法GN ;基于模塊性優(yōu)化的社區(qū)挖掘方法有基于GN算法改進(jìn)的FN算法、基于模擬退火原理的SA算法、快速模塊性優(yōu)化方法FUA等;基于標(biāo)簽傳播的社區(qū)挖掘方法有:著名的標(biāo)簽傳播算法LPA等。
[0005]2004年,Newman等人提出了網(wǎng)絡(luò)模塊性函數(shù)(Q),該函數(shù)是可以定量評價網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)優(yōu)劣的度量標(biāo)準(zhǔn)。之后把Q函數(shù)作為目標(biāo)函數(shù)的組合優(yōu)化問題成為探測網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)的主要方法之一。復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)問題從而轉(zhuǎn)化成為一種目標(biāo)函數(shù)優(yōu)化問題,但最大化Q函數(shù)是完全NP問題。遺傳算法是一種求解NP難題的有效方法,它不存在對具體應(yīng)用領(lǐng)域的依賴,對具體問題也不需要初始信息,為求解復(fù)雜的優(yōu)化問題提供了一種框架,并且具有很強的魯棒性和并行性,因此在很多領(lǐng)域中都得到了廣泛的應(yīng)用。因此將遺傳算法用在復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘上具有一定的理論意義和實現(xiàn)價值。
[0006]Gong et al.提出了基于GA的社區(qū)挖掘算法一MA(memetic algorithm),該方法存在易發(fā)生局部最優(yōu)現(xiàn)象,很難找到全局最優(yōu)解的缺陷,Ronghua Shang提出基于模塊度和改進(jìn)遺傳算法的社區(qū)發(fā)現(xiàn)算法(MIGA)來解決此問題,然而MIGA算法存在需要先驗知識一復(fù)雜網(wǎng)絡(luò)中的社區(qū)個數(shù),使得該算法在處理未知社區(qū)個數(shù)的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘問題上的性能有所降低。
[0007]針對上面提出的遺傳算法挖掘社區(qū)的缺陷,受雙種群思想的啟發(fā),本發(fā)明提出了一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法-MGA⑶(Modified Genetic Algorithm
for Community Detecting)方法。該方法在很大程度上解決了種群在遺傳進(jìn)化過程中易發(fā)生的陷入局部最優(yōu)及多樣性喪失的現(xiàn)象,改進(jìn)了本發(fā)明的搜索性能。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的內(nèi)容是提出了一種基于改進(jìn)遺傳算法用于復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘的新方法。該方法使用歸一化共用信息相似度標(biāo)準(zhǔn)作為測量種群中個體間的相似度,融合了聚類和雙種群思想。首先引入聚類思想,用最小生成樹聚類方法對種群進(jìn)行劃分歸類,然后引入雙種群思想,對聚類確定主類和副類。其中主類維持種群的進(jìn)化方向,向目標(biāo)函數(shù)的最優(yōu)解接近;副類則主要為主類適時地提供多樣性,使主類在陷入局部最優(yōu)時可以跳出來,搜索其他的解空間,提出了一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法。
[0009]本發(fā)明方法的技術(shù)方案如下:
[0010]一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法,其特征在于包括如下步驟:
[0011]步驟1:計算機初始化;
[0012]步驟2:種群初始化,每個個體的基因位隨機選擇其基因位所代表的結(jié)點的某一鄰居結(jié)點的編號作為此基因位的等位基因,得到父種群,步驟如下:
[0013](I)每個個體初始化為一個長度為η位的編碼,每個基因位的等位基因全為O, η為個體的編碼長度;
[0014](2)對個體的每個基因位V,找到網(wǎng)絡(luò)中結(jié)點編號為V的鄰居結(jié)點編號集N(V)={u I結(jié)點U與結(jié)點V直接相連};
[0015](3)隨機選擇鄰居結(jié)點編號集N(V)中的一個結(jié)點編號u'作為基因位V的等位基因,對初始化種群中個體的步驟進(jìn)行循環(huán)Popsize(種群規(guī)模)次,完成種群初始化;
[0016]步驟3:計算父種群中所有個體的適應(yīng)度Q,方法如下:
【權(quán)利要求】
1.一種基于改進(jìn)遺傳算法的復(fù)雜網(wǎng)絡(luò)社區(qū)挖掘方法,其特征在于包括如下步驟: 步驟1:計算機初始化; 步驟2:種群初始化,每個個體的基因位隨機選擇其基因位所代表的結(jié)點的某一鄰居結(jié)點的編號作為此基因位的等位基因,得到父種群,步驟如下: (1)每個個體初始化為一個長度為η位的編碼,每個基因位的等位基因全為O,η為個體的編碼長度; (2)對個體的每個基因位V,找到網(wǎng)絡(luò)中結(jié)點編號為V的鄰居結(jié)點編號集N(V)= Iu結(jié)點U與結(jié)點V直接相連}; (3)隨機選擇鄰居結(jié)點編號集N(V)中的一個結(jié)點編號u'作為基因位V的等位基因,對初始化種群中個體的步驟進(jìn)行循環(huán)Popsize (種群規(guī)模)次,完成種群初始化; 步驟3:計算父種群中所有個體的適應(yīng)度Q,方法如下:
其中,A = (Auv)nxn表示網(wǎng)絡(luò)G中結(jié)點的鄰接矩陣,如果結(jié)點u與V之間存在邊連接,則Auv= 1,否則Auv = O; δ (r(u),r(v))為社區(qū)認(rèn)同度函數(shù),其中,r(u)表示u所在的社區(qū),r(v)表示V所在的社區(qū),如果r(u) = r (v),其取值為I,表示結(jié)點u和v在同一社區(qū)中;否則取值為O,表示結(jié)點u和V不在同一社區(qū)中;ku表示結(jié)點u的度,1^表示結(jié)點V的度;E表示網(wǎng)絡(luò)G中總的邊數(shù),被定義為
步驟4:對種群進(jìn)行最小生成樹聚類,并進(jìn)行類別標(biāo)記,確定主類和副類; 步驟5:錦標(biāo)賽選擇主類中的兩個個體進(jìn)行交叉和變異操作,生成Popsize/2個后代個體Popm ;錦標(biāo)賽選擇副類中的兩個個體進(jìn)行交叉和變異操作,生成Popsize/2個后代個體Pop^ ;錦標(biāo)賽選擇主類的一個個體和副類中的一個個體進(jìn)行交叉和變異操作,生成Popsize/2 個后代個體 Pop。,其中 Popsize = 100, Popm 和 Pop。取值為 50 ; 步驟6:Popm和Pop。構(gòu)成主類種群的候選解Om, Popr和Pop。構(gòu)成副類種群的候選解(? ;根據(jù)主類種群目標(biāo)函數(shù)從O111中用u+ λ選擇策略選擇Popsize/2個個體作為下一代主類種群個體;根據(jù)副類種群的適應(yīng)度函數(shù)從仏中用μ+λ選擇策略選擇Popsize/2個個體作為下一代副類種群個體,U+λ選擇策略即從父代中選擇μ個個體,從子代中選擇λ個個體,然后再從U+λ個體中選擇μ個個體; 步驟7:判斷δ是否在連續(xù)的50代內(nèi)不再減小,若是,隨機生成一部分個體進(jìn)入下一代的遺傳操作;若否,執(zhí)行步驟8,δ的變化方法如下:
δ t+1 = δ t+ α.At 其中,α為O~I的小數(shù),t表示當(dāng)前代數(shù),At取值如下:
其中,Gt表示在進(jìn)化代數(shù)t時,成功繁殖的雙親對,則|Gt|表示成功繁殖的雙親對的數(shù)目,Dis(p,q)表示個體P和個體q間的距離;
表示成功繁殖的雙親間的平均距離,St表示第t代時的距離閾值;則At表示第t代的成功繁殖的雙親間的平均距離與距離閾值的差; 成功繁殖包含兩種情況:一是雙親都來自主類,則有一個后代個體比雙親都好即為成功繁殖;二是一個父代個體來自主類,另一個父代個體來自副類,則有一個后代個體比雙親中來自主類的父代個體好,即為成功繁殖; 在種群進(jìn)化過程中,δ不斷減小,當(dāng)種群趨向于收斂時,δ基本不再減小,本發(fā)明設(shè)置的是在50代內(nèi)不再減小,就隨機生成15個個體進(jìn)入下一代的遺傳操作; 步驟8:重復(fù)步驟4一步驟7直到到達(dá)種群迭代次數(shù)Τ,得到社區(qū)最佳劃分; 所述的復(fù)雜網(wǎng)絡(luò)采用圖G(V,E)表示,其中V為結(jié)點V的集合,E為邊e的集合,設(shè)V中結(jié)點數(shù)為n, E中邊的數(shù)目為m,則結(jié)點V的編號為(1,2,...,V,...,η),V e (I, 2,..., v,..., n), e e (I, 2,..., e,..., m); 所述的種群用Pop表示,指的是復(fù)雜網(wǎng)絡(luò)若干可能的社區(qū)劃分結(jié)果,社區(qū)方法稱為社區(qū)挖掘方法用S表不,s為屬于S中的一種劃分方法即sE (I, 2,..., s,..., S), S表不劃分方法的總數(shù),其中的任何一種劃分結(jié)果稱為個體,用Pop(S)表示,則所有的可能的劃分結(jié)果的數(shù)目稱為種群規(guī)模,用Popsize表示; 所述的個體的編碼采用基于基因座鄰接的編碼表示,該表示中一個基因代表網(wǎng)絡(luò)中的一個頂點,一個基因的等位基因用它的鄰居節(jié)點表示。
2.根據(jù)權(quán)利要求1所述的種群最小生成樹聚類后確定主類和副類,其特征在于包括如下步驟: 步驟S4-1:利用歸一化共用信息I (Pop (Sa),Pop (?))度量種群中兩個個體Pop (sa)和Pop(Sb)間距離,歸一化共用信息方法如下:
其中,C為置亂矩陣,共有I行J列,所述I是第一種劃分方法sA中包含的社區(qū)數(shù),所述J是第二種劃分方法sB中包含的社區(qū)數(shù),C1.是置亂矩陣C中第i行的元素之和,即
是所述置亂矩陣C中第j列的元素之和,即
是第一種劃分方法Sa中的社區(qū)i和第二種劃分方法Sb中的社 區(qū)j中共同擁有的結(jié)點數(shù):當(dāng)沒有共同結(jié)點時,Vu = O ;當(dāng)有部分共同結(jié)點時,Vu為其交集中的結(jié)點數(shù);當(dāng)所有結(jié)點都相同時,Vu取社區(qū)i或社區(qū)j中的結(jié)點數(shù);v為所述復(fù)雜網(wǎng)絡(luò)中的總的結(jié)點數(shù); 當(dāng)?shù)谝环N劃分方法Sa的結(jié)果和第二種劃分方法Sb的結(jié)果完全相同時,I(Pop(sA), Pop(Sb)) = I ;當(dāng)?shù)谝环N劃分方法sA的結(jié)果和第二種劃分方法4的結(jié)果不同時,I (Pop (Sa),Pop (Sb) )=0; 步驟S4-2:計算兩種劃分方法的結(jié)果Pop(Sa)和Pop (Sb)間的距離d方法如下:d =1-1 (Pop (Sa) , Pop (Sb)); 步驟S4-3:利用普利姆方法求得包含種群所有個體的最小生成樹; 步驟S4-4:斷開最小生成樹中權(quán)值超過閾值的邊,得到種群的森林,即得到種群的聚類劃分,閾值為最小生成樹中所有最有邊中小于0.88*avg的最大距離,avg為最小生成樹中所有邊的平均值,閾值的范圍在(0,I); 步驟S4-5:深度遍歷該森林,并對種群個體進(jìn)行類別標(biāo)記即將個體中的類別成員變量設(shè)置為其所屬的類別號,并保存到classid數(shù)組中; 步驟S4-6:尋找最優(yōu)個體所在的類做為主類,其余各類歸為副類。
【文檔編號】G06N3/12GK104200272SQ201410429721
【公開日】2014年12月10日 申請日期:2014年8月28日 優(yōu)先權(quán)日:2014年8月28日
【發(fā)明者】楊新武, 楊麗軍, 李 瑞 申請人:北京工業(yè)大學(xué)