【
技術(shù)領(lǐng)域:
】本發(fā)明屬于網(wǎng)絡(luò)信息挖掘中的網(wǎng)絡(luò)社區(qū)檢測領(lǐng)域,具體是一種基于spark平臺的多目標(biāo)進(jìn)化社區(qū)檢測方法,涉及分布式大數(shù)據(jù)處理,可用于發(fā)現(xiàn)大規(guī)模網(wǎng)絡(luò)中的組織結(jié)構(gòu)。
背景技術(shù):
:隨著信息技術(shù)的發(fā)展,智能手機(jī)和智能家居等已經(jīng)深入人們的生活。它們在給人們提供便利時(shí),也產(chǎn)生了規(guī)模不斷變大,結(jié)構(gòu)越來越復(fù)雜的物連網(wǎng)絡(luò)和現(xiàn)代社交網(wǎng)絡(luò)。例如人們在淘寶購買的物品可以串聯(lián)起每一個(gè)購買過它的人,從而組成一個(gè)購物習(xí)慣的購物網(wǎng)絡(luò),這樣的網(wǎng)絡(luò)無疑是巨大而復(fù)雜的。但是從這樣的具有現(xiàn)實(shí)意義的大規(guī)模網(wǎng)絡(luò)中挖掘信息是很有意義的,比如在你購買物品時(shí)幫你推薦商品。社區(qū)檢測是網(wǎng)絡(luò)挖掘的一種信息獲取方式,它可以幫助我們了解網(wǎng)絡(luò)的組織結(jié)構(gòu),劃分用戶的喜好圈子定向的投放廣告。多目標(biāo)進(jìn)化算法在處理網(wǎng)絡(luò)社區(qū)檢測問題時(shí),種群中的每個(gè)個(gè)體對應(yīng)一種社區(qū)劃分,目標(biāo)函數(shù)分為社區(qū)間聯(lián)系緊度函數(shù)和社區(qū)內(nèi)聯(lián)系緊密函數(shù)。種群在進(jìn)化時(shí)盡量尋找社區(qū)間聯(lián)系緊度函數(shù)值小而社區(qū)內(nèi)聯(lián)系緊密度函數(shù)值高的社區(qū)劃分,最后會得到多個(gè)非支配的社區(qū)劃分,這樣的劃分通常代表了不同層次的社區(qū)結(jié)構(gòu)。但是多目標(biāo)進(jìn)化算法具有不可回避的缺陷,空間復(fù)雜度和時(shí)間復(fù)雜度較高,與種群大小和網(wǎng)絡(luò)規(guī)模成正比。如果一個(gè)網(wǎng)絡(luò)有1萬節(jié)點(diǎn),而進(jìn)化算法種群規(guī)模是100,則需要大約3.8g的內(nèi)存資源。針對大規(guī)模復(fù)雜網(wǎng)絡(luò)的社區(qū)檢測,對算法設(shè)計(jì)以及計(jì)算設(shè)備提出了更高的要求。原有的一些算法占用太多計(jì)算資源,受到處理器核數(shù)及主頻、內(nèi)存大小等限制,處理大規(guī)模復(fù)雜網(wǎng)絡(luò)時(shí)往往力不從心,或者處理速度太慢不符合人們對社區(qū)檢測效率的要求。而分布式系統(tǒng),可以利用計(jì)算機(jī)間的通信機(jī)制協(xié)同處理數(shù)據(jù),從而能打破這些計(jì)算資源對算法的限制。為了處理實(shí)時(shí)的大規(guī)模數(shù)據(jù)流,當(dāng)前互聯(lián)網(wǎng)企業(yè)大多搭建了自己的分布式處理平臺,流行的分布式處理平臺有hadoop和spark等。spark分布式平臺是在hadoop基礎(chǔ)上發(fā)展而來,與hadoop不同的是,spark基于內(nèi)存計(jì)算,數(shù)據(jù)模型更加抽象,不僅提高了迭代效率,而且易于設(shè)計(jì)迭代算法。另外spark有自己的圖模型庫,可以很方便的處理網(wǎng)絡(luò)問題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺點(diǎn),提供一種基于spark平臺的多目標(biāo)進(jìn)化社區(qū)檢測方法,目的在于使多目標(biāo)進(jìn)化社區(qū)檢測算法可以有效處理大規(guī)模復(fù)雜網(wǎng)絡(luò)的問題。為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案予以實(shí)現(xiàn):一種基于spark平臺的多目標(biāo)進(jìn)化社區(qū)檢測方法,包括以下步驟:步驟1:讀入待社區(qū)劃分的網(wǎng)絡(luò)鄰接表,并初始化種群,利用節(jié)點(diǎn)數(shù)據(jù)集count函數(shù),求出網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù)記為|v|;步驟2:每個(gè)節(jié)點(diǎn)收集由該節(jié)點(diǎn)參與構(gòu)成的三角結(jié)構(gòu)信息,以及該節(jié)點(diǎn)的度;步驟3:計(jì)算種群每個(gè)個(gè)體的目標(biāo)函數(shù)值,復(fù)制初始種群中的個(gè)體到個(gè)體當(dāng)前個(gè)體的最好社區(qū)劃分記錄,記為pbest,并記迭代次數(shù)i=0;步驟4:通過交叉變異產(chǎn)生新個(gè)體,并計(jì)算新個(gè)體的目標(biāo)函數(shù)值;步驟5:通過基于邊界交叉方式的分解策略來選擇新一代種群,更新當(dāng)前個(gè)體的最好社區(qū)劃分記錄;步驟6:如果迭代次數(shù)i<imax,則i=i+1,并跳轉(zhuǎn)到步驟4,否則跳轉(zhuǎn)到步驟7;步驟7:輸出多目標(biāo)進(jìn)化的社區(qū)發(fā)現(xiàn)結(jié)果。本發(fā)明進(jìn)一步的改進(jìn)在于:步驟1中,網(wǎng)絡(luò)鄰接表是網(wǎng)絡(luò)數(shù)據(jù)的一種存儲方式,鄰接表中節(jié)點(diǎn)成對存在,表示這對節(jié)點(diǎn)有邊連接。步驟1具體方法如下:步驟1-0:利用hadoop分布式平臺的文件管理,將待檢測的網(wǎng)絡(luò)鄰接表保存到分布式文件存儲系統(tǒng);步驟1-1:利用spark平臺的圖模型庫graphx通過讀取網(wǎng)絡(luò)的鄰接表創(chuàng)建graph網(wǎng)絡(luò)對象;步驟1-2:利用標(biāo)簽傳播算法(labelpropagation),初始化網(wǎng)絡(luò)的節(jié)點(diǎn)屬性,并利用隨機(jī)函數(shù)生成種群,種群大小記為popsize;步驟1-3:利用節(jié)點(diǎn)數(shù)據(jù)集count函數(shù)求出網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù);需要說明的是:graph對象包含vertexrdd[vertexid,vd]節(jié)點(diǎn)數(shù)據(jù)集、edgerdd[ed]網(wǎng)絡(luò)邊數(shù)據(jù)集;其中vertexid即節(jié)點(diǎn)的id、vd為節(jié)點(diǎn)的屬性,且成對存在,ed是網(wǎng)絡(luò)邊的屬性;初始化后,節(jié)點(diǎn)的社區(qū)劃分存儲在節(jié)點(diǎn)屬性vd中;對于種群而言,節(jié)點(diǎn)屬性vd被擴(kuò)展為數(shù)組,數(shù)組長度為種群中個(gè)體的數(shù)量,該數(shù)組記為poparray。步驟2中,構(gòu)成的三角結(jié)構(gòu)是指該節(jié)點(diǎn)與另外兩個(gè)節(jié)點(diǎn)兩兩相連的三角形連接;節(jié)點(diǎn)的度即與該節(jié)點(diǎn)相關(guān)聯(lián)的邊數(shù)。步驟2具體方法如下:步驟2-0:利用圖模型graphx的消息分發(fā)聚合機(jī)制收集節(jié)點(diǎn)的相鄰節(jié)點(diǎn)id,組成相鄰節(jié)點(diǎn)id表,記為listids;步驟2-1:求步驟2-0中得到的listids長度,即得到該節(jié)點(diǎn)的度d,并存入節(jié)點(diǎn)屬性vd中;步驟2-1:在利用消息分發(fā)聚合機(jī)制,檢查消息分發(fā)的源節(jié)點(diǎn)與目標(biāo)節(jié)的listids是否有相同的id,及是否有相同的鄰接點(diǎn),有則表示能夠構(gòu)成三角結(jié)構(gòu),向目標(biāo)節(jié)點(diǎn)發(fā)送該相鄰節(jié)點(diǎn)的id,在目標(biāo)節(jié)點(diǎn)的節(jié)點(diǎn)屬性vd中存入該三角結(jié)構(gòu),節(jié)點(diǎn)能夠組成的三角結(jié)構(gòu)記為listtriangles;步驟2-2:經(jīng)以上步驟,節(jié)點(diǎn)屬性vd變?yōu)槿M:(poparray,d,listtriangles);poparray表示種群在該節(jié)點(diǎn)的社區(qū)劃分,d為節(jié)點(diǎn)的度,listtriangles為該節(jié)點(diǎn)可組成的三角結(jié)構(gòu)。步驟3中,目標(biāo)函數(shù)公式如下:其中i是節(jié)點(diǎn)編號,v是網(wǎng)絡(luò)中所有節(jié)點(diǎn)的集合,sj是v的一個(gè)子集來代表一個(gè)社區(qū),t(i,s)表示節(jié)點(diǎn)i與社區(qū)s內(nèi)的點(diǎn)構(gòu)成的三角結(jié)構(gòu)數(shù)量,d表示節(jié)點(diǎn)i的度,|v|為集合v中節(jié)點(diǎn)的個(gè)數(shù);特別的,公式(1)中節(jié)點(diǎn)i是社區(qū)sj中與其他社區(qū)相連接的點(diǎn);公式(1)用來表示社區(qū)間的聯(lián)系緊密度,其值越大代表社區(qū)間的聯(lián)系越稀疏;公式(2)表示社區(qū)內(nèi)節(jié)點(diǎn)的聯(lián)系緊密度,其值越大代表社區(qū)內(nèi)節(jié)點(diǎn)聯(lián)系越緊密。步驟3具體方法如下:步驟3-0:利用圖模型graphx的消息分發(fā)聚合機(jī)制收集相鄰節(jié)點(diǎn)的poparray,按位找出該節(jié)點(diǎn)i在其所屬社區(qū)s中可構(gòu)成的三角數(shù)t(i,s);步驟3-1:判斷節(jié)點(diǎn)i是否與其他社區(qū)的節(jié)點(diǎn)相連,若果是則onbound=1,否則onbound=0;步驟3-2:在該節(jié)點(diǎn)為每一個(gè)個(gè)體,分別計(jì)算記為td,如果在步驟3-1被onbound=1,計(jì)算記為tv,否則tv=0;步驟3-3:利用reduce函數(shù)對節(jié)點(diǎn)數(shù)據(jù)集的td、tv以及onbound進(jìn)行求和,onbound的和記為m;步驟3-4:對于每個(gè)個(gè)體,步驟3-5:復(fù)制初始種群中的個(gè)體到個(gè)體當(dāng)前個(gè)體的最好社區(qū)劃分記錄,記為pbest,記迭代次數(shù)i=0。步驟4中,通過交叉變異產(chǎn)生新個(gè)體,并計(jì)算新個(gè)體的目標(biāo)函數(shù)值,其具體方法如下:步驟4-0:將步驟3中求出的目標(biāo)函數(shù)值,利用廣播的方式,廣播到每一個(gè)分布式集群的子機(jī)上;步驟4-1:在種群中正負(fù)5個(gè)范圍內(nèi),隨機(jī)選出每個(gè)個(gè)體的gbest;步驟4-2:對于每個(gè)節(jié)點(diǎn),取0到1內(nèi)的隨機(jī)值,與交叉概率比較,如果小于則執(zhí)行步驟4-3,如果大于則跳轉(zhuǎn)到步驟4-4;步驟4-3:根據(jù)公式(3),為每個(gè)個(gè)體計(jì)算pbest及gbest的邊界交叉聚合d的值gbip,分別記為pbestg,gbestg;步驟4-3-1:取0到1內(nèi)的隨機(jī)值,與pbestg/(pbestg+gbestg)比較,如果大于則將pbestg的社區(qū)id賦給該個(gè)體,否則將gbest的社區(qū)id賦給該個(gè)體;步驟4-4:取0到1內(nèi)的隨機(jī)值,與變異概率比較,如果小于則個(gè)體保持不變,否則該節(jié)點(diǎn)在poparray中選取一個(gè)需要變異的個(gè)體;步驟4-4-1:如果該節(jié)點(diǎn)有需要變異的個(gè)體,則利用消息分發(fā)聚合機(jī)制,收集相鄰節(jié)點(diǎn)的在該個(gè)體處的社區(qū)劃分;步驟4-4-2:從收集到的社區(qū)劃分中隨機(jī)選出一個(gè)賦給該節(jié)點(diǎn)的變異個(gè)體;步驟4-5:利用步驟3中求目標(biāo)函數(shù)值的方法,求出新生的個(gè)體函數(shù)值。步驟5中,基于邊界交叉方式的分解策略如下:mingbip(i|λ,z*)=d1+θd2(3)d2=|f-(z*-d1λ)|(5)其中θ為預(yù)設(shè)參數(shù),f=(btc,inc)為目標(biāo)函數(shù)向量,λ=(λ1,λ2)為權(quán)重向量z*=(max(btc),max(inc))為目標(biāo)函數(shù)值當(dāng)前最好的期望;當(dāng)兩個(gè)個(gè)體進(jìn)行比較時(shí),認(rèn)為gbip越小距離的z*越近,個(gè)體越好。步驟5具體方法如下:步驟5-0:利用公式(3),計(jì)算當(dāng)前種群及新生個(gè)體的邊界交叉聚合的值,如果新生個(gè)體的較小則替換對應(yīng)種群中的個(gè)體;步驟5-1:根據(jù)步驟5-0,更新種群的目標(biāo)函數(shù)值;步驟5-2:根據(jù)步驟5-0,與pbest中的目標(biāo)函數(shù)值比較,如果新個(gè)體支配原有個(gè)體,則更新pbest里的個(gè)體。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:本發(fā)明基于spark分布式平臺實(shí)現(xiàn)來多目標(biāo)進(jìn)化算法,使多目標(biāo)進(jìn)化算法可以處理大規(guī)模復(fù)雜網(wǎng)絡(luò)的社區(qū)檢測問題;本發(fā)明中多目標(biāo)進(jìn)化算法的目標(biāo)函數(shù)的,考慮社交網(wǎng)絡(luò)中常見的社交關(guān)系:你好友的好友一般會和你是朋友;本發(fā)明中多目標(biāo)進(jìn)化算法的目標(biāo)函數(shù)復(fù)雜度低,不需要太多reduce操作,提高的算法運(yùn)行效率。本發(fā)明采用spark分布式平臺實(shí)現(xiàn)多目標(biāo)進(jìn)化算法,并基于分布式平臺的特性設(shè)計(jì)了合適的目標(biāo)函數(shù),從而使得算法可以解決大規(guī)模復(fù)雜網(wǎng)絡(luò)的社區(qū)檢測問題?!靖綀D說明】圖1為本發(fā)明的實(shí)現(xiàn)流程圖;圖2為本發(fā)明通過消息分發(fā)聚合來獲取節(jié)點(diǎn)三角結(jié)構(gòu)信息的示意圖;圖3為本發(fā)明在相應(yīng)數(shù)據(jù)集上的測試結(jié)果?!揪唧w實(shí)施方式】下面結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)描述:參見圖1-3,本發(fā)明基于spark平臺的多目標(biāo)進(jìn)化社區(qū)檢測方法,包括以下步驟:步驟1:讀入待社區(qū)劃分的網(wǎng)絡(luò)鄰接表,并初始化種群,利用節(jié)點(diǎn)數(shù)據(jù)集count函數(shù),求出網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù)記為|v|;網(wǎng)絡(luò)鄰接表是網(wǎng)絡(luò)數(shù)據(jù)的一種存儲方式,鄰接表中節(jié)點(diǎn)成對存在,表示這對節(jié)點(diǎn)有邊連接;步驟1具體如下:步驟1-0:利用hadoop分布式平臺的文件管理,將待檢測的網(wǎng)絡(luò)鄰接表保存到分布式文件存儲系統(tǒng);步驟1-1:利用spark平臺的圖模型庫graphx通過讀取網(wǎng)絡(luò)的鄰接表創(chuàng)建graph網(wǎng)絡(luò)對象;步驟1-2:利用標(biāo)簽傳播算法(labelpropagation),初始化網(wǎng)絡(luò)的節(jié)點(diǎn)屬性,并利用隨機(jī)函數(shù)生成種群,種群大小記為popsize;步驟1-3:利用節(jié)點(diǎn)數(shù)據(jù)集count函數(shù)求出網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù);需要說明的是:graph對象包含vertexrdd[vertexid,vd]節(jié)點(diǎn)數(shù)據(jù)集、edgerdd[ed]網(wǎng)絡(luò)邊數(shù)據(jù)集等;其中vertexid即節(jié)點(diǎn)的id,vd為節(jié)點(diǎn)的屬性,他們成對存在,ed是網(wǎng)絡(luò)邊的屬性;初始化后,節(jié)點(diǎn)的社區(qū)劃分存儲在節(jié)點(diǎn)屬性vd中;對于種群而言,節(jié)點(diǎn)屬性vd被擴(kuò)展為數(shù)組,數(shù)組長度為種群中個(gè)體的數(shù)量,該數(shù)組記為poparray;步驟2:每個(gè)節(jié)點(diǎn)收集由該節(jié)點(diǎn)參與構(gòu)成的三角結(jié)構(gòu)信息,以及該節(jié)點(diǎn)的度;構(gòu)成的三角結(jié)構(gòu)是指該節(jié)點(diǎn)與另外兩個(gè)節(jié)點(diǎn)兩兩相連的三角形連接;節(jié)點(diǎn)的度即與該節(jié)點(diǎn)相關(guān)聯(lián)的邊數(shù);步驟2具體如下:步驟2-0:利用圖模型graphx的消息分發(fā)聚合機(jī)制收集節(jié)點(diǎn)的相鄰節(jié)點(diǎn)id,組成相鄰節(jié)點(diǎn)id表,記為listids;步驟2-1:求步驟2-0中得到的listids長度,即可得到該節(jié)點(diǎn)的度d,并存入節(jié)點(diǎn)屬性vd中;步驟2-1:在利用消息分發(fā)聚合機(jī)制,檢查消息分發(fā)的源節(jié)點(diǎn)與目標(biāo)節(jié)的listids是否有相同的id,及是否有相同的鄰接點(diǎn),有則表示可以構(gòu)成三角結(jié)構(gòu),向目標(biāo)節(jié)點(diǎn)發(fā)送該相鄰節(jié)點(diǎn)的id,在目標(biāo)節(jié)點(diǎn)的節(jié)點(diǎn)屬性vd中存入該三角結(jié)構(gòu),節(jié)點(diǎn)可組成的三角結(jié)構(gòu)記為listtriangles;步驟2-2:經(jīng)以上步驟,節(jié)點(diǎn)屬性vd變?yōu)槿M:(poparray,d,listtriangles);poparray表示種群在該節(jié)點(diǎn)的社區(qū)劃分,d為節(jié)點(diǎn)的度,listtriangles為該節(jié)點(diǎn)可組成的三角結(jié)構(gòu);步驟3:計(jì)算種群每個(gè)個(gè)體的目標(biāo)函數(shù)值,復(fù)制初始種群中的個(gè)體到個(gè)體當(dāng)前個(gè)體的最好社區(qū)劃分記錄,記為pbest,并記迭代次數(shù)i=0;目標(biāo)函數(shù)公式如下:其中i是節(jié)點(diǎn)編號,v是網(wǎng)絡(luò)中所有節(jié)點(diǎn)的集合,sj是v的一個(gè)子集來代表一個(gè)社區(qū),t(i,s)表示節(jié)點(diǎn)i與社區(qū)s內(nèi)的點(diǎn)構(gòu)成的三角結(jié)構(gòu)數(shù)量,d表示節(jié)點(diǎn)i的度,|v|為集合v中節(jié)點(diǎn)的個(gè)數(shù);特別的,公式(1)中節(jié)點(diǎn)i是社區(qū)sj中與其他社區(qū)相連接的點(diǎn);公式(1)用來表示社區(qū)間的聯(lián)系緊密度,其值越大代表社區(qū)間的聯(lián)系越稀疏;公式(2)表示社區(qū)內(nèi)節(jié)點(diǎn)的聯(lián)系緊密度,其值越大代表社區(qū)內(nèi)節(jié)點(diǎn)聯(lián)系越緊密;步驟3具體如下:步驟3-0:利用圖模型graphx的消息分發(fā)聚合機(jī)制收集相鄰節(jié)點(diǎn)的poparray,按位找出該節(jié)點(diǎn)i在其所屬社區(qū)s中可構(gòu)成的三角數(shù)t(i,s);步驟3-1:判斷節(jié)點(diǎn)i是否與其他社區(qū)的節(jié)點(diǎn)相連,若果是則onbound=1,否則onbound=0;步驟3-2:在該節(jié)點(diǎn)為每一個(gè)個(gè)體,分別計(jì)算記為td,如果在步驟3-1被onbound=1,計(jì)算記為tv,否則tv=0;步驟3-3:利用reduce函數(shù)對節(jié)點(diǎn)數(shù)據(jù)集的td、tv以及onbound進(jìn)行求和,onbound的和記為m;步驟3-4:對于每個(gè)個(gè)體,步驟3-5:復(fù)制初始種群中的個(gè)體到個(gè)體當(dāng)前個(gè)體的最好社區(qū)劃分記錄,記為pbest,記迭代次數(shù)i=0;步驟4:通過交叉變異產(chǎn)生新個(gè)體,并計(jì)算新個(gè)體的目標(biāo)函數(shù)值;步驟4具體如下:通過交叉變異產(chǎn)生新個(gè)體,并計(jì)算新個(gè)體的目標(biāo)函數(shù)值步驟4-0:將步驟3中求出的目標(biāo)函數(shù)值,利用廣播的方式,廣播到每一個(gè)分布式集群的子機(jī)上;步驟4-1:在種群中正負(fù)5個(gè)范圍內(nèi),隨機(jī)選出每個(gè)個(gè)體的gbest;步驟4-2:對于每個(gè)節(jié)點(diǎn),取0到1內(nèi)的隨機(jī)值,與交叉概率比較,如果小于則執(zhí)行步驟4-3,如果大于則跳轉(zhuǎn)到步驟4-4;步驟4-3:根據(jù)公式(3),為每個(gè)個(gè)體計(jì)算pbest及gbest的邊界交叉聚合d的值gbip,分別記為pbestg,gbestg;步驟4-3-1:取0到1內(nèi)的隨機(jī)值,與pbestg/(pbestg+gbestg)比較,如果大于則將pbestg的社區(qū)id賦給該個(gè)體,否則將gbest的社區(qū)id賦給該個(gè)體;步驟4-4:取0到1內(nèi)的隨機(jī)值,與變異概率比較,如果小于則個(gè)體保持不變,否則該節(jié)點(diǎn)在poparray中選取一個(gè)需要變異的個(gè)體;步驟4-4-1:如果該節(jié)點(diǎn)有需要變異的個(gè)體,則利用消息分發(fā)聚合機(jī)制,收集相鄰節(jié)點(diǎn)的在該個(gè)體處的社區(qū)劃分;步驟4-4-2:從收集到的社區(qū)劃分中隨機(jī)選出一個(gè)賦給該節(jié)點(diǎn)的變異個(gè)體;步驟4-5:利用步驟3中求目標(biāo)函數(shù)值的方法,求出新生的個(gè)體函數(shù)值;步驟5:通過基于邊界交叉方式的分解策略來選擇新一代種群,更新當(dāng)前個(gè)體的最好社區(qū)劃分記錄;基于邊界交叉方式的分解策略如下:mingbip(i|λ,z*)=d1+θd2(3)d2=|f-(z*-d1λ)|(5)其中θ為預(yù)設(shè)參數(shù),f=(btc,inc)為目標(biāo)函數(shù)向量,λ=(λ1,λ2)為權(quán)重向量z*=(max(btc),max(inc))為目標(biāo)函數(shù)值當(dāng)前最好的期望;當(dāng)兩個(gè)個(gè)體進(jìn)行比較時(shí),認(rèn)為gbip越小距離的z*越近,個(gè)體越好;步驟5具體如下:步驟5-0:利用公式(3),計(jì)算當(dāng)前種群及新生個(gè)體的邊界交叉聚合的值,如果新生個(gè)體的較小則替換對應(yīng)種群中的個(gè)體;步驟5-1:根據(jù)步驟5-0,更新種群的目標(biāo)函數(shù)值;步驟5-2:根據(jù)步驟5-0,與pbest中的目標(biāo)函數(shù)值比較,如果新個(gè)體支配原有個(gè)體,則更新pbest里的個(gè)體;步驟6:如果迭代次數(shù)i<imax,則i=i+1,并跳轉(zhuǎn)到步驟4,否則跳轉(zhuǎn)到步驟7;步驟7:輸出多目標(biāo)進(jìn)化的社區(qū)發(fā)現(xiàn)結(jié)果;通過以下仿真對本發(fā)明的效果做進(jìn)一步說明:1.仿真條件本次實(shí)驗(yàn)是在由8臺微機(jī)組建的spark1.4.0分布式計(jì)算平臺中完成的。2.仿真實(shí)驗(yàn)的內(nèi)容本實(shí)驗(yàn)采用的社區(qū)檢測評價(jià)指為wcc(theweightedcommunityclustering),wcc函數(shù)的作者在論文里證明,wcc與標(biāo)準(zhǔn)化互信息nmi存在正相關(guān)性,而標(biāo)準(zhǔn)化互信息nmi被用來評價(jià)一個(gè)聚類結(jié)果與標(biāo)準(zhǔn)劃分之間差距的指標(biāo)。本實(shí)驗(yàn)采用的是斯坦福大學(xué)大規(guī)模網(wǎng)絡(luò)數(shù)據(jù)集里的網(wǎng)絡(luò)數(shù)據(jù),該數(shù)據(jù)集的數(shù)據(jù)都采集自現(xiàn)實(shí)社會中的不同領(lǐng)域。合作數(shù)據(jù)集是采集自不同期刊,把在期刊發(fā)表過論文的作者抽象為節(jié)點(diǎn),如果兩個(gè)學(xué)者一起發(fā)表過論文就會有一條邊把他們相連,從而構(gòu)成合作網(wǎng)絡(luò)。其中:ca-astroph是astrophysics期刊的合作網(wǎng)絡(luò),共18772個(gè)節(jié)點(diǎn)和198110條邊;ca-condmat是condensemater期刊的合作網(wǎng)絡(luò),共23133個(gè)節(jié)點(diǎn)和93497條邊;ca-grqc是generalrelativityandquantumcosmology期刊的合作網(wǎng)絡(luò),共5242個(gè)節(jié)點(diǎn)和14496條邊;ca-hepth是highenergyphysics-theory期刊的合作網(wǎng)絡(luò),共9877個(gè)節(jié)點(diǎn)和25998條邊;email-enron為電子郵件分發(fā)網(wǎng)絡(luò),共有36692個(gè)節(jié)點(diǎn)和183831條邊。實(shí)驗(yàn)結(jié)果如圖3和表1所示。表1netnamewccqtimeca-astroph0.0890.23212minca-condmat0.1450.42715minca-hepph0.1470.4108minemail-enron0.0920.27921min以上內(nèi)容僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明權(quán)利要求書的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12