当前位置: 首页 > 专利查询>福州大学专利>正文

基于三角形粗化与动态距离的重叠社区发现方法技术

技术编号:19779946 阅读:31 留言:0更新日期:2018-12-15 11:51
本发明专利技术涉及一种基于三角形粗化与动态距离的重叠社区发现方法,包括:读取网络数据集,生成网络图G;将G中的三角形融合为一个复合节点,多次迭代遍历直至粗化率达到一定阈值,结束粗化过程,得到粗化后的图G

【技术实现步骤摘要】
基于三角形粗化与动态距离的重叠社区发现方法
本专利技术涉及大规模网络上的重叠社区发现
,特别是一种基于三角形粗化与动态距离的重叠社区发现方法。
技术介绍
随着技术的飞速发展,事物之间联系更加紧密,形成的关系网络也更加错综复杂,正因如此,复杂网络分析成为近年来学者们研究的热点之一。例如蛋白质交互网络、计算机服务器网络、流行性疾病的传播网络、科学家合作网络等,已成为目前众多学者的研究对象。社区结构作为复杂网络的一大重要特性,表现为社区内节点连接紧密,社区间节点连接稀疏[1]。发现复杂网络中的社区结构能够更好地帮助研究人员了解网络的内在机制,改善其网络行为,对实际生活具有重要的应用价值为了高效准确的挖掘出复杂网络中的重叠社区结构,近些年已经有很多研究人员对其展开深入研究。重叠社区发现算法根据采取的策略不同,可以分为基于团的方法、基于标签传播的方法、基于边聚类的方法、基于种子扩张的方法等。这些算法在社区结构明显且大小均匀时可以较好的发现网络社区结构,但对于社区大小不均以及形状各异的网络,上述算法的效果较差。所以就有研究员提出了基于动态距离机制的社区发现算法。目前已有一些学者对基于动态距离机制的社区发现进行研究,也取得了一定的成果,但仍然存在以下两个问题:首先算法的时间复杂度相对较高,无法处理较大规模网络;其次,算法在处理节点社区归属时,将距离小于1的节点加入同一社区,忽略了节点的重叠特性,从而很难发现重叠社区。所以社区发现的精度不高。
技术实现思路
本专利技术的目的在于提供一种基于三角形粗化与动态距离的重叠社区发现方法,该方法可以高效、准确地对复杂网络的重叠结构进行划分。为实现上述目的,本专利技术的技术方案是:一种基于三角形粗化与动态距离的重叠社区发现方法,其包括以下步骤:步骤1:读取网络数据集,生成网络图G;步骤2:按照节点的度从小到大的顺序遍历G中的三角形,将构成三角形的三个节点融合为一个复合节点,多次迭代遍历直至粗化率达到一定阈值,结束粗化过程,得到粗化后的图Gcoar;步骤3:遍历Gcoar中的所有边,根据Jaccard距离公式初始化所有边对应节点的距离;步骤4:考虑同一条边的三种邻居对节点间距离的影响力,更新所有边对应节点的距离;经过多次迭代更新,节点间的距离将会趋于0或1;将距离为1的边切断,经过断边处理后,图结构中构成连通分支的节点属于同一社区,最终得到社区集合C;步骤5:根据节点与社区的相似度,对步骤4中距离为1的边所对应的节点进行重叠节点判断,将节点加入到相似度大于等于n的社区中,得到重叠社区集合Cover;n大于0;步骤6:根据社区与社区间的相似度,将Cover中社区节点数少于5的社区合并到与其相似度最大的社区中,更新重叠社区集合Cover;步骤7:将原始网络中的被复合节点加入到复合节点所属的社区中,得到最终的重叠社区集合C’;步骤8:输出最终的社区划分结果。在本专利技术一实施例中,在步骤1中,读取网络数据集,生成用于划分社区结构的网络图G=(V,E),其中V表示节点集,E表示边集。在本专利技术一实施例中,在步骤2中,对原始网络G进行粗化,包括以下步骤:步骤2.1:将网络中的节点按度大小升序排序,将序列记为nodesort;步骤2.2:初始化每个节点的标志位F(·);步骤2.3:按nodesort中的顺序依次取出节点,记为节点v,寻找由节点v构成的三角形,当构成三角形的三个节点的标志位均小于2且其余两个节点的度小于v的度时,将三个节点融合成一个复合节点vcomp,并将被复合节点的边关系映射融合到复合节点上,更新复合节点的邻居集及其边权重wcomp;步骤2.4:当遍历完nodesort中的所有节点后,便完成一层粗化,求出该层粗化的粗化率;ratecoar=(Gm-Gm-1)/G(1),其中,Gm-1存储该层粗化前的图结构信息,Gm中存储粗化后的图结构信息;步骤2.5:如果ratecoar大于给定阈值,则重复步骤2.1至2.5;反之将Gm-1中的图结构信息存储至Gcoar=(V’,E’)中,继续下列步骤。在本专利技术一实施例中,在步骤3中,遍历Gcoar中的所有边,根据Jaccard距离公式初始化所有边对应节点的距离,包括以下步骤:步骤3.1:遍历Gcoar的边集E’,基于Jaccard距离公式初始化所有边对应节点的距离的d(u,v);Jaccard距离公式如下:其中,Г(·)表示包含节点自身的邻居集。在本专利技术一实施例中,在步骤4包括以下具体步骤:步骤4.1:遍历Gcoar的边集E’,将边记为e=(u,v),当0<d(u,v)<1时,依次求出该边的直连邻居、共有邻居、专有邻居的影响力DI、CI、EI;DI、CI、EI定义如下:其中,f(·)为耦合函数,一般采用sin(·)函数,CN(u,v)为节点u,v的共同邻居集,EN(·)表示节点的专有邻居集,其定义如下:EN(u)=NB(u)-CN(u,v)(6);步骤4.2:设dist=d(u,v)+DI+CI+EI;步骤4.3:若dist≤0,d(u,v)=0;若0<dist<1,d(u,v)=dist;若dist≥1,d(u,v)=1。将距离更新至Gcoar中;步骤4.4:当所有边对应节点的距离均为0或1,终止迭代过程;反之,重复步骤4.1至4.4;步骤4.5:将Gcoar中距离为1的边切断,经过断边处理后,Gcoar中构成连通分支的节点属于同一社区,最终得到社区集合C。在本专利技术一实施例中,在步骤5中包括以下步骤:步骤5.1:将Gcoar中距离为1的边所对应的节点存入集合s中;步骤5.2:遍历s中的节点,记为u,求出节点u与社区Ck∈C的相似度,记为sim(u,Ck),n取0.5如果sim(u,Ck)≥0.5,则将节点加入Ck;节点与社区的相似度的定义如下:其中,NB(u)表示节点u不包含自身的邻居集,NB(Ck)表示社区Ck中所有节点不包含自身的邻居集的并集,|·|表示元素的数量;步骤5.3:更新社区信息,得到重叠社区集合Cover。在本专利技术一实施例中,在步骤6中,根据社区与社区间的相似度,将Cover中社区节点数少于5的社区合并到与其相似度最大的社区中,更新重叠社区集合Cover,包括以下步骤:步骤6.1:遍历Cover中的中节点数少于5的社区,记为Cl,计算该社区与其他社区的相似度simcom(Cl,Ck);其中社区与社区的相似度simcom(Cl,Ck)的定义如下:步骤6.2:将Cl加入到相似度最大的社区Ci中;步骤6.3:遍历完后,如果还存在节点数少于5的社区,则重复步骤5.1至6.3,否则将最新的社区结构更新到重叠社区集合Cover中。在本专利技术一实施例中,在步骤7中,根据粗化节点与原始节点的映射关系还原出原始网络,将原始网络中的被复合节点加入到复合节点所属的社区中,得到最终的重叠社区集合C’,包括以下步骤:步骤7.1:遍历Gcoar的节点集V’,将节点记为v,将v覆盖的原始节点加入到v所属的社区中,更新重叠社区集合Cover;步骤7.2:遍历完成后,将Cover中的社区信息存储至C’。在本专利技术一实施例中,在步骤8包括以下步骤:步骤8.1:将重叠社区集合C’中每个社区Ci’中的节点vi,j写本文档来自技高网...

【技术保护点】
1.一种基于三角形粗化与动态距离的重叠社区发现方法,其特征在于,包括以下步骤:步骤1:读取网络数据集,生成网络图G;步骤2:按照节点的度从小到大的顺序遍历G中的三角形,将构成三角形的三个节点融合为一个复合节点,多次迭代遍历直至粗化率达到一定阈值,结束粗化过程,得到粗化后的图Gcoar;步骤3:遍历Gcoar中的所有边,根据Jaccard距离公式初始化所有边对应节点的距离;步骤4:考虑同一条边的三种邻居对节点间距离的影响力,更新所有边对应节点的距离;经过多次迭代更新,节点间的距离将会趋于0或1;将距离为1的边切断,经过断边处理后,图结构中构成连通分支的节点属于同一社区,最终得到社区集合C;步骤5:根据节点与社区的相似度,对步骤4中距离为1的边所对应的节点进行重叠节点判断,将节点加入到相似度大于等于n的社区中,得到重叠社区集合Cover;n大于0;步骤6:根据社区与社区间的相似度,将Cover中社区节点数少于5的社区合并到与其相似度最大的社区中,更新重叠社区集合Cover;步骤7:将原始网络中的被复合节点加入到复合节点所属的社区中,得到最终的重叠社区集合C’;步骤8:输出最终的社区划分结果...

【技术特征摘要】
1.一种基于三角形粗化与动态距离的重叠社区发现方法,其特征在于,包括以下步骤:步骤1:读取网络数据集,生成网络图G;步骤2:按照节点的度从小到大的顺序遍历G中的三角形,将构成三角形的三个节点融合为一个复合节点,多次迭代遍历直至粗化率达到一定阈值,结束粗化过程,得到粗化后的图Gcoar;步骤3:遍历Gcoar中的所有边,根据Jaccard距离公式初始化所有边对应节点的距离;步骤4:考虑同一条边的三种邻居对节点间距离的影响力,更新所有边对应节点的距离;经过多次迭代更新,节点间的距离将会趋于0或1;将距离为1的边切断,经过断边处理后,图结构中构成连通分支的节点属于同一社区,最终得到社区集合C;步骤5:根据节点与社区的相似度,对步骤4中距离为1的边所对应的节点进行重叠节点判断,将节点加入到相似度大于等于n的社区中,得到重叠社区集合Cover;n大于0;步骤6:根据社区与社区间的相似度,将Cover中社区节点数少于5的社区合并到与其相似度最大的社区中,更新重叠社区集合Cover;步骤7:将原始网络中的被复合节点加入到复合节点所属的社区中,得到最终的重叠社区集合C’;步骤8:输出最终的社区划分结果。2.根据权利要求1所述的基于三角形粗化与动态距离的重叠社区发现方法,其特征在于:在步骤1中,读取网络数据集,生成用于划分社区结构的网络图G=(V,E),其中V表示节点集,E表示边集。3.根据权利要求1所述的基于三角形粗化与动态距离的重叠社区发现方法,其特征在于:在步骤2中,对原始网络G进行粗化,包括以下步骤:步骤2.1:将网络中的节点按度大小升序排序,将序列记为nodesort;步骤2.2:初始化每个节点的标志位F(·);步骤2.3:按nodesort中的顺序依次取出节点,记为节点v,寻找由节点v构成的三角形,当构成三角形的三个节点的标志位均小于2且其余两个节点的度小于v的度时,将三个节点融合成一个复合节点vcomp,并将被复合节点的边关系映射融合到复合节点上,更新复合节点的邻居集及其边权重wcomp;步骤2.4:当遍历完nodesort中的所有节点后,便完成一层粗化,求出该层粗化的粗化率;ratecoar=(Gm-Gm-1)/G(1),其中,Gm-1存储该层粗化前的图结构信息,Gm中存储粗化后的图结构信息;步骤2.5:如果ratecoar大于给定阈值,则重复步骤2.1至2.5;反之将Gm-1中的图结构信息存储至Gcoar=(V’,E’)中,继续下列步骤。4.根据权利要求1所述的基于三角形粗化与动态距离的重叠社区发现方法,其特征在于,在步骤3中,遍历Gcoar中的所有边,根据Jaccard距离公式初始化所有边对应节点的距离,包括以下步骤:步骤3.1:遍历Gcoar的边集E’,基于Jaccard距离公式初始化所有边对应节点的距离的d(u,v);Jaccard距离公式如下:其中,Г(·)表示包含节点自身的邻居集。5.根据权利要求1所述的基于三角形粗化与动态距离的重叠社区发现方法,其特征在于,在步骤4包括以下具体步骤:步骤4.1:遍历Gcoar的边集E’,将边记为e=(u,v),当0<d(...

【专利技术属性】
技术研发人员:刘漳辉项冰洁郭昆郭文忠陈羽中
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1