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

文档序号:9217762阅读:1369来源:国知局
复杂网络的社团发现方法及社团重要节点发现方法
【技术领域】
[0001] 本发明属于复杂网络技术领域,更为具体地讲,涉及一种复杂网络的社团发现方 法及社团重要节点发现方法。
【背景技术】
[0002] 复杂网络的研宄是现今科学研宄中的一个热点,它已渗透到各个领域,并成为这 些领域的重要研宄方向。不同领域的复杂网络,都可以用图的形式来表示。点表示复杂网 络中的个体,边表示复杂网络中个体之间的关系,边的权重用来表示个体之间的联系。由此 看出,复杂网络的结构是由大量的点和它们之间的相互作用关系组成的。随着对复杂网络 的深入研宄,发现复杂网络中呈现出大量的社团结构,即具有相同特性的节点之间的联系 较多,而不同特性的节点之间联系较少。复杂网络中的社团就是这些具有相同特性的节点 以及连接它们之间的边所组成的子图集合。
[0003] 现有的社团发现算法主要包括Kernighan-Lin算法、谱平分法、派系过滤算法和 分级聚类算法等。分级聚类算法根据将网络中的边删除或添加,又细分为分裂算法和凝聚 算法。常见的分裂算法包括:GN算法、采用节点集的GN算法、快速分裂算法、基于相异性的 算法和基于信息中心度的算法等。常见的凝聚算法包括:FastNewman算法、CNM算法和结 合谱分析的凝聚算法等。
[0004] 以上介绍的算法都是基于网络全局来考虑的,有时候人们只对网络的局部信息感 兴趣。1-shell算法和Clauset算法就是两种比较典型的基于网络局部信息的算法。后来, Raghavan提出快速标号传播算法(LPA算法)。而之后,Xie等人又提出了通过标签传播进 行社团检测的LabelRank算法对LPA改进,避免了结果的随机输出,并且提高了社团检测的 性能。Yang等人基于边的结构和节点的属性提出了CESNA算法。马杰良提出了基于局部稠 密度的社团划分算法。陈端兵提出了重叠社区挖掘的两段策略算法。
[0005] 大多数真实的复杂网络是加权网,无权网无法体现出这些网络中节点之间的连接 强度。引入边权,既可以体现真实网络拓扑结构的复杂性,又可以更好地体现真实网络拓扑 结构之间的相互联系,为社团发现提供更多的依据。因此,在对复杂网络进行社团发现前, 需先对具有社团结构的加权网建模。
[0006] 随着科学技术的进步,信息量急剧增长。经典的社团发现算法由于时间复杂度高, 已经无法完成大规模复杂网络的社团发现,研宄准确度高且时间复杂度低的大规模复杂网 络的社团发现算法迫在眉睫。经典的社团发现算法都是将节点作为划分对象,通过对节点 设计适当的划分方法来获取点的社团结构,但以节点为划分对象的社团发现算法需要先找 到网络中的关键节点,从关键节点开始发现网络中的社团,这就导致这些算法的准确度还 与网络中的关键节点相关。
[0007] 在一个社团中,往往存在着一个或多个重要节点,这些节点在社团中具有很大的 影响力,所以发现社团中的重要节点对网络的安全、控制和监管具有重要意义。常见的重要 节点发现算法考虑因素片面单一,有的是基于节点之间的直接连接状态,有的是基于目标 节点到其他节点的最优连接方式等,且是用于寻找全网中的重要节点,因此,需要探索考虑 因素周全的社团中重要节点的发现算法。

【发明内容】

[0008] 本发明的目的在于克服现有技术的不足,提供一种准确度高且时间复杂度低、适 合大规模复杂网络的社团发现方法及社团重要节点发现方法。
[0009] 为实现上述发明目的,本发明复杂网络的社团发现方法,包括以下步骤:
[0010] S1 :首先得到复杂网络的拓扑结构,即复杂网络中的节点和节点之间的连接关系, 并得到节点间连接次数;
[0011] S2 :计算复杂网络中每条边的边权wiJ:
[0013] 其中,i、j分别表示两个不同节点的序号,取值范围为1彡i辛j彡n,n表示复杂 网络中的节点数量;Tu表示节点间连接次数,\和~分别为节点i和节点j的邻点集合, kGNinNj表示节点k为节点i和节点j的共同邻点,Tik和Tjk分别为节点i和节点k、节 点j和节点k的连接次数;
[0014] S3 :对复杂网络中所有边按边权的从大到小进行排序,得到边序列E;
[0015] S4:令社团序号m=l;
[0016] S5 :划分得到社团Cm,具体方法包括以下步骤:
[0017] S5. 1 :从边序列E中选择第一条边作为社团Cm的初始边,该边的两个端点划分进 社团(;;
[0018] S5. 2 :统计当前社团Cm的邻点集合U;
[0019] S5. 3 :从邻点集合U中取出一个邻点记为u,计算邻点u对应的局部社团判断函数 值M(eui),计算公式为:
[0021] 其中,su表示邻点u的点权,
[0022] S5. 4 :如果M(eui) > 0,则将邻点u及邻点u与当前社团(;内的节点的所有边都划 分进社团Cm,返回步骤S5. 2 ;否则从邻点集合U中删除邻点u,进入步骤S5. 5 ;
[0023] S5. 5 :判断邻点集合U是否为空,如果不是,返回步骤S5. 3,否则社团(;划分完 毕;
[0024] S6 :从边序列E中将社团Cm包含的所有边删除,如果当前边序列E为空,进入步骤 S7,否则令m=m+1,返回步骤S5 ;
[0025] S7 :如果复杂网络中存在孤立点,将每个孤立点分别作为一个社团;
[0026] S8 :处理社团间的重叠点,处理方法为:
[0027] 记重叠点t被划分进P个社团,分别计算节点6的邻边中所有属于每个社团(;的 边权和Wp,也就是节点G与社团cp中节点的边的边权和,计算公式为:
[0029] 其中,p的取值范围为1彡p彡P;
[0030] 从得到的P个边权和wp中选择最大边权和对应的社团作为节点G的归属社团,从 其他社团中删除节点6。
[0031] 本发明还提供了一种复杂网络的社团重要节点发现方法,包括以下步骤:
[0032] S1 :计算社团中各节点的点权Sy
[0034] 其中,r表示社团的节点序号,取值范围为1 <r<R,R表示社团中节点的数量; C表示节点r所在的社团,队表示节点r的邻点集合,节点t同属于社团C,并且是节点r的 邻点,表示节点r和节点t的边的边权;
[0035] S2 :计算节点r相对于其邻点t的度中心性因子Krt,计算公式为:
[0037] 其中,匕表示节点r在社团C内的度,<k>为社团C的平均度,fj为社团C团的 平均单位权,计算公式分别为:
[0040]S3 :分别计算社团中各个节点r到社团C中其他节点的平均最短距离4:
[0042] 其中,^至A廣示节点r到节点t'之间最短路径所经过的中间节点,t'取值 范围为1<t'辛r<R;
[0043] S4 :计算各个节点的接近度因子1/d^
[0044] S5 :计算节点r受到同一社团的邻点t的影响因子Lrt=K?Dt;
[0045] S6:计算各个节点的重要度并将社团中的节点按重要度从大到小进行排序,重要 度计算公式为:
[0047] 本发明复杂网络的社团发现方法及社团重要节点发现方法,首先根据复杂网络的 拓扑结构和节点间连接次数计算得到每条边的边权,以边权最大的边为新社团的起始边, 对新社团进行扩张,每次扩张时计算社团邻点的局部社团判断函数,如果局部社团判断函 数大于0,即将邻点和对应边划分进行社团,社团停止生长后,从剩下的边中选择边权最大 边作为另一个新社团的起始边,继续划分;在进行社团重要节点发现时,先计算得到各节点 受到同一社团的邻点的影响因子,然后根据节点受到邻点的影响因子和邻点受到节点的影 响因子计算得到节点的重要度,完成重要节点发现。
[0048] 本发明具有以下有益效果:
[0049] (1)采用本发明得到社团发现结果更加准确,更符合网络实际,并且执行效率较 高,尤其适用于大规模网络;
[0050] (2)在进行重要节点发现时,综合考虑了节点的权重、号召力、位置和邻点的因素, 最终得到的结果更加合理。
【附图说明】
[0051] 图1是本发明复杂网络的社团发现方法的流程图;
[0052] 图2是本发明中社团划分的流程图;
[0053] 图3是复杂网络的重要节点发现方法的流程图;
[0054] 图4是采用本发明社团发现方法对Zachary网络的社团发现结果;
[0055] 图5是采用本发明和两种对照算法对四种社团网络得到的社团发现结果的模块 度对比曲线;
[0056] 图6是采用本发明和两种对照算法对四种社团网络进行社团发现的执行时间对 比曲线。
【具体实施方式】
[0057] 下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地 理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许 会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0058] 图1是本发明复杂网络的社团发现方法的流程图。如图1所示,本发明复杂网络 的社团发现方法包括以下步骤:
[0059] S101 :获取复杂网络的信息:
[0060] 首先得到复杂网络的拓扑结构,即复杂网络中的节点和节点之间的连接关系,并 得到节点间连接
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1