一种基于节点传播性能的局部社区发现方法与流程

文档序号:17757382发布日期:2019-05-24 21:24阅读:310来源:国知局
一种基于节点传播性能的局部社区发现方法与流程

本发明涉及复杂网络中的社区发现领域,具体涉及了一种基于节点传播性能的局部社区发现方法。



背景技术:

社区结构是复杂网络中一个重要的结构特征,近几年来备受关注。研究表明,社区结构往往与整个网络的组织结构和功能特征有密切联系,发现网络中的社区结构对揭示网络的群体特征和结构特征有极其重要意义。

社区结构就是网络中节点的分组,其中组内节点之间的联系较为密切,组与组之间的节点联系较为稀疏。同一社区内的节点在网络中具有相似的特征和功能,在整个网络中有特定的作用。研究复杂网络中的社区结构对于分析复杂网络拓扑结构、深入理解网络功能以及预测网络中个体的行为具有非常重要的意义,具有非常广泛的应用前景。

目前社区发现算法大致可以分为两类,基于全局的社区发现算法和基于局部的社区发现算法,其中基于局部的社区发现算法得到的越来越多的关注。目前局域局部的社区发现算法还存在精确度不高,社区扩张过程中容易出现大量重叠节点,导致形成冗余社区的缺点。



技术实现要素:

本发明所解决的技术问题是目前局部社区发现算法中精确度不高,社区划分过程中出现大量重叠节点导致冗余社区的问题。

本发明解决上述技术问题的技术如下:一种基于节点传播性能的社区发现方法,具体包括以下步骤:

s1、输入网络拓扑结构g(v,e),其中v是网络节点的集合,e是网络边的集合;

s2、计算网络中所有节点的传播性能σ(i),初始化所有节点标记;

s3、将局部传播性能最大的节点加入集合s;

s4、选取集合s中的节点作为社区扩张的起始节点进行社区扩张;

s5、社区扩张完毕后对网络中节点的标记进行修改;

s6、判断集合s中的节点是否满足终止条件,若是则执行步骤s4,否则进入步骤s7;

s7、判断网络中节点是否都满足终止条件,若是则输出划分结果,否则对不满足条件节点所属社区进行判断;

s8、判断网络剩余节点所属社区。

本发明的有益效果是:本发明提出了节点传播性能的概念,来衡量网络中节点的传播性能,选取局部传播性能最大的节点作为社区扩张的起始节点。在社区扩张过程中保证每个社区的起始节点不为其它社区的邻居节点。解决了社区扩张过程中因大量重叠节点导致的冗余社区,提高了算法精度。

附图说明

图1为本发明总流程图。

图2为本发明中f值计算示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,一种基于节点传播性能的局部社区发现方法,包括以下步骤:

s1、输入网络拓扑结构g(v,e),其中v表示网络中节点的集合,e表示网络边的集合;

s2、计算网络中所有节点的传播性能σ(i),初始化所有节点标记;

步骤s2具体包括以下步骤:

s21、计算网络所有节点传播性能σ(i)为:

公式(1)中n(i)为节点i的邻居的个数,σ(i,j)为节点i的邻居节点j在只经过节点i的邻居节点前提下最多到达节点i的邻居节点个数。

s22、初始化网络所有节点标记,将所有节点标记为false。

s3、将局部传播性能最大的节点加入集合s;

步骤s3具体包括以下步骤:

s31、按传播性能由大到小依次选取节点并与其周围邻居节点的传播性能进行比较,若该节点的传播性能大于周围邻居节点的传播性能则将其加入集合s。

s4、选取集合s中的节点作为社区扩张的起始节点进行社区扩张。

步骤s4具体包括以下步骤:

s41、选择集合s中传播性能最大且标记为false的节点作为社区扩张的起始节点,将周围邻居节点依次加入社区并计算加入前后的f值,若加入后的f值大于加入前的f值,则将节点加入社区,否则不加入。f值的计算方法为:

公式(2)中,如图2所示,本发明实施例中为社区c内部度数,为社区c外部度数。

s5、社区扩张完毕后对网络中节点的标记进行修改。

步骤s5具体包括以下步骤:

s51、将已扩张完毕社区内部节点标记由false改为true,将其周围标记为false的邻居节点的标记改为temp。

s6、判断集合s中的节点是否满足终止条件,若是则执行步骤s4,否则进入步骤s7。

步骤s6具体包括以下步骤:

s61、判断集合s中是否还有标记为false的节点,若是则执行步骤s4,否则执行步骤s6。

s7、判断网络中节点是否都满足终止条件,若是则输出划分结果,否则对不满足条件节点所属社区进行判断。

步骤s7具体包括以下步骤:

s71、判断网络中所有节点标记是否都为true,若是则输出社区划分结果,否则执行步骤s8。

判断网络中剩余节点所属社区。

步骤s8具体包括以下步骤:

s81、将网络中标签不为true的节点加入到其所有邻居社区中判断加入前后的f值,若加入后社区的f值大于加入前社区的f值则将该节点加入社区,标记改为true,每个节点可同时属于多个社区。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,在没有背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点看,均应将实例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。



技术特征:

技术总结
本发明涉及复杂网络中的社区发现领域,具体公开了一种基于节点传播性能的局部社区发现方法,一方面提出了一种衡量网络中节点中心性的方法,综合考虑节点自身的度数与其周围邻居之间的连接情况来衡量节点的中心性,选取局部传播性能最大的节点作为社区扩张的起始节点。另一方面在社区扩张过程中引入了节点标记,保证每个社区扩张的起始节点不为其它已扩张完毕社区的邻居节点。本发明避免了社区划分过程中大量重叠节点的现象,社区划分精确度高,适用于各种类型的网络。

技术研发人员:吴建;王梓权;易亿
受保护的技术使用者:重庆邮电大学
技术研发日:2019.01.10
技术公布日:2019.05.24
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1