一種應(yīng)用于具有社區(qū)結(jié)構(gòu)網(wǎng)絡(luò)的邊排序方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)科學(xué)技術(shù)領(lǐng)域,具體涉及一種應(yīng)用于具有社區(qū)結(jié)構(gòu)網(wǎng)絡(luò)的邊排序 方法。
【背景技術(shù)】
[0002] 真實世界中的許多復(fù)雜系統(tǒng)可以表示成圖或網(wǎng)絡(luò),包括社會網(wǎng)絡(luò)、信息網(wǎng)絡(luò)、生 物網(wǎng)絡(luò)和技術(shù)網(wǎng)絡(luò)等。經(jīng)驗分析表明,上述復(fù)雜網(wǎng)絡(luò)可以自然地分成一些節(jié)點組,使同一 個節(jié)點組內(nèi)的兩個節(jié)點之間比不同節(jié)點組的兩個節(jié)點之間更傾向于有邊相連,網(wǎng)絡(luò)的這種 拓?fù)涮匦员环Q為社區(qū)結(jié)構(gòu),相應(yīng)地,每個節(jié)點組被稱為一個社區(qū)結(jié)構(gòu)單元。
[0003] 社區(qū)結(jié)構(gòu)刻畫了網(wǎng)絡(luò)中邊連接關(guān)系的局部聚集特性,也體現(xiàn)了網(wǎng)絡(luò)中邊連接的分 布不均勻性。進一步,由于網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu)單元通常由功能相近或性質(zhì)相似的網(wǎng)絡(luò)節(jié) 點組成,因此,社區(qū)被認(rèn)為有助于揭示網(wǎng)絡(luò)結(jié)構(gòu)和功能之間的關(guān)系。以萬維網(wǎng)(WorldWide Web)為例,通過超鏈接緊密關(guān)聯(lián)的網(wǎng)頁形成一個個的社區(qū)結(jié)構(gòu)單元,同一個社區(qū)結(jié)構(gòu)單元 的網(wǎng)頁具有相近的話題。再例如,如圖1所示,為一個網(wǎng)絡(luò)拓?fù)鋱D;對圖1所示的網(wǎng)絡(luò)拓?fù)鋱D 進行分析,可將圖1示出的網(wǎng)絡(luò)基于社區(qū)關(guān)系劃分形成圖2所示的網(wǎng)絡(luò)拓?fù)鋱D,在圖2中, 共有三個社區(qū)結(jié)構(gòu)單元,分別為El、E2和E3。
[0004] 另外,在實際網(wǎng)絡(luò)可靠性分析中,計算節(jié)點s和節(jié)點t的連通路徑是一個重要問 題。采用決策圖對連通路徑進行表示是一種廣為采用的方法。決策圖中的每個節(jié)點i代表 一條邊i,每個節(jié)點i有兩個分支:1分支代表路徑經(jīng)過邊i,而0分支代表路徑不經(jīng)過邊i。 決策圖中從頂節(jié)點到葉子節(jié)點的1分支序列構(gòu)成了一條從s到t的路徑。例如,對于圖3 中的一個3節(jié)點網(wǎng)絡(luò),可得到圖4所示的決策圖,在圖4中,給出了節(jié)點s和節(jié)點t的所有 連通路徑,共有兩條:邊2,邊1-邊3。
[0005] 在對網(wǎng)絡(luò)可靠性進行分析時,所生成的決策圖越小,越能夠加快網(wǎng)絡(luò)可靠性的分 析速度,減化網(wǎng)絡(luò)可靠性分析的算法復(fù)雜度。經(jīng)研究發(fā)現(xiàn),決策圖大小和邊的排序有密切關(guān) 系,傳統(tǒng)技術(shù)中,網(wǎng)絡(luò)分析普遍采用廣度優(yōu)先遍歷方法獲得邊排序。廣度優(yōu)先遍歷方法的思 想是從網(wǎng)絡(luò)的頂點s開始,并訪問此頂點;然后從s出發(fā),訪問s的各個未曾訪問的鄰接點 sl,s2,…,sk;然后,依次從si,s2,…,sk出發(fā)訪問各自未被訪問的鄰接點;直到全部頂 點都被訪問為止。
[0006] 然而,發(fā)明人發(fā)現(xiàn),在對具有社區(qū)結(jié)構(gòu)的網(wǎng)絡(luò)進行可靠性分析的過程中,當(dāng)采用傳 統(tǒng)的廣度優(yōu)先遍歷方法進行邊排序后,所生成的決策圖非常龐大,從而降低了網(wǎng)絡(luò)可靠性 的分析效率。
【發(fā)明內(nèi)容】
[0007] 針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種應(yīng)用于具有社區(qū)結(jié)構(gòu)網(wǎng)絡(luò)的邊排序方 法,可有效解決上述問題。
[0008] 本發(fā)明采用的技術(shù)方案如下:
[0009] 本發(fā)明提供一種應(yīng)用于具有社區(qū)結(jié)構(gòu)網(wǎng)絡(luò)的邊排序方法,包括以下步驟:
[0010] 步驟1,對由多個網(wǎng)絡(luò)節(jié)點組成的初始網(wǎng)絡(luò)進行社區(qū)關(guān)系分析,同時,保持初始網(wǎng) 絡(luò)中各個節(jié)點的拓?fù)潢P(guān)系不變,生成網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)圖;其中,所述網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)圖包括η個 社區(qū)結(jié)構(gòu)單元,η為自然數(shù);將η個社區(qū)結(jié)構(gòu)單元依次記為社區(qū)結(jié)構(gòu)單元Q、社區(qū)結(jié)構(gòu)單元 (V··社區(qū)結(jié)構(gòu)單元Cn;
[0011] 并且,將連接同一個社區(qū)結(jié)構(gòu)單元內(nèi)部的兩個網(wǎng)絡(luò)節(jié)點之間的邊稱為社區(qū)內(nèi)部 邊,將連接兩個社區(qū)結(jié)構(gòu)單元之間的邊稱為跨社區(qū)邊;
[0012] 步驟2,對于每個社區(qū)結(jié)構(gòu)單元,均采用以下邊排序方法:
[0013] 對屬于該社區(qū)結(jié)構(gòu)單元的所有社區(qū)內(nèi)部邊,采用廣度優(yōu)先遍歷方法,以序號1為 排序起點,對社區(qū)內(nèi)部邊進行邊排序,得到屬于每個社區(qū)結(jié)構(gòu)單元的社區(qū)內(nèi)部邊的原始邊 排序序號;
[0014] S卩:設(shè)社區(qū)結(jié)構(gòu)單元Ci、社區(qū)結(jié)構(gòu)單元(V··社區(qū)結(jié)構(gòu)單元cn所包含的邊數(shù)量分別 為H-Nn;
[0015] 貝lj:
[0016] 對屬于社區(qū)結(jié)構(gòu)單元Q的社區(qū)內(nèi)部邊的原始邊排序序號分別為1、2…N1;
[0017] 對屬于社區(qū)結(jié)構(gòu)單元C2的社區(qū)內(nèi)部邊的原始邊排序序號分別為1、2…N2;
[0018] ____
[0019] 對屬于社區(qū)結(jié)構(gòu)單元Cn的社區(qū)內(nèi)部邊的原始邊排序序號分別為1、2…Nn;
[0020] 步驟3,將步驟1生成的網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)圖中的每個社區(qū)結(jié)構(gòu)單元映射為對應(yīng)的虛 擬網(wǎng)絡(luò)節(jié)點;將步驟1生成的網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)圖中的每條跨社區(qū)邊映射為虛擬跨社區(qū)邊,虛 擬網(wǎng)絡(luò)節(jié)點以及虛擬跨社區(qū)邊即形成虛擬網(wǎng)絡(luò);
[0021] 步驟4,采用廣度優(yōu)先遍歷方法對所述虛擬網(wǎng)絡(luò)進行節(jié)點-邊排序,得到虛擬網(wǎng)絡(luò) 節(jié)點和虛擬跨社區(qū)邊的排序序號;
[0022] 步驟5,根據(jù)虛擬網(wǎng)絡(luò)節(jié)點的序號和虛擬跨社區(qū)邊的序號,對步驟2得到的網(wǎng)絡(luò)社 區(qū)結(jié)構(gòu)圖重新進行邊排序,得到最終的邊排序結(jié)果;
[0023] 邊排序方法包括:
[0024] 步驟5. 1,將虛擬網(wǎng)絡(luò)節(jié)點和虛擬跨社區(qū)邊統(tǒng)稱為虛擬元素,將虛擬元素按步驟4 排序得到的排序序號由小向大的順序依次記為虛擬元素Q1、虛擬元素Q2…虛擬元素Qr;其 中,r為虛擬元素的總數(shù)量;
[0025] 將步驟2得到的網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)圖中的社區(qū)結(jié)構(gòu)單元以及跨社區(qū)邊統(tǒng)稱為實體元 素,將分別與虛擬元素Q1、虛擬元素Q2…虛擬元素Qr對應(yīng)的實體元素記為實體元素P1、實 體元素P2…實體元素Pr;可見,實體元素區(qū)分為兩類,一類是社區(qū)結(jié)構(gòu)單元,屬于該社區(qū)結(jié) 構(gòu)單元的社區(qū)內(nèi)部邊已按傳統(tǒng)廣度優(yōu)先策略完成邊排序,即:已存在原始排序序號;另一 類是跨社區(qū)邊,還未存在排序序號;
[0026] 步驟5. 2,依次訪問實體元素P1、實體元素P2…實體元素Pr,BP:
[0027] 步驟5.2. 1,首先訪問實體元素P1,并判斷實體元素P1是否為社區(qū)結(jié)構(gòu)單元,此 處,由于實體元素P1為第1個被訪問對象,因此,必然為社區(qū)結(jié)構(gòu)單元,表明實體元素P1的 社區(qū)內(nèi)部邊已存在原始排序序號,維持實體元素P1的社區(qū)內(nèi)部邊的原始排序序號不變;并 將實體元素P1的最大排序序號的值賦給變量W;
[0028] 步驟5. 2. 2,然后,繼續(xù)訪問實體元素P2,并判斷實體元素P2是否為社區(qū)結(jié)構(gòu)單 元,如果是,則執(zhí)行步驟5. 2. 3 ;如果否,則執(zhí)行步驟5. 2. 4 ;
[0029] 步驟5. 2. 3,此時,表明實體元素P2的社區(qū)內(nèi)部邊已存在原始排序序號,同時,對 實體元素P2的各個原始排序序號進行更新操作,更新方法為:令每個原始排序序號加上變 量W當(dāng)前值,得到更新后的排序序號;
[0030] 同時,對變量W的值進行更新操作,將實體元素P2更新后的最大排序序號的值賦 給變量W;
[0031] 轉(zhuǎn)到步驟5. 2. 5;
[0032] 步驟5. 2. 4,此時,表明實體元素P2為跨社區(qū)邊,實體元素P2排序的序號為變量W 當(dāng)前值加1后的值;
[0033] 同時,對變量W的值進行更新操作,將實體元素P2的排序序號賦給變量W ;
[0034] 轉(zhuǎn)到步驟5. 2. 5 ;
[0035] 步驟5. 2. 5,按步驟5. 2. 3-步驟5. 2. 4的排序方法,對后續(xù)的實體元素P3…實體 元素Pr依次進行訪問并排序,得到最終的邊排序結(jié)果。
[0036] 優(yōu)選的,步驟4具體為:
[0037] 任意選取一個虛擬網(wǎng)絡(luò)節(jié)點Fi作為排序起點,其排序序號即為1;然后,從2開 始,對所有關(guān)聯(lián)于虛擬網(wǎng)絡(luò)節(jié)點Fi且尚未排序的虛擬跨社區(qū)邊進彳丁排序,設(shè)此處,共有xl 條虛擬跨社區(qū)邊直接與虛擬網(wǎng)絡(luò)節(jié)點Fi相連接,則xl條虛擬跨社區(qū)邊的排序序號分別為: 2、3…xl+1 ;然后,對于序號為2的虛擬跨社區(qū)邊,將與其另一端連接的虛擬網(wǎng)絡(luò)節(jié)點排序 為xl+2;對于序號為3的虛擬跨社區(qū)邊,如果與其另一端連接的虛擬網(wǎng)絡(luò)節(jié)點尚未排序,則 將其排序為xl+3 ;依此類推,直到將與xl條虛擬跨社區(qū)邊的另一端連接的虛擬網(wǎng)絡(luò)節(jié)點均 排序結(jié)束后,再對下一層虛擬網(wǎng)絡(luò)節(jié)點進行排序,如此反復(fù),直到將虛擬網(wǎng)絡(luò)中的各個虛擬 網(wǎng)絡(luò)節(jié)點和虛擬跨社區(qū)邊均排序后,結(jié)束。
[0038] 本發(fā)明提供的應(yīng)用于具有社區(qū)結(jié)構(gòu)網(wǎng)絡(luò)的邊排序方法具有以下優(yōu)點:
[0039] 采用本發(fā)明提供的邊排序方法進行邊排序后,能夠顯著減小所生成的決策圖的大 小,從而提高網(wǎng)絡(luò)可靠性的分析效率。
【附圖說明】
[0040] 圖1為一個網(wǎng)絡(luò)拓?fù)鋱D的示例圖;
[0041] 圖2為對圖1進行社區(qū)關(guān)系劃分得到的網(wǎng)絡(luò)拓?fù)鋱D;
[0042] 圖3為一個3節(jié)點網(wǎng)絡(luò)的網(wǎng)絡(luò)