CN102819611B - 一种复杂网络局部社区挖掘方法 - Google Patents

一种复杂网络局部社区挖掘方法 Download PDF

Info

Publication number
CN102819611B
CN102819611B CN201210306321.5A CN201210306321A CN102819611B CN 102819611 B CN102819611 B CN 102819611B CN 201210306321 A CN201210306321 A CN 201210306321A CN 102819611 B CN102819611 B CN 102819611B
Authority
CN
China
Prior art keywords
node
community
local community
network
initial local
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.)
Expired - Fee Related
Application number
CN201210306321.5A
Other languages
English (en)
Other versions
CN102819611A (zh
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201210306321.5A priority Critical patent/CN102819611B/zh
Publication of CN102819611A publication Critical patent/CN102819611A/zh
Application granted granted Critical
Publication of CN102819611B publication Critical patent/CN102819611B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及网络技术领域,具体涉及到一种复杂网络局部社区挖掘方法,能够有效识别复杂网络的局部社区结构,具有较低的时间复杂度,误划分的节点数较少,包括如下步骤:以网络中的最大度节点为起始节点,计算其邻居节点,获得其邻居节点集;找到与最大度节点拥有最多共同邻居节点的节点;以此两个节点组成初始局部社区;获得初始局部社区的各邻居节点接近度,取接近度最大的节点加入初始局部社区形成新的初始局部社区;计算初始局部社区的Q值;重复上述步骤,直到形成新的初始局部社区Q值大于0或网络中节点为空。

Description

一种复杂网络局部社区挖掘方法
技术领域
本发明涉及网络技术领域,具体涉及到一种复杂网络局部社区挖掘方法。
背景技术
近年来复杂网络已经得到了广泛的应用,如在线社会网络、科学家合作关系网等,但目前复杂网络还没有精确严格的定义。随着对复杂网络性质的物理意义和数学特性的深入研究,发现很多实际网络中存在社区结构,即整个网络由若干个社区构成,每个社区内部节点之间的连接相对紧密,但各个社区之间的连接相对来说比较稀疏。能够在大型复杂网络中快速发现“社区”具有重要的实际应用价值,如在线社会网络中的社区可能代表的是根据共同爱好而形成的真实的社会团体。
如何在复杂网络中进行正确的社区划分成为当前复杂网络研究中的一个热点。为了寻找复杂网络中的社区结构,研究人员提出了多种全网络的社区划分算法,例如CNM算法、GN算法、LP算法等。然而,当网络规模过于庞大时,获得全局信息非常困难,特别是不断动态变化的网络,如互联网,另外,在很多情况下,研究人员关注的是网络的局部社区结构,例如,在社会网络中搜索时通常只关心某些具有重大影响力的人所在的社区,而不需要了解整个社会网络的社区结构,在这种情况下,就不需要耗时划分网络的全局社区结构,而只需搜索网络中某个局部社区。
近期,研究者提出了多种局部社区发现算法,例如一种基于Hub的挖掘社区结构的方法,该算法需要事先知道网络社区的数目,而在现实网络中很难事先知道网络社区的数目;再如BB算法,其为寻找某个节点所在社区结构的局部方法,该算法缺陷在于它把社区整个一层邻居节点全部加入或全部排除在社区之外。
发明内容
有鉴于此,为了解决上述问题,本发明公开了一种复杂网络局部社区挖掘方法,能够有效识别复杂网络的局部社区结构,具有较低的时间复杂度,误划分的节点数较少。
本发明的目的是这样实现的:复杂网络局部社区挖掘方法,其特征在于:包括如下步骤:
1)以网络中的最大度节点为起始节点,计算其邻居节点,获得其邻居节点集;
2)找到与最大度节点拥有最多共同邻居节点的节点;
3)将步骤1)获得的起始节点与步骤2)获得的与最大度节点拥有最多共同邻居节点的节点组成初始局部社区;
4)获得初始局部社区的邻居节点的接近度,取网络中接近度最大的邻居节点加入初始局部社区形成新的初始局部社区,若接近度最大的邻居节点不止一个,则将这些接近度最大的邻居节点同时加入初始局部社区形成新的初始局部社区;
5)计算步骤4)的初始局部社区的Q值;
6)重复步骤4-5),直到形成新的初始局部社区Q值大于0或网络中节点为空。
进一步,所述步骤1)中,所述网络以G=(V,E)表示,其中,V表示网络节点的集合,E表示网络连接的集合,找到V中度最大的节点va,计算其邻居节点集N(va),N(va)={j|节点j与节点va直接相连},并令V=V-va
进一步,所述步骤2)中,在N(va)中找到与最大度节点va拥有最多共同邻居节点的节点vb,同享邻居数通过下式计算:
W(va,vb)=|N(va)∩N(vb)|。
进一步,所述步骤3)中:令初始局部社区C=va+vb,令V=V-vb,令局部社区C的Q值Q(C)=1。
进一步,所述步骤4)中:具体包括如下步骤:
41)利用下式,获得初始局部社区C在网络中的邻居节点集N(C):
N ( C ) = ∪ i = 1 | C | N ( i ) - ∪ i = 1 | C | i ;
42)利用下式,计算N(C)中每一节点的接近度:
F ( i , C ) = K i in K i Σ i ∈ N ( C ) , j ∈ C d ij ;
其中i∈N(C),Ki表示节点i的度数,表示节点i与社区C内部节点的连接数,dij表示节点i与节点j之间的最短路径;
43)加入接近度最大的节点vx到初始局部社区C,C=C+vx,V=V-vx
进一步,所述步骤5)中,利用下式,计算初始局部社区C的Q值Q(C):
Q ( C ) = E in ( C ) E in ( C ) + E out ( C ) - E in ( C - { i } ) E in ( C - { i } ) + E out ( C - { i } ) ;
其中i为最后加入社区C的节点或节点集,Eout(C)为社区C与社区C外部的连接数,Ein(C)为社区C内部的边数;当|C|为2时,令Q(C)=1。
本发明的有益效果如下:
以已成为验证社区发现算法的基准网络-“Zachary空手道俱乐部网络”数据集为实验数据,本发明所得实验结果与实际结果相比,只错误划分一个节点(节点编号是3),有研究者指出,此节点的社区归属具有歧义性;GN算法将实验数据划分为5个社区,其时间复杂度为0(n3);FN算法将实验数据划分为3个社区,其时间复杂度为O((m+n)n);LP算法将实验数据划分为2个社区,其时间复杂度接近线性,但是LP算法划分结果不唯一,存在随机性;相比以上现有技术,本发明具有算法时间复杂度低,准确度高的优点。
附图说明
图1示出了复杂网络局部社区挖掘方法的流程示意图。
具体实施方式
定义
令G=(V,E)表示具有n个结点、m条边的无向无权复杂网络。其中,V表示网络节点的集合,E表示网络连接的集合,C为一局部社区网络节点的集合,|C|为C的节点数,以下列出与本发明相关的概念及定义:
定义1(邻居节点集)节点i的邻居节点集定义为:N(i)={j|节点j与节点i直接相连}
具有n个节点的局部社区C的邻居节点集定义为:
N ( C ) = ∪ i = 1 n N ( i ) - ∪ i = 1 n i - - - ( 1 )
定义2(共享邻居数)对于G中的节点i和其邻居节点j的共享邻居数定义如下:
W(i,j)=|N(i)∩N(j)|    (2)
定义3(节点接近度)节点接近度是指节点i对局部社区C的接近程度。节点i的接近度定义如下:
F ( i , C ) = K i in K i Σ i ∈ N ( C ) , j ∈ C d ij - - - ( 3 )
其中i∈N(C),Ki表示节点i的度数,表示节点i与社区C内部节点的连接数,dij表示节点i与节点j之间的最短路径。F(i,C)值越大,表示节点i与社区C连接越紧密。
定义4(社区Q值)
Q ( C ) = E in ( C ) E in ( C ) + E out ( C ) - E in ( C - { i } ) E in ( C - { i } ) + E out ( C - { i } ) - - - ( 4 )
其中i为最后加入社区C的节点或节点集,Eout(C)为社区C与社区C外部的连接数,Ein(C)为社区C内部的边数;当|C|为2时,令Q(C)=1。本文中的Q值,可以理解为是社区的一个新属性,是判断一个新节点加入初始局部社区的衡量标准;与网络模块性函数Q不同。
参见图1,本发明的复杂网络局部社区挖掘方法包括如下步骤:
1)以网络中的最大度节点为起始节点,计算其邻居节点,获得其邻居节点集;具体的,所述网络以G=(V,E)表示,其中,V表示网络节点的集合,E表示网络连接的集合,找到V中度最大的节点va,计算其邻居节点集N(va),N(va)={j|节点j与节点va直接相连},并令V=V-va
2)在N(va)中找到与最大度节点va拥有最多共同邻居节点的节点vb,同享邻居数通过下式计算:
W(va,vb)=|N(va)∩N(vb)|。
3)将步骤1)获得的起始节点与步骤2)获得的与最大度节点拥有最多共同邻居节点的节点组成初始局部社区C,C=va+vb,令V=V-vb,令局部社区C的Q值Q(C)=1。
4)获得初始局部社区的邻居节点的接近度,取网络中接近度最大的邻居节点加入初始局部社区形成新的初始局部社区,若接近度最大的邻居节点不止一个,则将这些接近度最大的邻居节点同时加入初始局部社区形成新的初始局部社区;具体包括如下步骤:
41)利用下式,获得初始局部社区C在网络中的邻居节点集N(C):
N ( C ) = ∪ i = 1 | C | N ( i ) - ∪ i = 1 | C | i ;
42)利用下式,计算N(C)中每一节点的接近度:
F ( i , C ) = K i in K i Σ i ∈ N ( C ) , j ∈ C d ij ;
其中i∈N(C),Ki表示节点i的度数,表示节点i与社区C内部节点的连接数,dij表示节点i与节点j之间的最短路径;
43)加入接近度最大的节点vx到初始局部社区C,C=C+vx,V=V-vx
5)利用下式,计算步骤4)获得的初始局部社区C的Q值Q(C):
Q ( C ) = E in ( C ) E in ( C ) + E out ( C ) - E in ( C - { i } ) E in ( C - { i } ) + E out ( C - { i } ) ;
其中i为最后加入社区C的节点或节点集,Eout(C)为社区C与社区C外部的连接数,Ein(C)为社区C内部的边数;当|C|为2时,令Q(C)=1。
6)重复步骤4-5),直到形成新的初始局部社区Q值大于0或网络中节点为空,则输出新的初始局部社区作为结果局部社区。
由式(3)可以看出,节点接近度的计算与新加入节点的连接数以及节点间的最短路径有关,本文采用Dijkstra算法计算节点间的最短路径,该算法计算单源结点最短路径的时间复杂度为O(mlog(n)),m为网络的总边数,n为网络的节点数,因此,计算节点接近度的时间复杂度为O(dmlog(n)),d为节点的平均度;在式(4)中,Q(C)的计算只与社区内外部的连接数有关,计算Q(C)的时间复杂度为O(d),因此,本发明算法的时间复杂度是O(dmlog(n))+O(d)=O(dmlog(n))。现实世界中的网络通常是稀疏网络,即m=O(n),因而本文算法在识别稀疏网络局部社区时的时间复杂度为O(nlog(n))。

Claims (3)

1.复杂网络局部社区挖掘方法,其特征在于:包括如下步骤:
1)以网络中的最大度节点为起始节点,计算其邻居节点,获得其邻居节点集;所述网络以G=(V,E)表示,其中,V表示网络节点的集合,E表示网络连接的集合,找到V中度最大的节点va,计算其邻居节点集N(va),N(va)={j|节点j与节点va直接相连},并令V=V-va
2)找到与最大度节点拥有最多共同邻居节点的节点;
3)将步骤1)获得的起始节点与步骤2)获得的与最大度节点拥有最多共同邻居节点的节点组成初始局部社区;
4)获得初始局部社区的邻居节点的接近度,取网络中接近度最大的邻居节点加入初始局部社区形成新的初始局部社区,若接近度最大的邻居节点不止一个,则将这些接近度最大的邻居节点同时加入初始局部社区形成新的初始局部社区;具体包括如下步骤:
41)利用下式,获得初始局部社区C在网络中的邻居节点集N(C):
N ( C ) = ∪ i = 1 | C | N ( i ) - ∪ i = 1 | C | i ;
42)利用下式,计算N(C)中每一节点的接近度:
F ( i , C ) = K i in K i Σ i ∈ N ( C ) , j ∈ C d ij ;
其中i∈N(C),Ki表示节点i的度数,表示节点i与社区C内部节点的连接数,dij表示节点i与节点j之间的最短路径;
43)加入接近度最大的节点vx到初始局部社区C,C=C+vx,V=V-vx
5)利用下式,计算步骤4)的初始局部社区C的Q值Q(C):
Q ( C ) = E in ( C ) E in ( C ) + E out ( C ) - E in ( C - { i } ) E in ( C - { i } ) + E out ( C - { i } ) ;
其中i为最后加入社区C的节点或节点集,Eout(C)为社区C与社区C外部的连接数,Ein(C)为社区C内部的边数;当|C|为2时,令Q(C)=1;
6)重复步骤4-5),直到形成新的初始局部社区Q值大于0或网络中节点为空。
2.如权利要求1所述的复杂网络局部社区挖掘方法,其特征在于:所述步骤2)中,在N(va)中找到与最大度节点va拥有最多共同邻居节点的节点vb,同享邻居数通过下式计算:
W(Va,vb)=|N(va)∩N(Vb)|。
3.如权利要求2所述的复杂网络局部社区挖掘方法,其特征在于:所述步骤3)中:令初始局部社区C=va+vb,令V=V-vb,令局部社区C的Q值Q(C)=1。
CN201210306321.5A 2012-08-27 2012-08-27 一种复杂网络局部社区挖掘方法 Expired - Fee Related CN102819611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210306321.5A CN102819611B (zh) 2012-08-27 2012-08-27 一种复杂网络局部社区挖掘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210306321.5A CN102819611B (zh) 2012-08-27 2012-08-27 一种复杂网络局部社区挖掘方法

Publications (2)

Publication Number Publication Date
CN102819611A CN102819611A (zh) 2012-12-12
CN102819611B true CN102819611B (zh) 2015-04-15

Family

ID=47303722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210306321.5A Expired - Fee Related CN102819611B (zh) 2012-08-27 2012-08-27 一种复杂网络局部社区挖掘方法

Country Status (1)

Country Link
CN (1) CN102819611B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020267B (zh) * 2012-12-26 2016-01-20 上海交通大学 基于三角簇多标签传播的复杂网络社区结构挖掘方法
CN103198432B (zh) * 2013-04-12 2014-11-05 中国科学院计算技术研究所 在线社会网络中网络群体的检测方法及系统
CN104850728B (zh) * 2015-02-10 2018-07-24 湖南大学 一种基于平均场理论和扩展系数的社会网络度分析方法
CN105405058A (zh) * 2015-12-16 2016-03-16 上海电机学院 博客社区识别方法
CN108763497A (zh) * 2018-05-30 2018-11-06 河南科技大学 一种基于中心节点扩展的社区发现方法
CN109345403A (zh) * 2018-09-04 2019-02-15 河海大学 一种基于局部模块度的层次重叠社区发现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383748A (zh) * 2008-10-24 2009-03-11 北京航空航天大学 一种复杂网络中的社区划分方法
CN102571954A (zh) * 2011-12-02 2012-07-11 北京航空航天大学 基于节点核心影响力的复杂网络聚类方法
CN102571431A (zh) * 2011-12-02 2012-07-11 北京航空航天大学 针对复杂网络的基于群思想改进的Fast-Newman聚类方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383748A (zh) * 2008-10-24 2009-03-11 北京航空航天大学 一种复杂网络中的社区划分方法
CN102571954A (zh) * 2011-12-02 2012-07-11 北京航空航天大学 基于节点核心影响力的复杂网络聚类方法
CN102571431A (zh) * 2011-12-02 2012-07-11 北京航空航天大学 针对复杂网络的基于群思想改进的Fast-Newman聚类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《一种基于局部信息的社区发现方法》;任永功等;《计算机工程》;20110430;第37卷(第7期);正文第12-14、23页 *
《一种局部最优社区挖掘方法》;吴龙庭等;《计算机应用研究》;20090831;第26卷(第8期);正文第2555-2857、2894页 *

Also Published As

Publication number Publication date
CN102819611A (zh) 2012-12-12

Similar Documents

Publication Publication Date Title
CN102819611B (zh) 一种复杂网络局部社区挖掘方法
CN104462190B (zh) 一种基于海量空间轨迹挖掘的在线的位置预测方法
Zhang et al. Exact solution for mean first-passage time on a pseudofractal scale-free web
Yu et al. Hierarchical clustering in minimum spanning trees
CN102810113B (zh) 一种针对复杂网络的混合型聚类方法
CN107784598A (zh) 一种网络社区发现方法
CN104102745A (zh) 基于局部最小边的复杂网络社团挖掘方法
CN104077438B (zh) 电网大规模拓扑结构构建方法与系统
CN104391907B (zh) 一种可变解析度的快速路径搜寻方法
CN102571431B (zh) 针对复杂网络的基于群思想改进的Fast-Newman聚类方法
CN103020163A (zh) 一种网络中基于节点相似度的网络社区划分方法
CN102890703A (zh) 一种网络异质多维标度方法
CN107742169A (zh) 一种基于复杂网络的城市公交网络系统构建方法及性能评估方法
CN107945037A (zh) 一种基于节点结构特征的社交网络去匿名化方法
CN105447595A (zh) 一种基于谱聚类算法的景点路线推荐方法
CN105162654A (zh) 一种基于局部社团信息的链路预测方法
CN103729467A (zh) 一种社交网络中的社区结构发现方法
CN108536825A (zh) 一种识别房源数据是否重复的方法
Bi et al. MM-GNN: Mix-moment graph neural network towards modeling neighborhood feature distribution
CN105045967A (zh) 基于集团度的复杂网络重要节点排序方法及模型演化方法
CN103065321B (zh) 一种图像特征点匹配模块的面向对象系统框架建立方法
CN114090860A (zh) 一种加权网络节点重要性确定方法及系统
CN105488247A (zh) 一种k均值社团结构挖掘方法及装置
Liu et al. Simga: A simple and effective heterophilous graph neural network with efficient global aggregation
CN102902896B (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150415

Termination date: 20160827