一種圖結(jié)構(gòu)的劃分分區(qū)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及數(shù)據(jù)處理領(lǐng)域,尤其設(shè)及一種圖結(jié)構(gòu)的劃分分區(qū)方法及系統(tǒng)。
【背景技術(shù)】
[0002] 在一個(gè)復(fù)雜的網(wǎng)絡(luò)連接關(guān)系中,有大量的頂點(diǎn)和邊構(gòu)成圖的結(jié)構(gòu),常常希望把整 張圖切成多個(gè)子圖,或者是把連接的網(wǎng)絡(luò)切分成多個(gè)區(qū)域,就可W對(duì)每個(gè)區(qū)域分別處理,從 而達(dá)到分而治之地處理各種問題的目的。分區(qū)的功能廣泛應(yīng)用于電網(wǎng)數(shù)據(jù)處理、集成電路 布圖、社區(qū)結(jié)構(gòu)發(fā)現(xiàn)等諸多領(lǐng)域。分區(qū)的要求有多種,其中一種常見的要求是:連接緊密的 頂點(diǎn)被劃分到一起,連接松散的頂點(diǎn)可W被劃分到不同的區(qū)域。
[0003] 2008 年,VincentD.Blondel,Jean-Loup加illaume,RenaudLambiotte和 EtienneLefebvre幾位學(xué)者給出了一種至底向上逐個(gè)頂點(diǎn)聚合的方法。他們的論文 "Fastunfoldingofcommunitiesinlargenetworks"發(fā)表在JournalofStatistical Mechanics:化ecxryandExperiment雜志上。該方法的計(jì)算效率很高,其原本的目標(biāo)是得 到一種層次化的分區(qū)結(jié)果,可用于互聯(lián)網(wǎng)等領(lǐng)域,根據(jù)成員連接關(guān)系挖掘出社區(qū)結(jié)構(gòu)。若把 VincentD.Blondel等人的方法用于更多的場(chǎng)景時(shí),會(huì)遇到的一個(gè)問題是,該方法得到的分 區(qū)數(shù)量有時(shí)不滿足需求。比如把一個(gè)網(wǎng)絡(luò)用該方法劃分成7個(gè)子網(wǎng)絡(luò),但是需求認(rèn)為7個(gè) 子網(wǎng)絡(luò)太多了,希望只有3個(gè)子網(wǎng)絡(luò),運(yùn)使得原有方法不能適用。
[0004] 申請(qǐng)?zhí)枮?01410710163. 9的中國專利申請(qǐng)文件,名稱為基于節(jié)點(diǎn)聚合系數(shù)的電 力通信網(wǎng)絡(luò)構(gòu)建方法,該方法包括:獲取電力通信網(wǎng)的網(wǎng)絡(luò)模型;其中,所述網(wǎng)絡(luò)模型包括 節(jié)點(diǎn)和鏈路,所述節(jié)點(diǎn)為電力通信系統(tǒng)中的通信設(shè)備,所述鏈路為連接節(jié)點(diǎn)的各條光纜;計(jì) 算所述節(jié)點(diǎn)的聚合系數(shù);獲得每個(gè)節(jié)點(diǎn)上附加有對(duì)應(yīng)的聚合系數(shù)的網(wǎng)絡(luò)模型,對(duì)獲得的網(wǎng) 絡(luò)模型進(jìn)行網(wǎng)絡(luò)拓?fù)浞治黾半娏νㄐ畔到y(tǒng)的可靠性測(cè)定,能顯著提高電力通信系統(tǒng)的可靠 性測(cè)定的準(zhǔn)確性,但是對(duì)于圖結(jié)構(gòu)數(shù)據(jù)的合理分區(qū)而言,該方法是不適用的。
【發(fā)明內(nèi)容】
陽0化]本發(fā)明所要解決的技術(shù)問題是:提供一種節(jié)點(diǎn)聚合的方法,來完成目標(biāo)數(shù)量的圖 結(jié)構(gòu)分區(qū)。
[0006] 為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
[0007] 一種圖結(jié)構(gòu)的劃分分區(qū)方法,包括:
[0008] S1、對(duì)于給定節(jié)點(diǎn)間的連邊和目標(biāo)分區(qū)數(shù)量,預(yù)設(shè)臨界聚合系數(shù)的初值;
[0009] S2、每個(gè)節(jié)點(diǎn)劃分為一個(gè)獨(dú)立區(qū)域,節(jié)點(diǎn)分區(qū)變化標(biāo)志設(shè)置為0 ;
[0010] S3、對(duì)所有節(jié)點(diǎn)進(jìn)行聚合,調(diào)節(jié)分區(qū),具體包括步驟S31-S36 : W11] S31、在所有節(jié)點(diǎn)中選取一個(gè)節(jié)點(diǎn),將所述節(jié)點(diǎn)從所在分區(qū)中移出,分別計(jì)算所移 出的節(jié)點(diǎn)和與其相連節(jié)點(diǎn)的聚合系數(shù),得到多個(gè)聚合系數(shù);從多個(gè)聚合系數(shù)中選取出最大 值,作為所移出的節(jié)點(diǎn)的第一聚合系數(shù);
[0012] S32、判斷步驟S31的所述節(jié)點(diǎn)的第一聚合系數(shù)是否大于臨界聚合系數(shù),若是,貝U 將所述節(jié)點(diǎn)移入所述第一聚合系數(shù)設(shè)及的另一節(jié)點(diǎn)所在的區(qū)域;若否,則將所述節(jié)點(diǎn)移回 原來所在分區(qū);判斷所述節(jié)點(diǎn)所在的分區(qū)是否發(fā)生變化,若有變化,則將所述節(jié)點(diǎn)分區(qū)變化 標(biāo)志設(shè)置為1 ;
[0013]S33、重復(fù)步驟S31-S32直到選取完所有節(jié)點(diǎn)后進(jìn)入步驟S34;
[0014]S34、若節(jié)點(diǎn)分區(qū)變化標(biāo)志為1,則將節(jié)點(diǎn)分區(qū)變化標(biāo)志設(shè)置為0后返回步驟S3,若 節(jié)點(diǎn)分區(qū)變化標(biāo)志為0,則進(jìn)入步驟S4 ;
[0015]S4、舍棄所有不含節(jié)點(diǎn)的區(qū)域后,若每一個(gè)區(qū)域只含一個(gè)節(jié)點(diǎn),得到分區(qū)數(shù)量,貝U執(zhí)行步驟S5 ;否則對(duì)每一區(qū)域用一個(gè)新節(jié)點(diǎn)替代區(qū)域內(nèi)所有節(jié)點(diǎn),使得每一個(gè)區(qū)域只含一 個(gè)節(jié)點(diǎn),且用新節(jié)點(diǎn)的自環(huán)代替區(qū)域內(nèi)原節(jié)點(diǎn)之間的連邊,所述自環(huán)的權(quán)重等于區(qū)域內(nèi)原 節(jié)點(diǎn)之間的連邊的權(quán)重和,且用區(qū)域之間新節(jié)點(diǎn)的連邊代替區(qū)域之間的原節(jié)點(diǎn)的連邊,區(qū) 域之間新節(jié)點(diǎn)之間連邊的權(quán)重等于被替代的原節(jié)點(diǎn)連邊的權(quán)重和,采用新節(jié)點(diǎn)重復(fù)步驟 S3-S4 ;
[0016]S5、將所得分區(qū)數(shù)量與目標(biāo)分區(qū)數(shù)量相比,若所得分區(qū)數(shù)量等于目標(biāo)分區(qū)數(shù)量,貝U已完成分區(qū)過程;若所得分區(qū)數(shù)量大于目標(biāo)分區(qū)數(shù)量,則減少臨界聚合系數(shù),保留已獲得的 分區(qū),返回步驟S3繼續(xù)執(zhí)行;若所得分區(qū)數(shù)量小于目標(biāo)分區(qū)數(shù)量,則增大臨界聚合系數(shù),放 棄已獲得的分區(qū)且還原最初的節(jié)點(diǎn),返回步驟S2開始執(zhí)行。
[0017]本發(fā)明提供的另一技術(shù)方案為:
[001引一種圖結(jié)構(gòu)的劃分分區(qū)系統(tǒng),包括:預(yù)設(shè)模塊、劃分模塊、調(diào)節(jié)模塊、分區(qū)模塊和對(duì) 比模塊;
[0019] 所述預(yù)設(shè)模塊,用于對(duì)于給定節(jié)點(diǎn)間的連邊和目標(biāo)分區(qū)數(shù)量,預(yù)設(shè)臨界聚合系數(shù) 的初值;
[0020] 所述劃分模塊,用于每個(gè)節(jié)點(diǎn)劃分為一個(gè)獨(dú)立區(qū)域,節(jié)點(diǎn)分區(qū)變化標(biāo)志設(shè)置為0 ;
[0021] 所述調(diào)節(jié)模塊包括計(jì)算單元、第一判斷單元、重復(fù)單元和第二判斷單元;
[0022] 所述計(jì)算單元,用于在所有節(jié)點(diǎn)中選取一個(gè)節(jié)點(diǎn),將所述節(jié)點(diǎn)從所在分區(qū)中移出, 分別計(jì)算所移出的節(jié)點(diǎn)和與其相連節(jié)點(diǎn)的聚合系數(shù),得到多個(gè)聚合系數(shù);從多個(gè)聚合系數(shù) 中選取出最大值,作為所移出的節(jié)點(diǎn)的第一聚合系數(shù);
[0023]所述第一判斷單元,用于判斷所述節(jié)點(diǎn)的第一聚合系數(shù)是否大于臨界聚合系數(shù), 若是,則將所述節(jié)點(diǎn)移入所述第一聚合系數(shù)設(shè)及的另一節(jié)點(diǎn)所在的區(qū)域;若否,則將所述節(jié) 點(diǎn)移回原來所在分區(qū);判斷所述節(jié)點(diǎn)所在的分區(qū)是否發(fā)生變化,若有變化,則將所述節(jié)點(diǎn)分 區(qū)變化標(biāo)志設(shè)置為1 ;
[0024] 所述重復(fù)單元,用于重復(fù)計(jì)算單元和第一判斷單元直到選取完所有節(jié)點(diǎn)后執(zhí)行第 二判斷單元;
[0025] 所述第二判斷單元,用于若節(jié)點(diǎn)分區(qū)變化標(biāo)志為1,則將節(jié)點(diǎn)分區(qū)變化標(biāo)志設(shè)置為 0后返回調(diào)節(jié)模塊,若節(jié)點(diǎn)分區(qū)變化標(biāo)志為0,則進(jìn)入分區(qū)模塊;
[0026] 所述分區(qū)模塊,用于舍棄所有不含節(jié)點(diǎn)的區(qū)域后,若每一個(gè)區(qū)域只含一個(gè)節(jié)點(diǎn),得 到分區(qū)數(shù)量,則執(zhí)行對(duì)比模塊;否則對(duì)每一區(qū)域用一個(gè)新節(jié)點(diǎn)替代區(qū)域內(nèi)所有節(jié)點(diǎn),使得每 一個(gè)區(qū)域只含一個(gè)節(jié)點(diǎn),且用新節(jié)點(diǎn)的自環(huán)代替區(qū)域內(nèi)原節(jié)點(diǎn)之間的連邊,所述自環(huán)的權(quán) 重等于區(qū)域內(nèi)原節(jié)點(diǎn)之間的連邊的權(quán)重和,且用區(qū)域之間新節(jié)點(diǎn)的連邊代替區(qū)域之間的原 節(jié)點(diǎn)的連邊,區(qū)域之間新節(jié)點(diǎn)之間連邊的權(quán)重等于被替代的原節(jié)點(diǎn)連邊的權(quán)重和,采用新 節(jié)點(diǎn)重復(fù)調(diào)節(jié)模塊和分區(qū)模塊;
[0027] 所述對(duì)比模塊,用于將所得分區(qū)數(shù)量與目標(biāo)分區(qū)數(shù)量相比,若所得分區(qū)數(shù)量等于 目標(biāo)分區(qū)數(shù)量,則已完成分區(qū)過程;若所得分區(qū)數(shù)量大于目標(biāo)分區(qū)數(shù)量,則減少臨界聚合系 數(shù),保留已獲得的分區(qū),返回調(diào)節(jié)模塊繼續(xù)執(zhí)行;若所得分區(qū)數(shù)量小于目標(biāo)分區(qū)數(shù)量,則增 大臨界聚合系數(shù),放棄已獲得的分區(qū)且還原最初的節(jié)點(diǎn),返回劃分模塊開始執(zhí)行。
[0028] 本發(fā)明的有益效果在于:與傳統(tǒng)分區(qū)方法相比,本發(fā)明提供的一種圖結(jié)構(gòu)的劃分 分區(qū)方法,通過比較各節(jié)點(diǎn)的聚合系數(shù)與臨界聚合系數(shù)的大小來進(jìn)行分區(qū)的劃分;再通過 調(diào)節(jié)臨界聚合系數(shù)的值,可W調(diào)節(jié)分區(qū)數(shù)量的增加或減少。
【附圖說明】
[0029] 圖1為本發(fā)明的一種圖結(jié)構(gòu)的劃分分區(qū)方法的步驟流程圖;
[0030] 圖2為本發(fā)明的一種圖結(jié)構(gòu)的劃分分區(qū)系統(tǒng)的結(jié)構(gòu)示意圖;
[0031] 圖3為本發(fā)明的實(shí)施例中圖結(jié)構(gòu)的初始節(jié)點(diǎn)間的連接關(guān)系示意圖;
[0032] 圖4為本發(fā)明的實(shí)施例中第一次遍歷后所有節(jié)點(diǎn)的分區(qū)示意圖;
[0033] 圖5為本發(fā)明的實(shí)施例中第二次遍歷后所有節(jié)點(diǎn)的分區(qū)示意圖;
[0034]圖6為本發(fā)明的實(shí)施例中最終所有節(jié)點(diǎn)的分區(qū)示意圖;
[00對(duì)標(biāo)號(hào)說明:
[0036] 10、預(yù)設(shè)模塊;20、劃分模塊;30、調(diào)節(jié)模塊;301、計(jì)算單元;302、第一判斷單元; 303、重復(fù)單元;304、第二判斷單元;40、分區(qū)模塊;50、對(duì)比模塊。
【具體實(shí)施方式】
[0037] 為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,W下結(jié)合實(shí)施方式并配合附 圖予W說明。
[0038] 本發(fā)明最關(guān)鍵的構(gòu)思在于:通過比較各節(jié)點(diǎn)的聚合系數(shù)與預(yù)設(shè)的臨界聚合系數(shù)的 大小來進(jìn)行分區(qū)的