CN104933624A - 复杂网络的社团发现方法及社团重要节点发现方法 - Google Patents

复杂网络的社团发现方法及社团重要节点发现方法 Download PDF

Info

Publication number
CN104933624A
CN104933624A CN201510372969.6A CN201510372969A CN104933624A CN 104933624 A CN104933624 A CN 104933624A CN 201510372969 A CN201510372969 A CN 201510372969A CN 104933624 A CN104933624 A CN 104933624A
Authority
CN
China
Prior art keywords
node
corporations
point
community
complex network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510372969.6A
Other languages
English (en)
Inventor
徐杰
马瑞琼
何庆强
孙健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201510372969.6A priority Critical patent/CN104933624A/zh
Publication of CN104933624A publication Critical patent/CN104933624A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种复杂网络的社团发现方法及社团重要节点发现方法,首先根据复杂网络的拓扑结构和节点间连接次数计算得到每条边的边权,以边权最大的边为新社团的起始边,对新社团进行扩张,每次扩张时计算社团邻点的局部社团判断函数,如果局部社团判断函数大于0,即将邻点和对应边划分进行社团,社团停止生长后,从剩下的边中选择边权最大边作为另一个新社团的起始边,继续划分;在进行社团重要节点发现时,先计算得到各节点受到同一社团的邻点的影响因子,然后根据节点受到邻点的影响因子和邻点受到节点的影响因子计算得到节点的重要度,完成重要节点发现。本发明准确度高且时间复杂度低,尤其适合应用于大规模复杂网络。

Description

复杂网络的社团发现方法及社团重要节点发现方法
技术领域
本发明属于复杂网络技术领域,更为具体地讲,涉及一种复杂网络的社团发现方法及社团重要节点发现方法。
背景技术
复杂网络的研究是现今科学研究中的一个热点,它已渗透到各个领域,并成为这些领域的重要研究方向。不同领域的复杂网络,都可以用图的形式来表示。点表示复杂网络中的个体,边表示复杂网络中个体之间的关系,边的权重用来表示个体之间的联系。由此看出,复杂网络的结构是由大量的点和它们之间的相互作用关系组成的。随着对复杂网络的深入研究,发现复杂网络中呈现出大量的社团结构,即具有相同特性的节点之间的联系较多,而不同特性的节点之间联系较少。复杂网络中的社团就是这些具有相同特性的节点以及连接它们之间的边所组成的子图集合。
现有的社团发现算法主要包括Kernighan-Lin算法、谱平分法、派系过滤算法和分级聚类算法等。分级聚类算法根据将网络中的边删除或添加,又细分为分裂算法和凝聚算法。常见的分裂算法包括:GN算法、采用节点集的GN算法、快速分裂算法、基于相异性的算法和基于信息中心度的算法等。常见的凝聚算法包括:Fast Newman算法、CNM算法和结合谱分析的凝聚算法等。
以上介绍的算法都是基于网络全局来考虑的,有时候人们只对网络的局部信息感兴趣。l-shell算法和Clauset算法就是两种比较典型的基于网络局部信息的算法。后来,Raghavan提出快速标号传播算法(LPA算法)。而之后,Xie等人又提出了通过标签传播进行社团检测的LabelRank算法对LPA改进,避免了结果的随机输出,并且提高了社团检测的性能。Yang等人基于边的结构和节点的属性提出了CESNA算法。马杰良提出了基于局部稠密度的社团划分算法。陈端兵提出了重叠社区挖掘的两段策略算法。
大多数真实的复杂网络是加权网,无权网无法体现出这些网络中节点之间的连接强度。引入边权,既可以体现真实网络拓扑结构的复杂性,又可以更好地体现真实网络拓扑结构之间的相互联系,为社团发现提供更多的依据。因此,在对复杂网络进行社团发现前,需先对具有社团结构的加权网建模。
随着科学技术的进步,信息量急剧增长。经典的社团发现算法由于时间复杂度高,已经无法完成大规模复杂网络的社团发现,研究准确度高且时间复杂度低的大规模复杂网络的社团发现算法迫在眉睫。经典的社团发现算法都是将节点作为划分对象,通过对节点设计适当的划分方法来获取点的社团结构,但以节点为划分对象的社团发现算法需要先找到网络中的关键节点,从关键节点开始发现网络中的社团,这就导致这些算法的准确度还与网络中的关键节点相关。
在一个社团中,往往存在着一个或多个重要节点,这些节点在社团中具有很大的影响力,所以发现社团中的重要节点对网络的安全、控制和监管具有重要意义。常见的重要节点发现算法考虑因素片面单一,有的是基于节点之间的直接连接状态,有的是基于目标节点到其他节点的最优连接方式等,且是用于寻找全网中的重要节点,因此,需要探索考虑因素周全的社团中重要节点的发现算法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种准确度高且时间复杂度低、适合大规模复杂网络的社团发现方法及社团重要节点发现方法。
为实现上述发明目的,本发明复杂网络的社团发现方法,包括以下步骤:
S1:首先得到复杂网络的拓扑结构,即复杂网络中的节点和节点之间的连接关系,并得到节点间连接次数;
S2:计算复杂网络中每条边的边权wij
w i j = T i j + Σ k ∈ N i ∩ N j T i k T j k Σ k ∈ N i T i k 2 · Σ k ∈ N j T j k 2
其中,i、j分别表示两个不同节点的序号,取值范围为1≤i≠j≤n,n表示复杂网络中的节点数量;Tij表示节点间连接次数,Ni和Nj分别为节点i和节点j的邻点集合,k∈Ni∩Nj表示节点k为节点i和节点j的共同邻点,Tik和Tjk分别为节点i和节点k、节点j和节点k的连接次数;
S3:对复杂网络中所有边按边权wij的从大到小进行排序,得到边序列E;
S4:令社团序号m=1;
S5:划分得到社团Cm,具体方法包括以下步骤:
S5.1:从边序列E中选择第一条边作为社团Cm的初始边,该边的两个端点划分进社团Cm
S5.2:统计当前社团Cm的邻点集合U;
S5.3:从邻点集合U中取出一个邻点记为u,计算邻点u对应的局部社团判断函数值M(eui),计算公式为:
M ( e u i ) = Σ i ∈ C w u i s u - Σ i ∈ C , j ∈ C w j i Σ j ∈ C s j
其中,su表示邻点u的点权, s u = Σ o ∉ C w u o + Σ i ∈ C w u i , Σ j ∈ C s j = 2 Σ i ∈ C , j ∈ C w j i + Σ o ∉ C , j ∈ C w j o ;
S5.4:如果M(eui)>0,则将邻点u及邻点u与当前社团Cm内的节点的所有边都划分进社团Cm,返回步骤S5.2;否则从邻点集合U中删除邻点u,进入步骤S5.5;
S5.5:判断邻点集合U是否为空,如果不是,返回步骤S5.3,否则社团Cm划分完毕;
S6:从边序列E中将社团Cm包含的所有边删除,如果当前边序列E为空,进入步骤S7,否则令m=m+1,返回步骤S5;
S7:如果复杂网络中存在孤立点,将每个孤立点分别作为一个社团;
S8:处理社团间的重叠点,处理方法为:
记重叠点被划分进P个社团,分别计算节点的邻边中所有属于每个社团Cp的边权和Wp,也就是节点与社团Cp中节点的边的边权和,计算公式为:
W p = Σ i ∈ N u ~ ∩ C p w u ~ i
其中,p的取值范围为1≤p≤P;
从得到的P个边权和Wp中选择最大边权和对应的社团作为节点的归属社团,从其他社团中删除节点
本发明还提供了一种复杂网络的社团重要节点发现方法,包括以下步骤:
S1:计算社团中各节点的点权Sr
s r = Σ t ∈ C ∩ N r w r t
其中,r表示社团的节点序号,取值范围为1≤r≤R,R表示社团中节点的数量;C表示节点r所在的社团,Nr表示节点r的邻点集合,节点t同属于社团C,并且是节点r的邻点,wrt表示节点r和节点t的边的边权;
S2:计算节点r相对于其邻点t的度中心性因子Krt,计算公式为:
K r t = k r < k > &CenterDot; w r t U &OverBar;
其中,kr表示节点r在社团C内的度,<k>为社团C的平均度,为社团C团的平均单位权,计算公式分别为:
< k > = &Sigma; r &Element; C k r R
U &OverBar; = &Sigma; r &Element; C s r k r R
S3:分别计算社团中各个节点r到社团C中其他节点的平均最短距离dr
d r = &Sigma; t &prime; &Element; C m i n ( 1 w r&lambda; 1 + 1 w &lambda; 1 &lambda; 2 + ... + 1 w &lambda; F t &prime; ) R - 1
其中,λ1至λF表示节点r到节点t′之间最短路径所经过的中间节点,t′取值范围为1≤t′≠r≤R;
S4:计算各个节点的接近度因子Dr=1/dr
S5:计算节点r受到同一社团的邻点t的影响因子Lrt=Krt·Dt
S6:计算各个节点的重要度并将社团中的节点按重要度从大到小进行排序,重要度计算公式为:
I r = &Sigma; t &Element; C &cap; N r ( L r t + L t r ) .
本发明复杂网络的社团发现方法及社团重要节点发现方法,首先根据复杂网络的拓扑结构和节点间连接次数计算得到每条边的边权,以边权最大的边为新社团的起始边,对新社团进行扩张,每次扩张时计算社团邻点的局部社团判断函数,如果局部社团判断函数大于0,即将邻点和对应边划分进行社团,社团停止生长后,从剩下的边中选择边权最大边作为另一个新社团的起始边,继续划分;在进行社团重要节点发现时,先计算得到各节点受到同一社团的邻点的影响因子,然后根据节点受到邻点的影响因子和邻点受到节点的影响因子计算得到节点的重要度,完成重要节点发现。
本发明具有以下有益效果:
(1)采用本发明得到社团发现结果更加准确,更符合网络实际,并且执行效率较高,尤其适用于大规模网络;
(2)在进行重要节点发现时,综合考虑了节点的权重、号召力、位置和邻点的因素,最终得到的结果更加合理。
附图说明
图1是本发明复杂网络的社团发现方法的流程图;
图2是本发明中社团划分的流程图;
图3是复杂网络的重要节点发现方法的流程图;
图4是采用本发明社团发现方法对Zachary网络的社团发现结果;
图5是采用本发明和两种对照算法对四种社团网络得到的社团发现结果的模块度对比曲线;
图6是采用本发明和两种对照算法对四种社团网络进行社团发现的执行时间对比曲线。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明复杂网络的社团发现方法的流程图。如图1所示,本发明复杂网络的社团发现方法包括以下步骤:
S101:获取复杂网络的信息:
首先得到复杂网络的拓扑结构,即复杂网络中的节点和节点之间的连接关系,并得到节点间连接次数。
S102:计算复杂网络中每条边的边权:
本发明中,定义复杂网络中的每条边eij的边权wij为边的节点间连接次数Tij与结构相似度δij之和,其中i、j分别表示两个不同节点的序号,取值范围为1≤i≠j≤n,n表示复杂网络中的节点数量。节点间连接次数Tij是已知的,要计算权重wij需要先计算结构相似度δij。结构相似度δij的计算公式为:
&delta; i j = &Sigma; k &Element; N i &cap; N j T i k T j k &Sigma; k &Element; N i T i k 2 &CenterDot; &Sigma; k &Element; N j T j k 2 - - - ( 1 )
其中,Ni和Nj分别为节点i和节点j的邻点集合,k∈Ni∩Nj表示节点k为节点i和节点j的共同邻点,Tik和Tjk分别为节点i和节点k、节点j和节点k的连接次数。
那么,边权wij的计算公式为:
w i j = T i j + &delta; i j = T i j + &Sigma; k &Element; N i &cap; N j T i k T j k &Sigma; k &Element; N i T i k 2 &CenterDot; &Sigma; k &Element; N j T j k 2 - - - ( 2 )
本发明所采用的边权wij不仅可以反映出共同邻点k和节点i或节点j之间连接次数的变化,还可以体现出节点i和节点j的共同邻点的个数、节点i或节点j的点权。
S103:对边权进行排序得到边序列:
对复杂网络中所有边按边权wij的从大到小进行排序,得到边序列E。
S104:令社团序号m=1。
S105:划分得到社团Cm
首先介绍本发明划分社团的原理:
对于加权网络的局部社团C,其结构函数E(C)可以表示为:
E ( C ) = E i n E i n + E o u t = &Sigma; i &Element; C , j &Element; C w j i &Sigma; i &Element; C , j &Element; C w j i + &Sigma; o &NotElement; C , j &Element; C w j o - - - ( 3 )
其中,Ein为社团C内的边权和,Eout为社团C外的边权和。节点i和节点j为社团C内的节点,节点o为社团C外的节点。
假设从某边开始出发,探测出包含该边的社团C,在社团C的增长过程中,它总是不断的吸收社团的邻边,当把社团C内的节点与邻点u相连的边划分进社团C后,其结构函数的增量为:
&Delta; E ( C &cup; e u i ) = E ( C &cup; e u i ) - E ( C ) = E i n + &Sigma; i &Element; C w u i E i n + E o u t + &Sigma; o &NotElement; C w u o - E n E i n + E o u t = &Sigma; i &Element; C , j &Element; C w j i + &Sigma; i &Element; C w u i &Sigma; i &Element; C , j &Element; C w j i + &Sigma; o &NotElement; C , j &Element; C w j o + &Sigma; o &NotElement; C w u o - &Sigma; i &Element; C , j &Element; C w j i &Sigma; i &Element; C , j &Element; C w j i + &Sigma; o &NotElement; C , j &Element; C w j o - - - ( 4 )
由于本发明是对复杂网络中的边进行社团发现,也就是说被划分进社团的边的两点也同时被划分进社团,所以社团中的点权之和等于社团内的边权和的二倍加上社团内的点与社团外的点相连的边权和,即:
&Sigma; j &Element; C s j = 2 &Sigma; i &Element; C , j &Element; C w j i + &Sigma; o &NotElement; C , j &Element; C w j o - - - ( 5 )
s u = &Sigma; o &NotElement; C w u o + &Sigma; i &Element; C w u i - - - ( 6 )
其中,sj表示节点j的点权,su为邻点u的点权,wui为点u与社团C内的点相连的边权,wuo为点u与社团C外的点相连的边权。
当ΔE(C∪eui)>0时,即当把社团C内的节点与邻点u相连的边划分进社团后,社团C的结构更好。令ΔE(C∪eui)>0,则
&Sigma; i &Element; C , j &Element; C w j i &Sigma; j &Element; C s j < &Sigma; i &Element; C w u i s u - - - ( 7 )
由式(7)可知,当社团C的邻点u与社团内的点相连的边权之和与点u的点权su之比,大于社团C内的边权之和与社团内的点权和之比时,说明把社团C的邻点u与社团内的节点相连的边划分进社团后,社团C的结构更好,因此,把邻点u与社团内点的相连的边划分进社团C。
从而可以得到是否将邻点u与社团内的节点的相连的边划分进社团C的局部社团判断函数M(eui)的计算公式为:
M ( e u i ) = &Sigma; i &Element; C w u i s u - &Sigma; i &Element; C , j &Element; C w j i &Sigma; j &Element; C s j - - - ( 8 )
其中,u为社团C的邻点,su为邻点u的点权,wui为邻点u与社团C内的节点i相连的边权,为划分进社团C内的边权之和,为社团内点的点权之和。
图2是本发明中社团划分的流程图。如图2所示,从复杂网络中划分得到第m个社团Cm的具体方法包括以下步骤:
S201:初始化社团:
从边序列E中选择第一个边(即边权最大的边)作为社团Cm的初始边加入社团Cm的边集合Em,并将该边的两个端点划分进社团Cm的点集合Vm,即初始化社团Cm={Em,Vm}。
S202:统计当前社团的邻点集合:
统计当前社团Cm的邻点集合U。
S203:计算邻点u对应的局部社团判断函数:
从邻点集合U中取出一个邻点记为u,计算邻点u对应的局部社团判断函数值M(eui),根据公式(8)计算得到M(eui)。
S204:判断是否M(eui)>0,如果是,进入步骤S205,否则进入步骤S206。
S205:添加社团节点和边:
将邻点u及邻点u与当前社团Cm内的节点的所有边都划分进社团Cm,即将邻点u加入点集合Vm,邻点u与当前社团Cm内的节点的所有边都加入边集合Em。由于社团Cm更新了,那么其邻点集合U也要更新,因此返回步骤S202。
S206:删除邻点u:
从邻点集合U中删除邻点u,进入步骤S207。
S207:判断邻点集合U是否为空,如果不是,返回步骤S203,否则社团停止生长,社团Cm划分完毕。这是因为如果邻点集合为空,说明社团Cm的当前邻点邻点集合U中的所有邻点均没有添加到社团中,即社团停止生长,那么社团Cm划分完毕。
S106:更新边序列:
从边序列E中将社团Cm的边集合Em中包含的所有边删除,即E=E-Em
S107:判断当前边序列E是否为空,如果是,即基于边的复杂网络社团划分结束,进入步骤S109,否则进入步骤S108。
S108:令m=m+1,返回步骤S105。
S109:判断复杂网络中是否存在孤立点,如果是,进入步骤S110,否则不作任何操作,直接进入步骤S111。
S110:对孤立点划分社团:
将每个孤立点分别作为一个社团,即该孤立点自身作为一个社团,进入步骤S111。
S111:处理社团间的重叠点:
在非孤立点的社团中,由于利用局部社团判断函数进行社团划分,在划分时可能出现重叠点,即这些节点归属于两个或以上的社团,因此,还需要进一步对这些重叠点进行细分。判断这些重叠点归属于被划分进的多个社团中的某一个社团,主要看这个点与哪个社团的关系更紧密,最紧密的那个社团就是这个点的归属。依据这个原理,只需要找到重叠点的邻边中与该点所属社团相同的所有边的边权和的最大值,拥有这个边权和最大值的社团即为该重叠点所属的社团。具体方法为:
记重叠点被划分进P个社团,分别计算节点的邻边中所有属于每个社团Cp的边权和Wp,也就是节点与社团Cp中节点的边的边权和,计算公式为:
W p = &Sigma; i &Element; N u ~ &cap; C p w u ~ i - - - ( 9 )
其中,p的取值范围为1≤p≤P。
可见,总共得到P个边权和Wp,从中选择最大边权和对应的社团作为节点的归属社团,从其他社团中删除节点在处理重叠点时,不对边进行操作,即只删除重叠节点,不删除边。
对每个重叠点均进行以上处理,使社团划分结果中不存在重叠点,得到最终的社团划分结果。
本发明还提供了一种复杂网络的社团重要节点发现方法。图3是复杂网络的重要节点发现方法的流程图。如图3所示,本发明复杂网络的社团重要节点发现方法包括以下步骤:
S301:计算社团中各节点的点权:
根据社团中各条边的边权,即公式(2)计算得到的边权,计算社团中各节点在社团内的点权Sr,r表示社团的节点序号,取值范围为1≤r≤R,R表示社团中节点的数量。点权Sr的计算公式为:
s r = &Sigma; t &Element; C &cap; N r w r t - - - ( 10 )
其中,C表示节点r所在的社团,Nr表示节点r的邻点集合,节点t同属于社团C,并且是节点r的邻点,wrt表示节点r和节点t的边的边权。
S302:计算社团各节点的度中心性因子:
节点r相对于其邻点t的度中心性因子Krt的计算公式为:
K r t = k r < k > &CenterDot; w r t U &OverBar; - - - ( 11 )
其中,kr表示节点r在社团C内的度,<k>为社团C的平均度,kr/<k>表示节点r对社团C的度贡献,为社团C团的平均单位权,计算公式分别为:
< k > = &Sigma; r &Element; C k r R - - - ( 12 )
U &OverBar; = &Sigma; r &Element; C s r k r R - - - ( 13 )
S303:计算各节点到社团其他节点的平均最短距离:
分别计算社团中各个节点r到社团C中其他节点的平均最短距离dr为:
d r = &Sigma; t &prime; &Element; C d rt &prime; R - 1 = &Sigma; t &prime; &Element; C m i n ( 1 w r&lambda; 1 + 1 w &lambda; 1 &lambda; 2 + ... + 1 w &lambda; F t &prime; ) R - 1 - - - ( 14 )
其中,λ1至λF表示节点r到节点t′之间最短路径所经过的中间节点,t′取值范围为1≤t′≠r≤R。由于节点r和节点t′属于同一个社团C,因此总有连接这两个节点的路径。dr越小,说明节点r越接近网络中的其他节点,因此通过平均最短路径dr,就可以计算得到节点r的接近度因子。
S304:计算各节点的接近度因子:
计算节点r的接近度因子Dr=1/dr
S305:计算各节点受到邻点的影响因子:
在社团C中,每个节点都会受到同一社团的邻点的影响,那么节点r受到同一社团的邻点t的影响因子Lrt的计算公式为:Lrt=Krt·Dt
S306:计算节点的重要度并排序:
社团中节点的重要性不仅受该节点的度、点权、最短路径数的影响,还受它邻居节点的影响,节点对其邻居节点的影响为自身因素,而邻居节点对这个节点的影响为附加因素。综合上述因子的考虑,本发明提出了社团中节点的重要度函数,由两部分组成,一部分是自身因素,另外一部分是附加因素。节点r的重要度计算公式为:
I r = &Sigma; t &Element; C &cap; N r ( L r t + L t r ) - - - ( 15 )
将社团中的节点按计算得到的重要度从大到小进行排序。
为了说明本发明的技术效果,采用具体的社团网络进行实验验证。采用的社团网络为Zachary网络。Zachary网络是一个检验不同社团发现算法的经典真实的网络。该网络是Zachary在上世纪用了两年时间观察研究空手道俱乐部成员之间的关系而得到的。在调查过程中,俱乐部的主管和校长产生争执,分裂成了两个团体。图4是采用本发明社团发现方法对Zachary网络的社团发现结果。如图4所示,采用本发明将Zachary网络划分成了两个社团(将属于不同社团的节点也颜色来区分),其中点1和点34分别为俱乐部的主管和校长,以主管所在社团为社团1,校长所在社团为社团2。表1是本发明社团发现方法对Zachary网络进行社团发现的评价指标。
节点数 边数 模块度函数 执行时间(秒) 发现社团数
34 78 0.421 0.025 2
表1
从表1可以看出,采用本发明社团发现方法划分得到的最终社团结构与Zachary网络中存在的真实社团结构完全一样,且算法的执行时间很短,说明本发明对Zachary网络的划分不仅准确度高,而且执行效率也高。
分别采用本发明的重要节点发现方法对以上得到的两个社团进行重要节点发现。为了说明技术效果,还采用度中心性算法和接近度算法作为对照算法。表2是三种算法得到的节点重要度排序。
表2
从表2中可以看出,三种算法对点1、2、4和12的重要度排序一致。在社团1中点1是最重要的,这与真实网络中点1为俱乐部的主管情况相一致。在度中心性算法中点3比点6和点7重要,而在接近度算法中,点3、点6和点7的重要度都一样,但从Zachary网络拓扑图中可以看出,首先点3在社团1中的度大于点6和点7,其次点3连接的点比点6和点7连接的点更重要,点3的邻点中有社团1中最重要的3个点,而点6和点7只与点1和社团边缘的点相连接,所以点3应该比点6和点7更重要,这与本发明的节点重要度排序结果一致。由此可知,本发明的重要节点发现方法比接近度算法和度中心性算法的准确度更高,更贴近真实情况。
此外,为了说明本发明的实际应用性,对Zachary网络、Dolphins网络、Football网络和Scientist网络这4个网络,分别采用本发明和经典的社团发现算法中的代表算法:GN算法和Fast Newman算法进行对比,主要对比模块度函数和执行时间这两种评价指标,从而更直观的说明本发明的优劣性。Zachary网络、Dolphins网络、Football网络和Scientist网络的数据集规模是依次增大的,即节点数和边数依次增加。
图5是采用本发明和两种对照算法对四种社团网络得到的社团发现结果的模块度对比曲线。如图5所示,Fast Newman算法的模块度始终小于GN算法的模块度。在数据量较小的Zachary网络中,本发明的模块度和Fast Newman算法相当,而GN算法的模块度明显高于其他两种算法。当数据量逐渐增大时,3种算法的模块度虽然都有所增加,但本发明的模块度增长的更快,GN算法的优势明显减小。对于数量最大的Scientist网络,本发明的模块度已经超过了GN算法的模块度,成为了最大值。
图6是采用本发明和两种对照算法对四种社团网络进行社团发现的执行时间对比曲线。如图6所示,GN算法的执行时间明显高于其他两种算法,当数据量为115个节点的Football网络时,执行时间已经达到了9.645s,这与其极高的时间复杂度有关,因此GN算法不适用大规模网络社团发现。本发明和FastNewman算法的时间复杂度低,但本发明的执行时间在对数据量较大的网络进行社团发现时,其执行时间明显低于Fast Newman算法。由此可知,本发明的社团发现算法利用网络拓扑的局部信息对边进行社团划分寻找局部社团的方法,与经典的社团发现算法中需要网络全部拓扑信息对点进行社团划分寻找全局社团的方法相比,大大提高了算法的执行效率。
从以上分析可知,本发明在数据集规模较大的网络中具有较大优势。下面采用两个大规模网络:安然公司邮件数据集和欧盟电子邮件网络通信数据集,来进行实验验证。表3是采用本发明对两个大规模网络进行社团发现的评价指标。
表3
从表3中可以看出,本发明在对大规模复杂网络进行社团发现时,具有较高的模块度,说明社团划分的结构明显。且执行时间相对于数据量的规模来说,极短,在较短的时间内,发现了大规模复杂网络中的大量社团。
综上所述,本发明在保持社团划分准确度的前提下,大大降价了算法的执行时间,尤其是对数据量较大的网络来说,本发明的执行时间明显缩短,准确度也可以保持在较高水平,甚至高于其他算法,所以本发明在降低算法执行时间的同时,有效提高了发现社团的质量,适合用于大规模复杂网络。在划分得到的社团中发现重要节点时,本发明综合考虑了节点的权重、号召力、位置和邻点的因素,与常见的重要节点发现算法相比,本发明更合理且易区分开节点的重要度,适合用于大规模的复杂网络中。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种复杂网络的社团发现方法,其特征在于,包括以下步骤:
S1:首先得到复杂网络的拓扑结构,即复杂网络中的节点和节点之间的连接关系,并得到节点间连接次数;
S2:计算复杂网络中每条边的边权wij
其中,i、j分别表示两个不同节点的序号,取值范围为1≤i≠j≤n,n表示复杂网络中的节点数量;Tij表示节点间连接次数,Ni和Nj分别为节点i和节点j的邻点集合,k∈Ni∩Nj表示节点k为节点i和节点j的共同邻点,Tik和Tjk分别为节点i和节点k、节点j和节点k的连接次数;
S3:对复杂网络中所有边按边权wij从大到小进行排序,得到边序列E;
S4:令社团序号m=1;
S5:划分得到社团Cm,具体方法包括以下步骤:
S5.1:从边序列E中选择第一条边作为社团Cm的初始边,该边的两个端点划分进社团Cm
S5.2:统计当前社团Cm的邻点集合U;
S5.3:从邻点集合U中取出一个邻点记为u,计算邻点u对应的局部社团判断函数值M(eui),计算公式为:
其中,su表示邻点u的点权,
S5.4:如果M(eui)>0,则将邻点u及邻点u与当前社团Cm内的节点的所有边都划分进社团Cm,返回步骤S5.2;否则从邻点集合U中删除邻点u,进入步骤S5.5;
S5.5:判断邻点集合U是否为空,如果不是,返回步骤S5.3,否则社团Cm划分完毕;
S6:从边序列E中将社团Cm包含的所有边删除,如果当前当前边序列E为空,进入步骤S7,否则令m=m+1,返回步骤S5;
S7:如果复杂网络中存在孤立点,将每个孤立点分别作为一个社团;
S8:处理社团间的重叠点,处理方法为:
记重叠点被划分进P个社团,分别计算节点的邻边中所有属于每个社团Cp的边权和Wp,计算公式为:
其中,p的取值范围为1≤p≤P;
从得到的P个边权和Wp中选择最大边权和对应的社团作为节点的归属社团,从其他社团中删除节点
2.一种复杂网络的社团重要节点发现方法,其特征在于,包括以下步骤:
S1:计算社团中各节点在社团内的点权Sr
其中,r表示社团的节点序号,取值范围为1≤r≤R,R表示社团中节点的数量;C表示节点r所在的社团,Nr表示节点r的邻点集合,节点t同属于社团C,并且是节点r的邻点,wrt表示节点r和节点t的边的边权;
S2:计算节点r相对于其邻点t的度中心性因子Krt,计算公式为:
其中,kr表示节点r在社团C内的度,<k>为社团C所有节点的平均度,U为社团C团的平均单位权,计算公式分别为:
S3:分别计算社团中各个节点r到社团C中其他节点的平均最短距离dr
其中,λ1至λF表示节点r到节点t′之间最短路径所经过的中间节点,t′的取值范围为1≤t′≠r≤R;
S4:计算各个节点的接近度因子Dr=1/dr
S5:计算节点r受到同一社团的邻点t的影响因子Lrt=Krt·Dt
S5:计算各个节点的重要度并将社团中的节点按重要度从大到小进行排序,重要度计算公式为:
CN201510372969.6A 2015-06-29 2015-06-29 复杂网络的社团发现方法及社团重要节点发现方法 Pending CN104933624A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510372969.6A CN104933624A (zh) 2015-06-29 2015-06-29 复杂网络的社团发现方法及社团重要节点发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510372969.6A CN104933624A (zh) 2015-06-29 2015-06-29 复杂网络的社团发现方法及社团重要节点发现方法

Publications (1)

Publication Number Publication Date
CN104933624A true CN104933624A (zh) 2015-09-23

Family

ID=54120780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510372969.6A Pending CN104933624A (zh) 2015-06-29 2015-06-29 复杂网络的社团发现方法及社团重要节点发现方法

Country Status (1)

Country Link
CN (1) CN104933624A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106685690A (zh) * 2016-10-27 2017-05-17 中南大学 基于模拟组建过程的计算机网络关键节点发现方法
CN106874931A (zh) * 2016-12-30 2017-06-20 东软集团股份有限公司 用户画像分群方法和装置
CN107395440A (zh) * 2017-08-28 2017-11-24 电子科技大学 基于复杂网络的互联网拓扑探测节点优化部署方法
CN108768847A (zh) * 2018-06-04 2018-11-06 河南科技大学 IP网络中基于K-Shell算法的主动式故障快速重路由方法
CN110086670A (zh) * 2019-04-29 2019-08-02 安徽大学 基于局部邻居信息的大规模复杂网络社团发现方法及应用
CN110213164A (zh) * 2019-05-21 2019-09-06 南瑞集团有限公司 一种基于拓扑信息融合的识别网络关键传播者的方法及装置
CN110352415A (zh) * 2016-12-16 2019-10-18 华为技术有限公司 大规模数据管理系统中利用图团体监测的预测表预连接
CN110826590A (zh) * 2019-09-20 2020-02-21 浙江工商大学 一种融合学习特征和学习网络结构特性的学习者关系强度度量方法和装置
CN111062421A (zh) * 2019-11-28 2020-04-24 国网河南省电力公司 基于相关性分析的网络节点多维数据社团划分算法
CN111178678A (zh) * 2019-12-06 2020-05-19 中国人民解放军战略支援部队信息工程大学 基于社团影响力的网络节点重要性评估方法
CN111626891A (zh) * 2020-06-03 2020-09-04 四川大学 一种基于扩展节点的动态销售网络社团发现方法
CN113032636A (zh) * 2019-12-25 2021-06-25 中移动信息技术有限公司 完全子图数据的搜索方法、装置、设备及介质
CN113259170A (zh) * 2021-06-01 2021-08-13 宁波大学 计算机网络中子网络及其关键目标的识别方法及其应用
CN114095786A (zh) * 2021-11-17 2022-02-25 四川长虹电器股份有限公司 一种基于社区发现算法的智能电视用户家庭成员识别方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106685690A (zh) * 2016-10-27 2017-05-17 中南大学 基于模拟组建过程的计算机网络关键节点发现方法
CN106685690B (zh) * 2016-10-27 2019-07-09 中南大学 基于模拟组建过程的计算机网络关键节点发现方法
CN110352415A (zh) * 2016-12-16 2019-10-18 华为技术有限公司 大规模数据管理系统中利用图团体监测的预测表预连接
CN110352415B (zh) * 2016-12-16 2022-04-05 华为技术有限公司 大规模数据管理系统中利用图团体监测的预测表预连接
CN106874931A (zh) * 2016-12-30 2017-06-20 东软集团股份有限公司 用户画像分群方法和装置
CN106874931B (zh) * 2016-12-30 2021-01-22 东软集团股份有限公司 用户画像分群方法和装置
CN107395440A (zh) * 2017-08-28 2017-11-24 电子科技大学 基于复杂网络的互联网拓扑探测节点优化部署方法
CN107395440B (zh) * 2017-08-28 2020-07-07 电子科技大学 基于复杂网络的互联网拓扑探测节点优化部署方法
CN108768847A (zh) * 2018-06-04 2018-11-06 河南科技大学 IP网络中基于K-Shell算法的主动式故障快速重路由方法
CN110086670A (zh) * 2019-04-29 2019-08-02 安徽大学 基于局部邻居信息的大规模复杂网络社团发现方法及应用
CN110213164A (zh) * 2019-05-21 2019-09-06 南瑞集团有限公司 一种基于拓扑信息融合的识别网络关键传播者的方法及装置
CN110213164B (zh) * 2019-05-21 2021-06-08 南瑞集团有限公司 一种基于拓扑信息融合的识别网络关键传播者的方法及装置
CN110826590A (zh) * 2019-09-20 2020-02-21 浙江工商大学 一种融合学习特征和学习网络结构特性的学习者关系强度度量方法和装置
CN111062421A (zh) * 2019-11-28 2020-04-24 国网河南省电力公司 基于相关性分析的网络节点多维数据社团划分算法
CN111178678A (zh) * 2019-12-06 2020-05-19 中国人民解放军战略支援部队信息工程大学 基于社团影响力的网络节点重要性评估方法
CN111178678B (zh) * 2019-12-06 2022-11-08 中国人民解放军战略支援部队信息工程大学 基于社团影响力的网络节点重要性评估方法
CN113032636A (zh) * 2019-12-25 2021-06-25 中移动信息技术有限公司 完全子图数据的搜索方法、装置、设备及介质
CN111626891A (zh) * 2020-06-03 2020-09-04 四川大学 一种基于扩展节点的动态销售网络社团发现方法
CN111626891B (zh) * 2020-06-03 2023-08-01 四川大学 一种基于扩展节点的动态销售网络社团发现方法
CN113259170A (zh) * 2021-06-01 2021-08-13 宁波大学 计算机网络中子网络及其关键目标的识别方法及其应用
CN114095786A (zh) * 2021-11-17 2022-02-25 四川长虹电器股份有限公司 一种基于社区发现算法的智能电视用户家庭成员识别方法

Similar Documents

Publication Publication Date Title
CN104933624A (zh) 复杂网络的社团发现方法及社团重要节点发现方法
CN104199852B (zh) 基于节点隶属度的标签传播社团结构挖掘方法
CN103678671B (zh) 一种社交网络中的动态社区检测方法
CN102571954B (zh) 基于节点核心影响力的复杂网络聚类方法
CN108694469A (zh) 一种基于知识图谱的关系预测方法
CN103020163A (zh) 一种网络中基于节点相似度的网络社区划分方法
Li et al. Potts model based on a Markov process computation solves the community structure problem effectively
CN106021560B (zh) 面向数据流的低时延内存b+树索引构建方法
CN102456062B (zh) 社区相似度计算方法与社会网络合作模式发现方法
CN106886524A (zh) 一种基于随机游走的社会网络社区划分方法
CN104268271A (zh) 一种兴趣和网络结构双内聚的社交网络社区发现方法
CN105893382A (zh) 一种基于先验知识的微博用户群体划分方法
CN103593417A (zh) 基于关联规则预测的协同过滤推荐方法
CN105893381A (zh) 一种基于半监督标签传播的微博用户群体划分方法
CN103020267B (zh) 基于三角簇多标签传播的复杂网络社区结构挖掘方法
CN103810260B (zh) 基于拓扑特性的复杂网络社团发现方法
CN102799625B (zh) 一种挖掘社交网络中话题核心圈的方法及系统
CN102456064B (zh) 在社会网络中实现社区发现的方法
CN105893637A (zh) 大规模微博异构信息网络中的链接预测方法
CN104268629A (zh) 一种基于先验信息和网络固有信息的复杂网络社区检测方法
CN105183796A (zh) 一种基于聚类的分布式链路预测方法
CN104579790B (zh) 一种确定链路预测还原边数量的方法
CN105574541A (zh) 一种基于紧密度排序的网络社区发现方法
CN105678590A (zh) 一种面向社交网络基于云模型的topN推荐方法
CN105893585A (zh) 一种结合标签数据的二部图模型学术论文推荐方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150923

RJ01 Rejection of invention patent application after publication