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

文档序号:9217762阅读:来源:国知局
次数。
[0061] S102 :计算复杂网络中每条边的边权:
[0062] 本发明中,定义复杂网络中的每条边的边权wu为边的节点间连接次数Tu与结 构相似度Su之和,其中i、j分别表示两个不同节点的序号,取值范围为1 <i辛j<n,n 表示复杂网络中的节点数量。节点间连接次数是已知的,要计算权重wu需要先计算结 构相似度Sm结构相似度Su的计算公式为:
[0064] 其中,队和N』分别为节点i和节点j的邻点集合,k G Nifl N』表示节点k为节点 i和节点j的共同邻点,Tik和Tjk分别为节点i和节点k、节点j和节点k的连接次数。
[0065] 那么,边权的计算公式为:
[0067] 本发明所采用的边权Rj不仅可以反映出共同邻点k和节点i或节点j之间连接 次数的变化,还可以体现出节点i和节点j的共同邻点的个数、节点i或节点j的点权。
[0068] S103 :对边权进行排序得到边序列:
[0069] 对复杂网络中所有边按边权wu的从大到小进行排序,得到边序列E。
[0070]S104:令社团序号m= 1。
[0071] S105 :划分得到社团Cm:
[0072] 首先介绍本发明划分社团的原理:
[0073] 对于加权网络的局部社团C,其结构函数E(C)可以表示为:
[0075] 其中,Ein为社团C内的边权和,E_为社团C外的边权和。节点i和节点j为社团 C内的节点,节点〇为社团C外的节点。
[0076] 假设从某边开始出发,探测出包含该边的社团C,在社团C的增长过程中,它总是 不断的吸收社团的邻边,当把社团C内的节点与邻点u相连的边划分进社团C后,其结构函 数的增量为:
[0078] 由于本发明是对复杂网络中的边进行社团发现,也就是说被划分进社团的边的两 点也同时被划分进社团,所以社团中的点权之和等于社团内的边权和的二倍加上社团内的 点与社团外的点相连的边权和,即:
[0081] 其中,Sj表示节点j的点权,su为邻点u的点权,wui为点u与社团C内的点相连 的边权,wu。为点u与社团C外的点相连的边权。
[0082] 当AE(CUeui) > 0时,即当把社团C内的节点与邻点u相连的边划分进社团后, 社团C的结构更好。令AE(CUeui) > 0,则
[0084] 由式(7)可知,当社团C的邻点u与社团内的点相连的边权之和与点u的点权su 之比,大于社团C内的边权之和与社团内的点权和之比时,说明把社团C的邻点u与社团内 的节点相连的边划分进社团后,社团C的结构更好,因此,把邻点u与社团内点的相连的边 划分进社团C。
[0085] 从而可以得到是否将邻点u与社团内的节点的相连的边划分进社团C的局部社团 判断函数M(eui)的计算公式为:
[0087] 其中,u为社团C的邻点,su为邻点u的点权,wui为邻点u与社团C内的节点i相 连的边权,
为划分进社团C内的边权之和,
为社团内点的点权之和。
[0088] 图2是本发明中社团划分的流程图。如图2所示,从复杂网络中划分得到第m个 社团Cm的具体方法包括以下步骤:
[0089] S201 :初始化社团:
[0090] 从边序列E中选择第一个边(即边权最大的边)作为社团Cm的初始边加入社团Cm 的边集合Em,并将该边的两个端点划分进社团Cm的点集合Vm,即初始化社团Cm={Em,VJ。
[0091] S202 :统计当前社团的邻点集合:
[0092] 统计当前社团Cm的邻点集合U。
[0093] S203 :计算邻点u对应的局部社团判断函数:
[0094] 从邻点集合U中取出一个邻点记为u,计算邻点u对应的局部社团判断函数值 M(eui),根据公式(8)计算得到M(eui)。
[0095] S204 :判断是否M(eui) > 0,如果是,进入步骤S205,否则进入步骤S206。
[0096] S205 :添加社团节点和边:
[0097] 将邻点u及邻点u与当前社团Cm内的节点的所有边都划分进社团Cm,即将邻点u 加入点集合Vm,邻点u与当前社团Cm内的节点的所有边都加入边集合Em。由于社团Cm更新 了,那么其邻点集合U也要更新,因此返回步骤S202。
[0098] S206 :删除邻点u:
[0099] 从邻点集合U中删除邻点u,进入步骤S207。
[0100] S207 :判断邻点集合U是否为空,如果不是,返回步骤S203,否则社团停止生长,社 团Cm划分完毕。这是因为如果邻点集合为空,说明社团Cm的当前邻点邻点集合U中的所有 邻点均没有添加到社团中,即社团停止生长,那么社团Cm划分完毕。
[0101] S106 :更新边序列:
[0102] 从边序列E中将社团的边集合E中包含的所有边删除,即E=E-E
[0103] S107 :判断当前边序列E是否为空,如果是,即基于边的复杂网络社团划分结束, 进入步骤S109,否则进入步骤S108。
[0104] S108 :令m=m+1,返回步骤S105。
[0105] S109 :判断复杂网络中是否存在孤立点,如果是,进入步骤S110,否则不作任何操 作,直接进入步骤S111。
[0106] S110 :对孤立点划分社团:
[0107] 将每个孤立点分别作为一个社团,即该孤立点自身作为一个社团,进入步骤S111。
[0108] S111 :处理社团间的重叠点:
[0109] 在非孤立点的社团中,由于利用局部社团判断函数进行社团划分,在划分时可能 出现重叠点,即这些节点归属于两个或以上的社团,因此,还需要进一步对这些重叠点进行 细分。判断这些重叠点归属于被划分进的多个社团中的某一个社团,主要看这个点与哪个 社团的关系更紧密,最紧密的那个社团就是这个点的归属。依据这个原理,只需要找到重叠 点的邻边中与该点所属社团相同的所有边的边权和的最大值,拥有这个边权和最大值的社 团即为该重叠点所属的社团。具体方法为:
[0110] 记重叠点G被划分进P个社团,分别计算节点5的邻边中所有属于每个社团(;的 边权和Wp,也就是节点与社团Cp中节点的边的边权和,计算公式为:
[0112] 其中,p的取值范围为1彡p彡P。
[0113] 可见,总共得到P个边权和Wp,从中选择最大边权和对应的社团作为节点6的归属 社团,从其他社团中删除节点t在处理重叠点时,不对边进行操作,即只删除重叠节点,不 删除边。
[0114] 对每个重叠点均进行以上处理,使社团划分结果中不存在重叠点,得到最终的社 团划分结果。
[0115] 本发明还提供了一种复杂网络的社团重要节点发现方法。图3是复杂网络的重要 节点发现方法的流程图。如图3所示,本发明复杂网络的社团重要节点发现方法包括以下 步骤:
[0116] S301 :计算社团中各节点的点权:
[0117] 根据社团中各条边的边权,即公式(2)计算得到的边权,计算社团中各节点在社 团内的点权&,r表示社团的节点序号,取值范围为1 R表示社团中节点的数量。 点权S1?的计算公式为:
[0119] 其中,C表示节点r所在的社团,N,表示节点r的邻点集合,节点t同属于社团C, 并且是节点r的邻点,表示节点r和节点t的边的边权。
[0120] S302 :计算社团各节点的度中心性因子:
[0121] 节点r相对于其邻点t的度中心性因子Krt的计算公式为:
[0123]其中,k彦示节点r在社团C内的度,<k>为社团C的平均度,、/ <k>表示 节点r对社团C的度贡献,为社团C团的平均单位权,计算公式分别为:
[0126]S303:计算各节点到社团其他节点的平均最短距离:
[0127] 分别计算社团中各个节点r到社团C中其他节点的平均最短距离火为:
[0129] 其中,A1至AF表示节点r到节点t'之间最短路径所经过的中间节点,t'取值 范围为l<t'辛r<R。由于节点r和节点t'属于同一个社团C,因此总有连接这两个 节点的路径。4越小,说明节点r越接近网络中的其他节点,因此通过平均最短路径cU,就 可以计算得到节点r的接近度因子。
[0130]S304:计算各节点的接近度因子:
[0131] 计算节点r的接近度因子0^= 1/<。
[0132]S305:计算各节点受到邻点的影响因子:
[0133] 在社团C中,每个节点都会受到同一社团的邻点的影响,那么节点r受到同一社团 的邻点t的影响因子的计算公式为:Lrt= ?Dt。
[0134]S306:计算节点的重要度并排序:
[0135] 社团中节点的重要性不仅受该节点的度、点权、最短路径数的影响,还受它邻居节 点的影响,节点对其邻居节点的影响为自身因素,而邻居节点对这个节点的影响为附加因 素。综合上述因子的考虑,本发明提出了社团中节点的重要度函数,由两部分组成,一部分 是自身因素,另外一部分是附加因素。节点r的重要度计算公式为:
[0137] 将社团中的节点按计算得到的重要度从大到小进行排序。
[0138] 为了说明本发明的技术效果,采用具体的社团网络进行实
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1