一种基于随机扩散的复杂网络生成模型的建立方法

文档序号:7864080阅读:325来源:国知局
专利名称:一种基于随机扩散的复杂网络生成模型的建立方法
技术领域
本发明提出一种基于随机扩散的复杂网络生成模型,属于社会网络分析和数据挖掘领域。
背景技术
社会网络分析以复杂网络为背景,融合了计算机科学、物理学、社会学等多门学科,近十年来受到了学术界的广泛关注。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日
发明者牛建伟, 彭井, 童超 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1