專利名稱:一種基于隨機擴散的復雜網絡生成模型的建立方法
技術領域:
本發明提出一種基于隨機擴散的復雜網絡生成模型,屬于社會網絡分析和數據挖掘領域。
背景技術:
社會網絡分析以復雜網絡為背景,融合了計算機科學、物理學、社會學等多門學科,近十年來受到了學術界的廣泛關注。20世紀90年代以來,隨著Internet的發展,網絡結構已經滲透到諸多方面,如全球交通網絡、電力網絡、生物代謝網絡、社會關系網絡、科研合作網絡等。人們生活在一個充滿著各種各樣的復雜網絡的世界中。另一方面,Web2. O的 普及和各種網絡應用的誕生產生了大量的數據,掀起了大規模網絡分析與研究的熱潮。相比于早期的社會網絡研究,大量的數據能反映出更明顯的統計特征。基于網絡拓撲結構,充分利用其他信息進行數據挖掘,成為網絡服務提供商制定經營決策、推廣新服務的重要途徑。隨著對各種類型網絡特征和屬性的深入研究,人們開始考慮設計網絡生成模型來對網絡的性質進行抽象和模擬。研究者基于對網絡性質的觀察和分析,利用數學方法將實際的網絡性質抽象成為一系列的規則,包括結點的加入、邊的建立等等。網絡生成模型通常略去了針對某個具體網絡的特征,僅僅保留在各種網絡中普遍存在的性質,因此可作為對某一類網絡的抽象和概括。網絡生成模型有助于對網絡性質的推導和預測,也可以用于對不符合規律的異常情況的檢測。此外,網絡生成模型也可用于數據生成,解決在某些場合下數據不易獲取的問題。由于網絡生成模型具有重要的意義,目前已有不少學者在研究工作中提出了不同類型的生成模型,作為對網絡性質的描述。早期的模型包括經典的ErdBs-RcnyiCER)模型、Watts-Strogatz (WS)模型、Barabas1-Albert(BA)模型等,見參考文獻[I] :P. Erdos, A. Renyi (1960). ^The Evolution ofRandom Graphs". Magyar Tud. Akad. Mat. Kutatolnt. Kozl.;參考文獻[2]D. J. Watts, S.H. Strogatzj (1998). "Collective dynamics of’ small-world’ networks. 〃· Nature393(6684) :409-10 ;參考文獻[3]R. Albert and A. L. Barabasij Statistical mechanicsof complex networks. Reviews of Modern Physics,74(I) :47-97,2002。其中 1960 年由P. EixJijs和A. Renyi提出的ER I旲型是最簡單的隨機網絡生成I旲型。該I旲型中有兩種形式,即G(n,M)模型和G(n,p)模型。其中G(n,M)模型在所有含有η個結點和M條邊的網絡中等概率隨機選擇一個作為生成的結果;G(n,p)模型生成具有η個結點的網絡,其中任意兩個結點之間建立邊的概率均為P。ER模型生成的網絡的度分布為二項分布,在η趨于無窮大時度分布將趨于泊松分布。1998年由D. Watts和S. Strogatz提出的WS模型將結點排列成規則網格,即網格的每個交點對應一個網絡結點,交點之間的連線對應網絡中的邊,并使得每個結點有一定概率隨機和網絡中任意一個其他結點相連。WS模型主要用于構造小世界(small-world)網絡,其產生的網絡往往具有較短的平均路徑長度。1999 年由 A. Barabasi 和 R. Albert 提出的 BA模型米用了偏好連接(preferentialattachment)規則,即每個新加入網絡的結點按照正比于網絡中現有結點的度大小的概率,選擇一定數量的結點建立邊。每個新結點連接的已有結點數目為模型的參數。BA模型能夠生成度分布服從冪率(power law)的網絡。2003 年,F. Chung 等人提出了 Duplication 模型,見參考文獻[4] J. Leskovec, J.Kleinberg, and C.Faloutsos, “Graphs Over Time:Densification Laws,ShrinkingDiameters and Possible Explanations, ^Proc.1lth Int>I Conf.Knowledge Discovery and Data Mining (SIGKDD 08), ACM, 2005, pp. 177 - 187。該模型以一個預定的網絡為基礎,每個新加入的結點隨機選擇網絡中一個已有的目標結點,并復制該結點的所有連接,即新結點連接到目標結點連接的所有結點。2005 年,J. Leskovec 等人(見參考文獻[5] F. Chung, L. Lu, T. Dewey, andD. Galas, “Duplication models for biological networks,’’Journal of ComputationalBiology, vol. 10, no. 5, pp. 677 - 687, 2003)在研究中發現,稠化幕律(densificationpower law)和遞減直徑(shrinking diameter)這兩種性質普遍存在于各種類型的網絡中,并提出了 Community Guided Attachment (CGA)模型和ForestFire模型來生成滿足這兩條性質的網絡。CGA模型考慮了結點在網絡中自發形成的社區結構,使屬于同一社區中的結點之間有更大概率建立邊。CGA模型能夠生成具有稠化冪律特性的網絡。Forest Fire模型模擬了火災的蔓延,每個新加入的結點隨機選擇一個現有的起始結點,并按照兩個模型參數從該結點開始隨機選擇鄰接結點建立正向或反向的邊。這一遞歸過程結束后,所得網絡能夠滿足稠化冪律和遞減直徑兩個性質。2006 年,R. Kumar 等人(參見參考文獻[6] R. Kumar, J. Novak, A.Tomkins, Structure and Evolution of Online Social Networks, ACM SIGKDD 2006)針對Flickr和Yahoo360兩個網站上的用戶關系網絡進行了分析,并提出了相應的生成模型。在這一模型中,網絡中的結點被分為passive、inviter和linker三種類型。這三種結點參與網絡中邊的建立的活躍度按passive、inviter、linker的順序逐漸增加。當一個新結點加入網絡后,會被隨機指定為三種結點之一。每一新結點加入后會建立一定數量的邊,這些邊的起點按照偏好連接的規則從現有的inviter和linker結點中隨機選擇。如果起點是inviter結點,則它將導致另一個新結點加入網絡,并將其作為邊的終點;如果起點是linker結點,則邊的終點將按偏好連接的規則從現有的所有inviter和linker結點中選擇。實驗發現,這一模型生成的網絡中存在巨分量,且其他連通分量呈現星形結構,符合R. Kumar等人對實際網絡的觀察結果。2008 年,M. McGlohon 等人(見參考文獻[7] M. McGlohon, L. Akoglu, andC. Faloutsos, “Weighted Graphs and Disconnected Components:Patterns and aGenerator, ^Proc. 14th IntJ I Conf. Knowledge Discovery and Data Mining (SIGKDD08), ACM, 2008, pp. 524 - 532)在研究網絡中的連通分量時發現,網絡中普遍存在“凝聚點”(gelling point),即巨分量(giant connected component)形成的時刻。從凝聚點開始,巨分量不斷增大,網絡開始表現出直徑遞減等性質,并且網絡中第二大和第三大連通分量的大小變化呈現振蕩的趨勢。M. McGlohon等人提出基于隨機游走的Butterfly模型來描述這一觀察。在Butterfly模型中,每個新結點加入網絡后,會得到一個隨機值,表示其在隨機游走過程中繼續走下一步的概率。新結點首先隨機選擇一個已有結點,從該結點開始隨機游走過程,并與游走過程中遇到的結點建立邊。當一輪游走停止時,該新結點會根據模型參數決定是否進行下一輪的隨機游走,即是否重新選擇一個已有結點再進行隨機游走。Butterfly模型生成的網絡中能夠明顯觀察到凝聚點,以及第二、第三大連通分量的大小振蕩變化。然而,以上模型極少反應出連通分量的演化性質。除巨分量之外,網絡中的其它連通分量隨時間常表現出一些特有的性質。首先,這些連通分量的壽命分布曲線呈現遞減趨勢,且曲線尾部有振蕩現象。這一性質表明,大量的連通分量在網絡中只能存在較短時間,即這些連通分量會很快與其他分量或巨分量合并。其次,除巨分量以外,網絡中其它連通分量在合并前的最終大小分布服從冪律。若令S。表示某個連通分量的最終大小,令η。表示大小為S。的連通分量的數量,則η。和S。的關系呈現冪律η。- Sc-e。最后,網絡中的連通分量之間的合并規模通常較小,即一次合并所涉及到的連通分量個數很少。絕大多數合并只發生在兩個分量之間。基于這三條連通分量的演化性質,如何設計一個網絡生成模型,使得生成的網絡能符合這些性質并盡量保持其他性質成為了一個待研究的問題。
發明內容
本發明方法針對背景技術部分介紹的連通分量的三個演化性質,基于對實際用戶訪問在線社會網絡站點的行為規律的抽象和模擬,提出了一種基于隨機擴散的復雜網絡生成模型,模型生成的網絡除符合常見的網絡結構特征外,還滿足連通分量的三個主要的演化性質,尤其適用于對網絡現象的分析、預測和數據生成。本發明提出的一種基于隨機擴散的復雜網絡生成模型,具體包括如下步驟步驟1:創建一個新網絡G,其結點集合V僅包含一個結點V1,邊集合E為空集;步驟2 :設變量i = 2,準備向網絡G中加入結點Vi ;步驟3 :取得當前網絡G中的結點集合V ;步驟4 :將結點Vi加入網絡G的結點集合V ;步驟5 :按區間
上的均勻分布生成一個隨機數num ;步驟6 num ^ ph()St,等概率隨機從結點集合V中選取一個結點begin,并從結點begin開始執行結點Vi的隨機擴散過程,擴散結束后轉步驟5執行。若num > Phost,設置變量i = i+Ι,若i > n,轉步驟7執行,否則若i ( n,轉步驟3執行;其中ph()St為一個新加入網絡的結點執行步驟6所述的隨機擴散過程的概率;n為模型輸入的參數,表示模型輸出的網絡中的結點數。步驟7 :輸出生成的網絡G。本發明方法的優點和積極效果在于采用本發明方法生成的網絡中,除巨分量之外的其它連通分量的壽命分布曲線呈現遞減趨勢,且曲線尾部存在振蕩現象。生成的網絡中連通分量的壽命分布服從冪律,且分量的合并規模都較小,絕大多數的合并都只涉及兩個連通分量。除此之外,本發明方法所生成的網絡也滿足其他的基本結構性質,如稠化冪律。總之,采用本發明方法進行網絡生成,既能保持常見網絡性質,也能滿足上述的三個連通分量的演化性質。
圖1為本發明基于隨機擴散的復雜網絡生成模型的方法的執行效果示意圖;圖2為本發明基于隨機擴散的復雜網絡生成模型的整體流程圖;圖3為本發明方法生成的網絡的連通分量的壽命分布曲線圖;圖4為本發明方法生成的網絡的連通分量最終大小分布曲線圖;圖5為本發明方法生成的網絡的出度分布曲線圖;圖6為本發明方法生成的網絡的密度演化曲線圖。
具體實施例方式下面將詳細說明本發明的技術方案,并結合附圖及實施例闡述本發明的有益效
果O本發明所采用的基本思想是將每個新加入網絡的結點看作是新注冊某個在線社會網絡的用戶,并通過模擬用戶訪問在線社會網絡站點的行為規律,建立新結點與網絡中現有結點之間的邊,從而達到網絡生成的目的。每個新結點加入網絡后,會進行若干輪的隨機擴散,每一輪隨機擴散即相當于用戶在網站上的一輪訪問。在每一輪隨機擴散中,新結點隨機選擇當前訪問結點的一部分鄰接結點,與它們建立邊,并遞歸地從這些鄰接結點開始擴散。隨機擴散和鄰接結點的選擇都受到模型的控制參數的控制。(I)模型控制參數本發明方法所使用的模型控制參數及其含義如表一所示。表一基于隨機擴散的復雜網絡生成模型的控制參數(2)結點的隨機擴散過程如圖1所示,每個新結點加入網絡后,會進行若干輪的隨機擴散過程。圖中標注為“new comer”的結點即為新結點。實線邊表示網絡中已有的邊,虛線邊表示新結點加入后創建的新邊。加粗的邊表示新結點隨機擴散過程中所選擇的擴散邊,即指向被選擇的鄰接結點的邊。圖1顯示了新結點的隨機擴散過程。首先,新結點按照參數Ptost決定是否要進行新一輪的隨機擴散。擴散開始時,新結點等概率隨機選擇一個網絡中現有的結點作為擴散的起始結點,即圖中標注為“host”的結點。新結點首先建立到該起始結點的邊,并開始選擇其鄰接結點準備進行擴散。圖1所示的隨機擴散中,新結點選擇了三個鄰接結點,即加粗的三條邊所指向的結點“V1”、“V2”、“V4”。新結點建立三條邊指向所述的三個鄰接結點,并
垃生||矣衡含義Phosi新結點完/ —輪_機擴敝后,繼續進行下一驗隨機擴率;Pfillli新結點的隨機擴散過程屮, I問到菜個結點,確定需選櫛的鄰接結點總數時,需多選櫛-.個結點 (_ 選抒的鄰接結點總數Λ—) tt槪率;從所述的三個鄰接結點開始遞歸進行后續的隨機擴散過程。(3)鄰接結點的選擇 新結點在隨機擴散過程中當前訪問的結點的鄰接結點中,選擇一定數量的結點進行遞歸擴散。下面以圖1中的隨機擴散為例加以說明。如圖1所示,新結點建立到結點“host”的邊之后,當前訪問的結點即結點“host”。新結點從結點“host”的6個鄰接結點中選擇一定數量的結點。選擇的結點總數count受模型控制參數pfmd的控制。控制參數Pfmd即新結點多選擇一個鄰接結點的概率,服從幾何分布。當確定需選擇的結點總數count后,新結點隨機從當前訪問結點的所有鄰接結點中選擇count個結點。若count大于當前結點實際擁有的鄰接結點總數,則選擇所有的鄰接結點。如圖2所示,本發明提供的隨機擴散的復雜網絡生成模型,執行流程如下步驟1:創建一個新網絡G,其結點集合V僅包含一個結點V1,邊集合E為空集;步驟2 :設變量i = 2,準備向網絡G中加入結點Vi ;步驟3 :取得當前網絡G中的結點集合V ;步驟4 :將結點Vi加入網絡G的結點集合V ;步驟5 :按區間
上的均勻分布生成一個隨機數num ;步驟6 :若num ( Phost,等概率隨機從結點集合V中選取一個結點begin,并從begin開始執行結點Vi的隨機擴散過程,隨機擴散結束后轉步驟5執行。若num > Phost,設置變量i = 1+1,若i > n,轉步驟7執行,否則若i ( n,轉步驟3執行;結點Vi進行隨機擴散過程的具體步驟如下步驟6.1 :設變量frontier為一空隊列,設變量visited為一空集合;步驟6. 2 :將結點begin分別加入隊列frontier和集合visited ;步驟6. 3 :將邊(Vi, begin)加入網絡G,并標記其時間戳為i ; 步驟6. 4 :若隊列frontier不為空,則轉步驟6. 5執行,否則結束隨機擴散過程;步驟6. 5 :從隊歹Ij frontier彈出一個結點,記為結點host ;步驟6. 6 :設變量neighbors為結點host在網絡G中的所有鄰接結點集合;步驟6. 7 :根據集合neighbors和集合visited,隨機選取即將擴散到的結點集合,記為nodes ;隨機選取即將擴散到的結點集合的具體步驟如下步驟6. 7.1 :若集合neighbors為空,則返回空集。否則轉步驟6. 7. 2執行;步驟6. 7. 2 :設變量 count = O ;步驟6. 7. 3 :按區間
上的均勻分布生成一個隨機數,記為t ;步驟6. 7. 4 :若t < Pfrnd,則設變量count = count+1,轉步驟6. 7. 3執行。否則轉步驟6. 7. 5執行;步驟6. 7. 5 :設變量candidate為集合neighbors和集合visited的差集,即neighbors-visited;步驟6. 7. 6 :從集合candidate中等概率隨機選取min {count, | candidate |}個結點,返回已選取的結點。步驟6. 8 :對于nodes中的每個結點nd,向網絡G中添加邊(Vi, nd),并標記其時間戳為i。將結點nd分別加入隊列frontier和集合visited。轉步驟6. 4執行;
步驟7 :輸出生成的網絡G。下面通過實驗來證明采用本發明方法能夠生成具有期望性質的網絡。利用本發明方法生成三個不同規模的網絡,分別含有10000、30000、50000個結點。首先定義網絡中連通分量的三種狀態,即新生狀態、死亡狀態和存活狀態設St和Sw分別表示在第t個、第t-Ι個結點加入網絡后,網絡中的所有連通分量的集合表示集合St中的某個連通分量表示集合StH中的某個連通分量。定義連通分量的三種狀態如下 若存在C/ e St,使得對任意CiH,有<7 '「、('; = 0,則Cjt稱為在第t天的一個新生的連通分量; 對任意CiH e Sm,若存在Cjt e St,使得Γ/ 1 [乂1; 且存在C/—1 e St^1,使得<7 1 -(Γ,則CiH和CjH稱為死亡的連通分量,且C/是從若干舊分量的合并中產生的新生分量; 對任意Cf1 e St^1,若存在C/ e St,使得Q i c C/ ,且對任意C1,滿足o(cy -c/])=0,則Cit-1稱為存活的連通分量。對于每個模型生成的網絡,按以上定義統計每個結點加入網絡之后的大小和壽命情況。對每個新生的連通分量,將其壽命記為I。若多個連通分量合并,則參與合并的所有連通分量的狀態均記為死亡,記錄它們各自的大小。合并產生的新連通分量的狀態記為新生,且其壽命記為I。對于每個存活的連通分量,其壽命值加一。當所有結點都加入網絡后,計算連通分量的壽命和最終大小分布。圖3顯示了模型生成的網絡中連通分量的壽命分布曲線。從圖中可見,三個網絡的壽命分布曲線都呈現遞減趨勢,且曲線的尾部存在振蕩現象,表明網絡中多數連通分量的壽命都較短,但仍然存在一定數量的連通分量,其能在網絡中存在較長時間。圖4顯示了模型生成的網絡中連通分量的最終大小分布曲線。從圖中的三條擬合直線可見,模型生成的三個網絡中連通分量的最終大小分布服從冪律。三條擬合直線的斜率分別約為-4. 60,-4. 84和-5. 04。圖5顯示了模型生成網絡的結點出度分布。從圖中可以看出,三個網絡的出度分布曲線大致為一條直線,符合常見的冪律特征。圖6顯示了模型生成網絡的密度演化曲線。圖中的三條曲線表示網絡中的邊數隨結點數的變化情況。圖中的三條擬合直線的斜率分別約為1. 13、1. 07和1. 06,均嚴格介于I到2之間,表明三個網絡都滿足稠化冪律性質,即網絡連接逐漸密集化,其增長速度介于線性和二次之間。在模型生成的三個網絡中,合并都只涉及兩個連通分量。三個網絡中的合并次數分別為3、6和13次,符合期望的連通分量合并規模較小,且絕大多數合并只涉及兩個連通分量的性質。
權利要求
1.一種基于隨機擴散的復雜網絡生成模型的建立方法,其特征在于,包括如下步驟 步驟1:創建一個新網絡G,其結點集合V僅包含一個結點V1,邊集合E為空集; 步驟2 :設變量i = 2,準備向網絡G中加入結點Vi ; 步驟3 :取得當前網絡G中的結點集合V ; 步驟4 :將Vi加入網絡G的結點集合V ; 步驟5 :按區間[O, I]上的均勻分布生成一個隨機數num ; 步驟6 :若num ( phost,等概率隨機從結點集合V中選取一個節點begin,并從begin開始執行結點Vi的隨機擴散過程,隨機擴散結束后轉步驟5執行;若num > Phost,設置變量i=i+Ι,若i >n,轉步驟7執行,否則若i彡n,轉步驟3執行;其中ph()St為一個新加入網絡的結點執行所述的隨機擴散過程的概率表示模型輸出的網絡中的結點數; 步驟7 :輸出生成的網絡G。
2.根據權利要求1所述的一種基于隨機擴散的復雜網絡生成模型的建立方法,其特征在于,步驟6中所述的從結點begin開始的結點Vi隨機擴散過程,具體包括如下步驟 步驟6.1 :設變量frontier為一空隊列,設變量visited為一空集合; 步驟6. 2 :將結點begin分別加入隊列frontier和集合visited ; 步驟6. 3 :將邊(Vi,begin)加入網絡G,并標記其時間戳為i ; 步驟6. 4 :若隊列frontier不為空,則轉步驟6. 5執行,否則結束隨機擴散過程; 步驟6. 5 :從隊歹Ij frontier彈出一個結點,記為結點host ; 步驟6. 6 :設變量neighbors為結點host在網絡G中的所有鄰接結點集合; 步驟6. 7 :根據集合neighbors和集合visited,隨機選取即將擴散到的結點集合,記為nodes ; 步驟6. 8 :對于nodes中的每個結點nd,向網絡G中添加邊(Vi, nd)G,并標記其時間戳為i ;將結點nd分別加入隊列frontier和集合visited。轉步驟6. 4執行。
3.根據權利要求2所述的一種基于隨機擴散的復雜網絡生成模型的建立方法,其特征在于,步驟6. 7中所述的根據neighbors和visited隨機選取即將擴散的結點集合,具體包括如下步驟 步驟6. 7.1 :若集合neighbors為空,則返回空集;否則轉步驟6. 7. 2執行; 步驟6. 7. 2 :設變量count = O ; 步驟6. 7. 3 :按區間
上的均勻分布生成一個隨機數,記為t ; 步驟6. 7. 4 :若≥pfrnd,則設變量count = count+1,轉步驟6. 7. 3執行;否則轉步驟6.7. 5執行;其中,Pfmd為模型的參數,表示在確定步驟6. 7. 6中隨機選取的結點總數時,還需多選擇一個結點的概率; 步驟6. 7. 5 :設變量candidate為集合neighbors和集合visited的差集,即neighbors-visited ; 步驟6. 7. 6 :從集合candidate中等概率隨機選取min {count,| candidate |}個結點,返回已選取的結點。
全文摘要
本發明公開了一種基于隨機擴散的復雜網絡生成模型的建立方法,屬于社會網絡分析和數據挖掘領域。所述方法首先創建一個新網絡G,其結點集合V僅包含一個結點,邊集合為空集;設變量i=2,準備向網絡中加入結點vi;取得當前網絡中的節點集合V;將結點vi加入網絡G的結點集合V;如區間
上的均勻分布生成一個隨機數num滿足num≤phost,等概率隨機從結點集合V中選取一個結點begin,并從結點begin開始執行結點vi的隨機擴散過程;若num>phost,變量i=i+1,若i>n,輸出生成的網絡。采用本發明方法進行網絡生成,既能保持常見網絡性質,也能滿足三個連通分量的演化性質。
文檔編號H04L12/24GK103023692SQ201210421428
公開日2013年4月3日 申請日期2012年10月29日 優先權日2012年10月29日
發明者牛建偉, 彭井, 童超 申請人:北京航空航天大學