复杂网络的一种快速局部社团划分算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基金项目:国家杰出青年基金(60225013);
国家自然科学基金(70431002)
收稿日期:2006-09-28 修回日期:2006-10-11
第24卷 第11期
计 算 机 仿 真
2007年11月
文章编号:1006-9348(2007)011-0082-04
复杂网络的一种快速局部社团划分算法
解㑇,汪小帆
(上海交通大学自动化系,上海200240)
摘要:为了快速准确地寻找大规模复杂网络的社团结构,文中基于节点度优先的思想,提出了一种新的寻找复杂网络中的局部社团结构的启发式算法。
该算法的基本思想是从待求节点出发,基于节点的度有选择性的进行广度优先搜索,从而得到该节点所在的局部社团结构。
由于该算法仅需要利用到节点的局部信息,因此时间复杂度很低,达到了线性的时间复杂度。
将该算法应用于社会学中经典的Zachary 网络,获得了满意的结果。
最后,还分析了如何对该算法加以改进以进一步提高准确度。
关键词:复杂网络;度;社团结构
中图分类号:N94;TP393 文献标识码:A
A Fa st A lgor ith m for D etecti n g L oca l Co mm un ity Structure
i n Com plex Networks
X I E Zhou,WANG Xiao -fan
(Depart m ent of Aut omati on,Shanghai J iaot ong University,Shanghai 200240,China )
ABSTRACT:I n order t o detect community structure in large -scale comp lex net w orks fast and correctly,a ne w heu 2ristic algorith m based on the idea of degree p reference is p r oposed in this work .Started fr om the node under consider 2ati on,this ne w algorith m intr oduces a degree -based alternative breadth -first search t o get the l ocal community structure of a node .Since this algorith m only requires l ocal inf or mati on of the node,its ti m e comp lexity is linear and thus is very l ow .This algorith m is app lied t o a classical s ocial net w ork,the Zachary net w ork,with satisfact ory result .Finally,an i m p r oved algorith m f or further enhancing the accuracy is discussed .KE YWO RD S:Comp lex net w ork;Degree;Community structure
1 引言
近几年来,复杂网络研究受到越来越多的关注,并渗透到从自然科学到工程科学甚至社会科学的多个领域[1,2]。
复杂网络可以用来描述人与人之间的社会关系[3],物种之间的捕食关系[4],计算机之间的网络联接[5],词与词之间的语义联系[6],科学家之间的合作关系[7],蛋白质之间的相互作用
[8]
,科研文章之间的引用关系
[9]
以及网页的链接结构
[9]
等等。
随着对网络性质的物理意义和数学特性的深入研究,人们发现许多实际网络都具有一个共同性质———社团结构。
也就是说,整个网络是由若干个“群”构成的,每个群内部的节点之间的连接非常紧密,但是各个群之间的连接却相对来说比较稀疏[4]。
揭示网络中的社团结构,对于了解网络结构与分析网络特性具有极为重要的意义。
社团结构分析在生
物学、物理学、计算机图形学和社会学中都有广泛的应用
[10-17]。
近年来,人们提出了许多算法来寻找复杂网络中的社团结构[18-23]。
然而,当网络的规模过于庞大时,寻找整个网络的全局社团结构的计算量是极大的。
另外,在很多情况下,关心的并不是整个网络的社团结构,而是网络中某一部分的社团结构。
比如,通常只关心社会网络中某个人所在的社团的结构,或者是万维网中某个网站所在社团的局部拓扑结构。
在这种情况下,就不希望消耗过多的时间来寻找全部的社团结构。
近期,寻找网络中某个节点所在的局部社团结构也开始受到关注[24-27]。
本文提出的就是一种分析局部社团结构的新算法。
从本质上来说,它是一种以某个节点为“核心”出发的多方向有选择性的广度搜索算法。
与目前提出的其它划分网络局部社团结构的算法相比,该算法主要具有以下两个优点:第一,其它算法是从某个节点出发进行等距离的逐层扩散搜索,因此,这些算法的准确与否绝大程度上取决于所选的初始节点
—
28—
在社团中所处的位置。
只有当这个节点处在它所在社团的中心位置时,利用这些算法得到的局部社团结构才是准确的。
而本文提出的算法是一种有选择性的搜索算法,因此,对于待求节点在网络中的初始位置没有任何要求。
第二,目前存在的大多数算法的复杂度都比较高,大部分在O(n2)甚至O(n3)的数量级,其中,n表示网络的节点数。
因此,它们很难用于分析大规模复杂网络。
而该算法的时间复杂度非常低,只有线性的时间复杂度。
因此,它可以适用于分析大规模的复杂网络的社团结构。
2 算法介绍及其复杂度分析
将网络中的每个节点看作具有游说能力的个体,它们不断地试图说服周围的节点成为自己所在社团的一员。
直观的,网络中节点的游说能力的强弱与节点的度的大小直接相关。
一个节点的度越大,它的游说能力就越强。
如果一个节点的度比它周围的所有邻居的度都要大,那么它很容易说服它周围的节点,加入它所在的社团。
相反,一个节点的度越小,它就越容易被周围的节点说服,而且趋向于被它的邻居中度最大的那个节点所说服,成为那个邻居所在社团的一员。
在这个思想上,从某个节点出发,寻找它所在的社团的基本算法流程如下:
1)初始化。
读入网络,对网络中每个节点都保存一个线性动态链表。
其中,链表的头结点记录下该节点的相关信息,包括节点的度,具有最大度的邻居节点的序号和该邻居节点的度。
而链表中的其他各个结点就分别对应了它的邻居节点。
这一步骤的时间复杂度为O(m),其中m为网络中边的条数。
2)对于某个指定的待求节点s,对它的各个邻居节点t:
①如果t的度小于s的度,而且t的其他邻居节点的度都小于s,就认为s是对t而言游说能力最强的节点,t被s成功说服,成为s所在社团的一员;
②如果t的度大于s的度,而且s的其它邻居节点的度都小于t,就认为t是对s而言游说能力最强的节点,s被t成功说服,成为t所在社团的一员;
③如果不满足上面两个条件,则认为s和t谁也不能说服谁,因此分别属于两个不同的社团。
而且,它们分别是这两个社团的“边缘节点”。
3)将那些被s说服或者是将s说服的节点作为新的初始节点,对它重复步骤2),直到所有社团内的点再也无法说服它的邻居,同时也不能被它的邻居所说服为止(即找到社团的所有“边缘节点”)。
这样,最终就可以找到待求节点所在的整个社团的结构。
以上第2)和第3)个步骤相当于对网络进行局部的广度优先搜索,所以时间复杂度为<O(m)。
该算法的流程图如图1所示。
特别的,如果要得到整个网络的社团结构,只需从任意一个节点出发,寻找它所在的社团;然后,再从该社团外的任意一个节点出发,寻找另一个社团,如此反复,
最终就可以找
图1 算法的流程图
到整个网络的社团结构。
在这种情况下,寻找网络的社团结构相当于对整个网络进行一次广度优先搜索,该步的时间复杂度为O(m)。
此时总的算法时间复杂度为O(m)+O(m)= O(m)。
对于稀疏网络而言,即有O(m)≈O(n),其中n表示节点的个数。
这是一个线性的时间复杂度。
3)算法的应用
下面以Zachary网络为例来看该算法在实际网络中的应用。
这是出自社会网络分析的一个经典问题。
20世纪70年代初期,W ayne Zachary用了两年的时间观察美国一所大学空手道俱乐部成员间的相互社会关系。
基于这些成员在俱乐部内部及外部的社会关系,W ayne Zachary构造了它们之间的关系网[28],如图2所示。
事有凑巧,在他调查过程中,该俱乐部的主管与校长之间因是否抬高俱乐部收费的问题产生了争执。
结果,这个俱乐部分裂成了两个分别以校长和主管为核心的小俱乐部。
Zachary网络在复杂网络的社团结构分析中已经成为一个经典的问题,成为了衡量网络社团结构划分算法准确性的标准。
下面利用该算法来分析这个网络。
假设需要知道节点13所在的社团结构。
首先,由图中可知,节点13的度为2,它有两个邻居节点:1和4。
其中,节点1的度为16,而节点4的度为6。
因此,节点13被节点1成功说服,成为节点1所在社团的一员,如图3(a)所示。
接着,考虑节点1。
它一共有十六个邻居节点,除了节点9、14、20和32这四个邻居节点与节点34(度为17)这个更有说服力的节点相邻以外,其它的12个节点都以它为最大度的邻居。
因此,节点1成功地说服了它周围包括节点13在内的的另外12个邻居,如图3(b)。
接下来,再考虑被节点1说服的那些邻居节点。
在这些节点中,除了节点6和节点7以外,其它的节点都没有能力再说服其它的节点,同时也不能再被其它的节点说服。
因
—
3
8
—
此,不必考虑它们,只需要考虑节点6和节点7。
显然,它们都是节点17的最大邻居,因此,它们说服了节点17,如图3
(c )。
图2 Zachary 研究的空手道俱乐部内部成员的关系网络
图2中节点1和节点33分别代表了俱乐部主管和校长,而方形和圆形的节点分别代表了分裂后的小俱乐部中的各个成员。
至此,就找到了待求节点13所在的社团。
跟原网络的实际分裂结果比较可知,除了节点14和节点20以外,其它的节点都被正确地划分到了该社团。
从图中可知,节点14和节点20正好位于两个社团“交界”的地方,因此,对于它们的划分具有一定的歧义性。
利用当前所有其它寻找网络社团结构的算法分析该网络,几乎总有一至四个节点不能被正确分类。
此外,正如Bagr ow 和Bollt 所指出的那样[25],Za 2
chary 作为一个社会的网络,当完全从网络的结构来研究它
的时候,并没有考虑到它作为社会网络时外界因素对它的影
响。
在不同的社会条件下,Zachary 网络的分裂存在多种可能性。
因此,只要在一定的误差范围内,都可以说算法是准确的。
图3 利用该算法分析Zachary 网络中节点13所在的社团结构
图3中,菱形标出的节点为当前正在考虑的节点,圆形标出的为待考虑的节点(即被当前节点说服或者是说服了当前节点的节点),矩形标出的为已经考虑过的节点。
值得指出的是,目前存在的其他局部搜索的算法,其准确性在很大程度上取决于待求节点在网络中的位置。
即使是在同一个社团内,从不同的初始节点出发,得到的结果有很大的差异。
只有对那些处于社团“中心”部位的节点(比如图2中的节点1),才能较为准确地找到它所在的社团结构。
而根据前面对该算法的分析和应用可以发现,该算法中的广度搜索不是一种简单的等距离逐层扩散,而是一种多方向的有选择性的递推搜索。
因此,利用该算法分析网络的社团结构,无论初始节点的位置如何,都能准确找到它所在的整个社团。
而且,从同一个社团内的不同节点出发,得到的结果是一样的。
比如,在Zachary 网络中,不论是位于社团边缘的节点13,还是社团中心节点1,甚至是靠近两个社团交界处的节点3、4,将它们作为待求节点来考虑,所得到的社团结构都是一样的。
这就充分地说明了该算法的准确性和稳定性。
4 算法的进一步改进
在实际网络中,有时可能出现同一社团内存在两个或多个较大度的hub 节点(如Zachary 网络中的节点33和34),或者是两个社团内的hub 节点直接有边连接的情况(如图4中的节点1和节点10)。
利用上述算法来分析这两种网络,处理的结果总是会将两个hub 节点视为在同一个社团内。
对于前一种情况,得到的结果是正确的,比如在Zachary 网络中,节点33和34应该属于同一个社团。
但是对于后一种情况,就会使原本应该分别位于两个社团的节点划分到同一个社团内。
比如在图4中,原本应该分别位于两个社团内的节点1和节点10就会因为节点1错误的被节点10说服而被归到同一个社团内。
为了区别这两种情况,避免出现错误的合并两个社团的情况,需要对该算法实行进一步的改进。
对于那些直接有边相连的hub 节点,它们之间不再是简单的说服与被说服的关系,而是一种“竞争与合作”的关系。
通过比较它们的共同邻居节点来判断它们究竟是“竞争”还是“合作”。
如果它们有大量相同的邻居节点,就认为这两个
—
48—
图4 两个社团的hub节点直接有边相连的网络实例
节点之间倾向于建立一种互惠互利的“合作”关系,共同说服与它们相邻的节点。
在这种情况下,它们属于同一个社团。
比如Zachary网络中的节点33和34,它们有半数以上的邻居节点相同。
一般的,可以定义一个阈值(比如0.),如果两个节点共同邻居的数目与它们所有邻居之比高于这个阈值,就认为有大量的相同邻居存在。
相反地,如果这两个节点之间几乎没有或者仅有少数的共同邻居节点,就认为它们之间趋向于形成一种彼此对立的“竞争”关系,各自说服自己周围的邻居。
如图4中的节点1和10,它们没有共同的邻居节点。
此时,它们属于不同的两个社团。
在此基础上,对于那些在两个社团的交界处,被两个不同社团的hub节点同时游说的节点,同样可以根据它们的邻居节点来判断它们更趋向于归属到哪一个社团。
如果它们的邻居大部分(超过一半以上)属于其中一个节点所在社团,则认为它们也更倾向于归属到那个社团。
比如,在Zachary 网络中的节点14,它同时被两个度较大的节点1和节点34所游说,而节点14的另外三个邻居全部被节点1游说成功,所以,节点14更倾向于被节点1所说服,即属于节点1所在的社团。
同样的,节点20也更倾向于节点1所在社团。
最终,网络中所有节点(包括位于社团交界处的边缘地段的节点)都被正确的划分到相应的社团内部。
比起未改进前有两个节点没有划分正确的结果,这样的改善结果还是令人满意的。
5 结论
本文基于节点度大小优先的思想,提出了一种新的局部社团结构的划分算法。
与目前存在的很多划分社团结构的算法相比,该算法不需要知道整个网络的拓扑结构,也不必事先知道社团数目,而且,对于待求节点在网络中的位置没有任何要求。
由于该算法仅仅需要知道节点的局部信息,因此算法复杂度很低,达到了线性的时间复杂度。
此外,该算法也可以应用于寻找整个网络的社团结构。
因此,该算法克服了当前许多算法的不足之处。
将该算法应用于社会学中经典的Zachary网络,获得了满意的结果。
参考文献:
[1] S N Dor ogovtsev and J F F Mendes.Evoluti on of net w orks[J].
Adv.Phys.,2002,51:1079-1187.[2] S H Str ogatz.Exp l oring comp lex net w orks[J].Nature,2001,
410:268-276.
[3] W W Zachary.An infor mati on fl ow model f or conflict and fissi on in
s mall gr oup s[J].Journal of Anthr opol ogical Research,1977,33:
452-473.
[4] M Girvan and M E J Ne munity structure in s ocial and
bi ol ogical net w orks[C].Pr A,2002,99:
7821-7826.
[5] M Fal outs os,P Fal outs os and C Fal outs os.On power-la w rela2
ti onshi p s of the internet t opol ogy[J].Computer Communicati ons Revie w,1999,29:251-262.
[6] R Ferrer i Cancho and R V Solé.The s mall-world of human lan2
guage[C].Pr oceedings of the Royal Society of London,2002,
268:2261-2266.
[7] M E J Newman.Scientific collaborati on net w orks[J].Phys.Rev.
E,2001,64:016132.
[8] H Jeong,S P Mas on,Z N O ltvai and A L Barabási.Lethality and
centrality in p r otein net w orks[J].Nature,2001,411:41-42. [9] R A lbert,H Jeong,A L Barabási.The dia meter of the World-
W ide W eb[J].Nature,1999,401:130.
[10] D Gibs on,J Kleinberg,P Raghavan.I nferringW eb communities
fr om link t opol ogy[C].Pr oceedings of the9th AC M Conference
on Hypertext and Hyper media,1998,225-234.
[11] G W Flake,S R La wrence,C L Giles,F M Coetzee.Self-or2
ganizati on and identificati on ofW eb communities[J].I EEE Com2
puter,2002,35:66-71.
[12] A L Adam ic,E Adar.Friends and neighbors on the W eb[J].
Social Net w orks,2003,25:211-130.
[13] S Shen-O rr,R M il o,SMangan,U A l w ork motifs in the
transcri p ti onal regulati on net w ork of Escherichia coli[J].Nature
Genetics,2002,31:64.
[14] R M il o,et w ork motifs:Si m p le building bl ocks of comp lex
net w orks[J].Science,2002,298:824.
[15] P Hol m e,M Huss,H Jeong.Subnet w ork hierarchies of bi ochem i2
cal pathways[J].B i oinfor matics,2003,19:532-538.
[16] M Girvan,M E J munity structure in s ocial and bi2
ol ogical net w orks[C].Pr oc.Natl.Acad.Sci.,2001,99:7821
-7826.
[17] P Gleiser,L munity structure in jazz[J].Advances
in Comp lex Syste m s,2003,6:565-573.
[18] B W Kernighan and S L in.A efficient heuristic p r ocedure for par2
titi oning graphs[J].Bell Syste m Technical Journal,1970,49:
291-307.
[19] M Fiedler.A lgebraic connectivity of graphs[J].Czech.Math.
J.,1973,23:298.
[20] A Pothen,H Si m on and K P L i ou.Partiti oning s parse matrices
with eigenvect ors of graphs[J].SI A M J.Matrix Anal.App l,
1990,11:430.
[21] Ne wman.Fast algorithm for detecting community structure in net2
works[J].Phys.Rev.E,2004,69:066133.
(下转第230页)
—
5
8
—
据和纹理映射关系以及模型之间的连结关系,数据可以转换为目前常用三维软件的二进制格式,如3.3ds、3.max和3. flt等,但这些文件并不能在网络上远程浏览,需要进一步生成能在网络上远程浏览的虚拟现实建模语言(V irtual Reality Modeling Language,VR ML),并完成从VR ML到X3D(Exten2 sible3D)的转换。
X3D整合正在发展的X ML、JAVA与流技术等先进技术,包括了更强大、更高效计算能力、渲染质量和传输速度。
目前随着网络带宽的提升,空间信息网络三维交互技术的研究与开发已经成为热点。
网上三维场景引擎产品主要有作为插件在I nternet Exp l orer网页上的MS V r m l2 V ie w2.0和德国B it m anagement公司的BS Contact浏览器等,后者也可以有自己的应用界面。
为了便于在网上传输和交互,作者在对VR ML[6]和X3D进行了深入研究的基础上,将几何模型包括对应的纹理映射关系数据写成了VR ML/X3D 文件(3.wrl),内嵌了所有纹理映射关系文件和预定义漫游路线,用户可以在本地或远程万维网上实时交互旋转、缩放和漫游,利用MS V r m l V ie w2.0和BS Contact浏览器进行了比较分析,从速度和显示交互的功能上看是BS Contact浏览器占优势,但从画面质量上看还是MS V r m l V ie w2.0明显好,如图4所示。
在我国,经过十多年的研究与开发也推出了大量的三维建模与虚拟现实产品,如武汉适普的3D B r ower、武大的Geostar和郑州普创的VRGI S等,但这些软件产品都只限于本机数据的读取,并未见报道能够支持万维网上远程三维场景的交互,只有米兰虚拟公司代理的基于B laxxun的汉化版浏览器插件(2005)支持万维网上远程三维场景的交互,但效果不太好。
因此,应该加强基于万维网的VR ML/X3D三维场景引擎研究与开发,形成中国特色的三维场景引擎产品,特别要与下一代互联网标准的制订与开发结合起来。
参考文献:
[1] 张祖勋,张剑清.数字摄影测量学[M].武汉:武汉测绘科技
大学出版社,1996.
[2] 朱英浩,张祖勋,张剑清.顾及地形的城市三维可视化方法研
究[J].武汉测绘科技大学学报.1998,23(3):199-203.
[3] 朱英浩,张祖勋,张剑清.基于Map I nf o的城市三维可视化GI S
[J].测绘通报,2000,(8):1-4.
[4] 张祖勋,张剑清,张世兴.单像房屋三维重建[C].第三届海峡
两岸测绘学术研讨会论文集,2001.17-20.
[5] 朱英浩,张剑清,张祖勋.利用摄像机构建数码城市模型[J].
测绘信息工程,2003,28(6):1-4.
[6] 黄铁军,柳健编译.VRML国际标准与应用指南[M],北京:电
子工业出版社,1999.
[作者简介]
朱英浩(1963.10-),男(汉族),浙江诸暨人,博
士,教授,主要研究地理信息的三维可视化与计算机
仿真;
张剑清(1946.2-),男(汉族),浙江杭州人,教授,
博士生导师,长期从事摄影测量与遥感等领域的研究,代表成果:数字化自动测图系统V irtuoZo,专著《数字摄影测量学》等;
张祖勋(1937.6-),男(汉族),江苏苏州人,教授,博士生导师,中国工程院院士,欧亚科学院院士,长期从事摄影测量与遥感等领域的研究,代表成果:数字化自动测图系统V irtuoZo,专著《数字摄影测量学》等。
(下接第85页)
[22] A Clauset,M E J Ne wman,C Moore.Finding community struc2
ture in very large net w orks[J].Phys.Rev.E,2004,70:
066111.
[23] S Fortunat o,V Lat ora and M Marchi ori.A Method t o Find Com2
munity Structure Based on I nfor mati on Centrality[J].Phys Rev
E,2004,70:056104.
[24] L da F Costa.Hub-based community finding[R].A rxiv cond-
mat,2004,0405022.
[25] J P Bagr ow and E M Bollt.A LocalMethod for Detecting Commu2
nities[J].Phys Rev E,2005,72:046108.
[26] A Clauset,Finding l ocal community structure in net w orks[J].
Phys Rev E,2005,72:026132.
[27] S Muff,F Rao and A Caflisch.Validati on of net w ork clusteriza2
ti on[R].Prep rint cond-mat,2005,0503252.
[28] W W Zachary.An infor mati on fl ow model f or conflict and fissi on
in s mall gr oup s[J].Journal of Anthr opol ogical Research,1977,
33:452-
473.
[作者简介]
解 㑇(1983-),女(汉族),湖南长沙人,上海交
通大学电子信息与电气工程学院自动化系控制理论
与控制工程专业在读硕士,主要研究方向为复杂网
络中的社团结构;
汪小帆(1967-),男(汉族),江苏句容人,上海交通大学电子信息与电气工程学院自动化系教授,博士生导师,从事混沌控制与复杂网络研究。
—
3
2
—。