專利名稱:基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法
技術(shù)領(lǐng)域:
本發(fā)明屬于動態(tài)網(wǎng)絡(luò)檢測技術(shù)領(lǐng)域,涉及動態(tài)網(wǎng)絡(luò)的結(jié)構(gòu)分析,具體是一種動態(tài)網(wǎng)絡(luò)社區(qū)的檢測方法,可用于動態(tài)人物關(guān)系網(wǎng)中對社區(qū)結(jié)構(gòu)的檢測、動態(tài)動物群體中對物種的劃分和動態(tài)數(shù)據(jù)的挖掘。
背景技術(shù):
動態(tài)網(wǎng)絡(luò)檢測技術(shù)涉及復(fù)雜網(wǎng)絡(luò)理論、圖論、數(shù)據(jù)挖掘、數(shù)理統(tǒng)計等領(lǐng)域,其研究內(nèi)容也十分寬泛?,F(xiàn)實生活中的系統(tǒng),如論文作者查詢系統(tǒng)、博客等,都可用一個網(wǎng)絡(luò)來表示,網(wǎng)絡(luò)中的節(jié)點表示個體,例如俱樂部成員、作者、博客;網(wǎng)絡(luò)中的邊表示不同個體之間的聯(lián)系,例如一個俱樂部成員之間的聯(lián)系、論文作者之間的合作關(guān)系、博客之間的超鏈接關(guān)系。在現(xiàn)實生活中,事物之間的聯(lián)系常隨著時間變化而變化,例如,俱樂部的成員有來有走,成員之間也有從生疏到熟悉;學(xué)者們合作發(fā)表論文,在某段時間內(nèi)和一位學(xué)者聯(lián)系比較緊密,在另一時期,又與其他學(xué)者合作。這樣隨著時間不斷變化的網(wǎng)絡(luò),就可以用一組靜態(tài)網(wǎng)絡(luò)序列N = {N1, · · ·,Ντ}描述,其中Nt是t時刻個體間連接的快照,CRt = {C/,…,CktI
是網(wǎng)絡(luò)Nt在t時刻的一種劃分,C/表示網(wǎng)絡(luò)中一個社區(qū),t= 1……T。檢測動態(tài)網(wǎng)絡(luò)的
社區(qū)結(jié)構(gòu),即檢測出每個時間片刻網(wǎng)絡(luò)的劃分情況,分析某一時刻網(wǎng)絡(luò)結(jié)構(gòu)時,既要考慮當(dāng)前網(wǎng)絡(luò)自身結(jié)構(gòu)特點,又要融入上一時刻網(wǎng)絡(luò)劃分情況對當(dāng)前劃分的影響,這樣才能保證網(wǎng)絡(luò)的劃分與客觀上網(wǎng)絡(luò)平滑變化相符合。分析動態(tài)網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)有助于人們掌握動態(tài)網(wǎng)絡(luò)的發(fā)展趨勢,因此對動態(tài)網(wǎng)絡(luò)社區(qū)檢測算法的研究具有重要的理論意義和實用價值。對于動態(tài)網(wǎng)絡(luò)的研究已受到廣泛關(guān)注。從研究社會網(wǎng)絡(luò)的動態(tài)行為,社會網(wǎng)絡(luò)動態(tài)過程涉及網(wǎng)絡(luò)受環(huán)境影響及內(nèi)部交往導(dǎo)致的變化,不僅包括網(wǎng)絡(luò)拓?fù)涞淖兓€有網(wǎng)絡(luò)中節(jié)點和連接屬性的改變。研究動態(tài)網(wǎng)絡(luò)的模型從統(tǒng)計模型,利用連續(xù)時間馬爾科夫鏈模型,網(wǎng)絡(luò)的變化過程被看作一個連續(xù)時間馬爾可夫過程;動態(tài)環(huán)境友誼模型,試圖捕獲現(xiàn)實社會網(wǎng)絡(luò)隨時間進(jìn)化的復(fù)雜性。2006年,D. Chakrabarti等人在KDD,06上提出演化聚類理論框架,并實驗證明該理論對于動態(tài)數(shù)據(jù)良好的處理能力。演化聚類用來解決不同時刻數(shù)據(jù)點的聚類問題,在每個時刻,一個新的聚類結(jié)果必須同時對兩個相互矛盾的標(biāo)準(zhǔn)進(jìn)行優(yōu)化,第一個標(biāo)準(zhǔn)反映當(dāng)前時刻數(shù)據(jù)聚類的精度;第二個標(biāo)準(zhǔn)表示該時刻聚類結(jié)果和上一時刻聚類結(jié)果是否存在巨大變化。2010 年,F(xiàn)rancesco Folino 和 Clara Pizzuti 提出 DYN-M0GA 方法,將多目標(biāo)演化聚類方法用于處理動態(tài)網(wǎng)絡(luò)社區(qū)檢測問題。DYN-MOGA方法采用多目標(biāo)遺傳算法作為優(yōu)化算法,以網(wǎng)絡(luò)的Community Score值作為第一個目標(biāo)函數(shù)來衡量當(dāng)前網(wǎng)絡(luò)劃分的優(yōu)劣,以上一時刻網(wǎng)絡(luò)劃分結(jié)果和當(dāng)前時刻網(wǎng)絡(luò)劃分的匪I值作為另一目標(biāo)函數(shù)。現(xiàn)有的基于多目標(biāo)遺傳算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法存在以下缺點其一,基于多目標(biāo)遺傳算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法的網(wǎng)絡(luò)社區(qū)檢測精度較低。其二,基于多目標(biāo)遺傳算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,由于采用多目標(biāo)優(yōu)化算法作為優(yōu)化策略,計算量大,運行時間長,網(wǎng)絡(luò)社區(qū)檢測效率低。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述已有技術(shù)的不足,提出一種基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,以實現(xiàn)在演化聚類理論框架下,利用非支配鄰域免疫算法同時優(yōu)化兩個目標(biāo)函數(shù),對動態(tài)網(wǎng)絡(luò)進(jìn)行社區(qū)檢測。為實現(xiàn)上述目的,本發(fā)明的實現(xiàn)過程如下(1)設(shè)定優(yōu)化算法的最大代數(shù)Gmax、支配種群最大規(guī)模nD、活性種群規(guī)模nA、克隆種群規(guī)模nc、Community Fitness目標(biāo)函數(shù)中的參數(shù)α,最大時間片刻T ;(2)設(shè)置時間片刻t = 1,輸入第一時間片刻網(wǎng)絡(luò)N1的鄰接矩陣A1,并根據(jù)鄰接矩陣A1生成規(guī)模為nD的初始化抗體種群Btl,設(shè)置優(yōu)化算法運行代數(shù)g = 0,并設(shè)定支配種群 D0= Φ,活性種群Atl = Φ,臨時支配種群DTtl和克隆種群Ctl = Φ,其中Φ表示空集;(3)如果優(yōu)化算法運行代數(shù)g >優(yōu)化算法最大運行代數(shù)Gmax,則對g代時的支配種群Dg中的個體進(jìn)行解碼,并計算個體的模度值,選擇模度值最大的個體CR1作為第一時間片刻網(wǎng)絡(luò)的劃分結(jié)果輸出,t = t+Ι,執(zhí)行步驟(5);否則,執(zhí)行步驟;(4)對抗體種群\中的個體進(jìn)行解碼,并分別計算Community Score值和 Community Fitness值作為兩個目標(biāo)值,根據(jù)目標(biāo)值從抗體種群\中選出支配抗體組成支配種群Dg,再從支配種群Dg中選出活性個體組成活性種群Ag,對活性種群Ag進(jìn)行等比例克隆、均勻交叉、單點變異操作后和支配種群連接形成新的抗體種群 ,令優(yōu)化算法運行代數(shù) g = g+Ι,返回步驟(3);(5)判斷終止條件如果時間片刻t >最大時間片刻T,則對t的時間片刻的g代支配種群Dg中的個體進(jìn)行解碼,并計算個體模度值,選擇模度值最大的個體作為t時間片刻網(wǎng)絡(luò)Nt的劃分結(jié)果輸出;否則,執(zhí)行步驟(6);(6)輸入第t時間片刻網(wǎng)絡(luò)Nt的鄰接矩陣At,并根據(jù)鄰接矩陣At生成規(guī)模為nD的初始化抗體種群Btl,設(shè)置優(yōu)化算法運行代數(shù)g = 0,并設(shè)定支配種群Dtl = Φ,活性種群A0 = Φ,臨時支配種群DTtl和克隆種群C。= Φ,其中Φ表示空集;(7)如果優(yōu)化算法運行代數(shù)g >優(yōu)化算法最大運行代數(shù)Gmax,則對g代時的支配種群Dg中的個體進(jìn)行解碼,并計算個體的模度值,選擇模度值最大的個體CRt作為第t時間片刻網(wǎng)絡(luò)的劃分結(jié)果輸出,t = t+Ι,執(zhí)行步驟(5);否則,執(zhí)行步驟(8);(8)對抗體種群\中的個體進(jìn)行解碼,并分別計算個體的Community Score值和個體解碼后所表示的網(wǎng)絡(luò)劃分與上一時間片刻網(wǎng)絡(luò)劃分結(jié)果CRt-1的匪I值作為兩個目標(biāo)值,根據(jù)目標(biāo)值從抗體種群 中選出支配抗體組成支配種群Dg,再從支配種群Dg中選出活性個體組成活性種群Ag,對活性種群Ag進(jìn)行等比例克隆、均勻交叉、單點變異操作后和支配種群連接形成新的抗體種群\,令優(yōu)化算法運行代數(shù)g = g+Ι,返回步驟(7)。本發(fā)明與現(xiàn)有的技術(shù)相比具有以下優(yōu)點1、本發(fā)明方法在演化聚類理論框架下提出,充分考慮歷史信息對網(wǎng)絡(luò)劃分的影響,準(zhǔn)確反映了網(wǎng)絡(luò)平滑連續(xù)變化的動態(tài),社區(qū)檢測精度較高;2、本發(fā)明方法由于采用非支配鄰域免疫算法,每次運行只對具有較大擁擠距離的非支配個體進(jìn)行克隆、交叉和變異操作,使得計算量降低,優(yōu)化效率提高,從而提高了社區(qū)檢測的效率,縮短了運行時間。
圖1是本發(fā)明實現(xiàn)總流程圖;圖2是本發(fā)明生成初始化種群的子流程圖;圖3是本發(fā)明采用解碼過程示意圖;圖4是本發(fā)明更新抗體種群的子流程圖;圖5是用本發(fā)明方法對R)0tkill data動態(tài)網(wǎng)絡(luò)進(jìn)行社區(qū)檢測的仿真實驗結(jié)果圖;圖6是用現(xiàn)有基于多目標(biāo)優(yōu)化算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法對i^otkill data動態(tài)網(wǎng)絡(luò)的仿真實驗結(jié)果圖。
具體實施例方式參照圖1,本發(fā)明的具體實現(xiàn)步驟如下步驟1、設(shè)定相關(guān)參數(shù)。設(shè)定優(yōu)化算法的最大代數(shù)Gmax、支配種群最大規(guī)模nD、活性種群規(guī)模nA、克隆種群規(guī)模nc、Community Fitness目標(biāo)函數(shù)中的參數(shù)α、Community Score目標(biāo)函數(shù)中的參數(shù) r和所要處理的動態(tài)網(wǎng)絡(luò)的最大時間片刻T ;如果所要處理的動態(tài)網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,則優(yōu)化算法的最大代數(shù)Gmax、支配種群最大規(guī)模nD、活性種群規(guī)模nA和克隆種群規(guī)模相應(yīng)設(shè)置為較大的值,該較大的值是以搜索到最優(yōu)個體為限。步驟2、設(shè)置時間片刻t = 1,輸入第一時間片刻網(wǎng)絡(luò)N1的鄰接矩陣A1,并根據(jù)鄰接矩陣A1生成規(guī)模為nD的初始化抗體種群Btl,設(shè)置優(yōu)化算法運行代數(shù)g = 0,并設(shè)定支配種群Dtl= φ,活性種群Aq= Φ,臨時支配種群DTq和克隆種群Cq= Φ,其中Φ表示空集。參照圖2,本步驟生成初始化抗體種群Btl的具體實現(xiàn)如下(2a)根據(jù)網(wǎng)絡(luò)的鄰接矩陣,得到與網(wǎng)絡(luò)中各個節(jié)點有連接的節(jié)點標(biāo)號集合;(2b)從與網(wǎng)絡(luò)中各個節(jié)點有連接的節(jié)點標(biāo)號集合中隨機(jī)選取一個節(jié)點標(biāo)號作為網(wǎng)絡(luò)節(jié)點對應(yīng)基因位的等位基因值,直到每個等位基因值確定,形成一個個體;(2c)重復(fù)步驟Qb),直到產(chǎn)生nD個個體形成抗體種群B。。步驟3、判斷優(yōu)化算法終止條件如果優(yōu)化算法運行代數(shù)g >優(yōu)化算法最大運行代數(shù)g,則對g代時的支配種群Dg中的個體進(jìn)行解碼,并執(zhí)行步驟⑷;否則,執(zhí)行步驟(5)。參照圖3,本步驟對g代時的支配種群Dg中的個體進(jìn)行解碼的具體實現(xiàn)如下(3a)對g代時的支配種群Dg中的每個個體連接其所有基因位標(biāo)號和等位基因值代表的節(jié)點,形成連接邊;(3b)將所有相互連接的節(jié)點劃分到一個社區(qū),并對社區(qū)依次進(jìn)行標(biāo)號,一個社區(qū)內(nèi)的所有節(jié)點的標(biāo)號均為其所在社區(qū)標(biāo)號;(3c)將所有節(jié)點的社區(qū)標(biāo)號設(shè)定為所對應(yīng)基因位的等位基因值。步驟4、計算每個個體的模度值,選擇模度值最大的個體CR1作為第一時間片刻網(wǎng)絡(luò)的劃分結(jié)果輸出,t = t+Ι,并且執(zhí)行步驟(6)。計算模度值,按如下公式計算
權(quán)利要求
1.一種基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,包括如下步驟(1)設(shè)定優(yōu)化算法的最大代數(shù)Gmax、支配種群最大規(guī)模nD、活性種群規(guī)模nA、克隆種群規(guī)模1^、&)1111111111^7 Fitness目標(biāo)函數(shù)中的參數(shù)α,最大時間片刻T ;(2)設(shè)置時間片刻t= 1,輸入第一時間片刻網(wǎng)絡(luò)N1的鄰接矩陣A1,并根據(jù)鄰接矩陣A1 生成規(guī)模為nD的初始化抗體種群Btl,設(shè)置優(yōu)化算法運行代數(shù)g = 0,并設(shè)定支配種群Dtl = Φ,活性種群Atl = Φ,臨時支配種群DTtl和克隆種群C。= Φ,其中Φ表示空集;(3)如果優(yōu)化算法運行代數(shù)g>優(yōu)化算法最大運行代數(shù)Gmax,則對Gmaxg代時的支配種群 Demax中的個體進(jìn)行解碼,并計算個體的模度值,選擇模度值最大的個體CR1作為第一時間片刻網(wǎng)絡(luò)的劃分結(jié)果輸出,t = t+Ι,執(zhí)行步驟(5);否則,執(zhí)行步驟;(4)對抗體種群民中的個體進(jìn)行解碼,并分別計算CommunityScore值和Community Fitness值作為兩個目標(biāo)值,根據(jù)目標(biāo)值從抗體種群\中選出支配抗體組成支配種群Dg,再從支配種群Dg中選出活性個體組成活性種群Ag,對活性種群Ag進(jìn)行等比例克隆、均勻交叉、 單點變異操作后和支配種群連接形成新的抗體種群\,令優(yōu)化算法運行代數(shù)g = g+Ι,返回步驟⑶;(5)判斷終止條件如果時間片刻t>最大時間片刻T,則對t的時間片刻的g代支配種群Dg中的個體進(jìn)行解碼,并計算個體模度值,選擇模度值最大的個體作為t時間片刻網(wǎng)絡(luò)Nt的劃分結(jié)果輸出;否則,執(zhí)行步驟(6);(6)輸入第t時間片刻網(wǎng)絡(luò)Nt的鄰接矩陣At,并根據(jù)鄰接矩陣At生成規(guī)模為nD的初始化抗體種群Btl,設(shè)置優(yōu)化算法運行代數(shù)g = 0,并設(shè)定支配種群Dtl = Φ,活性種群Atl = Φ, 臨時支配種群DTtl和克隆種群Ctl= Φ,其中Φ表示空集;(7)如果優(yōu)化算法運行代數(shù)g>優(yōu)化算法最大運行代數(shù)Gmax,則對Gmax代時的支配種群 Dcmax中的個體進(jìn)行解碼,并計算個體的模度值,選擇模度值最大的個體CRt作為第t時間片刻網(wǎng)絡(luò)的劃分結(jié)果輸出,t = t+Ι,返回步驟(5);否則,執(zhí)行步驟⑶;(8)對抗體種群\中的個體進(jìn)行解碼,并分別計算個體的CommunityScore值和個體解碼后所表示的網(wǎng)絡(luò)劃分與上一時間片刻網(wǎng)絡(luò)劃分結(jié)果or1的Normalized Mutual Information值作為兩個目標(biāo)值,根據(jù)目標(biāo)值從抗體種群\中選出支配抗體組成支配種群 Dg,再從支配種群Dg中選出活性個體組成活性種群Ag,對活性種群Ag進(jìn)行等比例克隆、均勻交叉、單點變異操作后和支配種群連接形成新的抗體種群 ,令優(yōu)化算法運行代數(shù)g = g+Ι,返回步驟(7)。
2.根據(jù)權(quán)利要求1所述的基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,其中步驟⑵所述的根據(jù)網(wǎng)絡(luò)的鄰接矩陣,生成規(guī)模為nD的初始化抗體種群Btl,按如下步驟進(jìn)行(2a)根據(jù)網(wǎng)絡(luò)的鄰接矩陣,得到與網(wǎng)絡(luò)中各個節(jié)點有連接的節(jié)點標(biāo)號集合;(2b)從與網(wǎng)絡(luò)中各個節(jié)點有連接的節(jié)點標(biāo)號集合中隨機(jī)選取一個節(jié)點標(biāo)號作為網(wǎng)絡(luò)節(jié)點對應(yīng)基因位的等位基因值,直到每個等位基因值確定,形成一個個體;(2c)重復(fù)步驟(2b),直到產(chǎn)生nD個個體形成抗體種群氏。
3.根據(jù)權(quán)利要求1所述的基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,其中步驟C3)所述的對t代時的支配種群Dt中的個體進(jìn)行解碼,按如下步驟進(jìn)行(3a)對t代時的支配種群Dt中的每個個體連接其所有基因位標(biāo)號和等位基因值代表的節(jié)點,形成連接邊;(3b)將所有相互連接的節(jié)點劃分到一個社區(qū),并對社區(qū)依次進(jìn)行標(biāo)號,一個社區(qū)內(nèi)的所有節(jié)點的標(biāo)號均為其所在社區(qū)標(biāo)號;(3c)將所有節(jié)點的社區(qū)標(biāo)號設(shè)定為所對應(yīng)基因位的等位基因值。
4.根據(jù)權(quán)利要求1所述的基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,其中步驟(3)所述的計算模度值,按如下公式計算
5.根據(jù)權(quán)利要求1所述的基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,其中步驟(4)所述的從抗體種群 中選出支配抗體組成支配種群Dg,按如下步驟進(jìn)行(4a)找出g代時抗體種群 中的支配個體,并把g代時抗體種群 中的所有支配個體復(fù)制到g代臨時支配種群DTg中;(4b)判斷如果g代臨時支配種群DTg規(guī)模不大于設(shè)定的支配種群最大規(guī)模nD,則令g 代支配種群Dg等于g代臨時支配種群DTg ;否則,計算g代臨時支配種群DTg中每個個體的擁擠距離值,并將g代臨時支配種群DTg中的個體依照其擁擠距離值按降序進(jìn)行排列,選擇 g代臨時支配種群DTg中的前nD個個體形成g代支配種群Dg。
6.根據(jù)權(quán)利要求1所述的基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,其中步驟(4)所述的從支配種群Dg中選出活性個體組成活性種群Ag 如果g代支配種群Dg的規(guī)模不大于設(shè)定的活性種群規(guī)模nA,則令g代活性種群Ag等于g代支配種群Dg ;否則,計算g代支配種群Dg中每個個體的擁擠距離值,并按照降序排列,選擇前nA個個體形成g代活性種群Ag。
7.根據(jù)權(quán)利要求1所述的基于非支配鄰域免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,其中步驟(8)所述的計算個體解碼后所表示的網(wǎng)絡(luò)劃分與上一時間片刻網(wǎng)絡(luò)劃分結(jié)果CRt-1的 Normalized Mutual Information 值,按如下公式計算
全文摘要
本發(fā)明公開了一種基于非支配鄰域人工免疫算法的動態(tài)網(wǎng)絡(luò)社區(qū)檢測方法,主要解決現(xiàn)有算法耗時長、精度低的問題。其實現(xiàn)步驟為(1)設(shè)定優(yōu)化最大代數(shù)Gmax和最大時間片刻T;(2)在t=1時刻,輸入網(wǎng)絡(luò)鄰接矩陣,設(shè)置優(yōu)化代數(shù)g=0,生成初始抗體種群,當(dāng)g<Gmax時,對初始抗體種群進(jìn)行更新,否則,對支配種群進(jìn)行解碼,找出具有最大模度值的個體輸出,并設(shè)t=t+1,執(zhí)行步驟(3);(3)若t>T,則終止檢測;否則執(zhí)行(4);(4)輸入第t時刻網(wǎng)絡(luò)鄰接矩陣,設(shè)置優(yōu)化代數(shù)g=0,生成初始種群;(5)當(dāng)g<Gmax時,對初始抗體種群進(jìn)行更新,否則,對支配種群進(jìn)行解碼,找出具有最大模度值的個體輸出,并設(shè)t=t+1,執(zhí)行步驟(3)。本發(fā)明具有檢測精度高、耗時短的優(yōu)點,可用于網(wǎng)絡(luò)劃分技術(shù)領(lǐng)域。
文檔編號G06N3/12GK102521655SQ20121000217
公開日2012年6月27日 申請日期2012年1月5日 優(yōu)先權(quán)日2012年1月5日
發(fā)明者付寶, 侯田, 公茂果, 焦李成, 王艷輝, 馬文萍, 馬晶晶, 馬里佳 申請人:西安電子科技大學(xué)