基于路径相似度的社区检测方法

  • 格式:pdf
  • 大小:599.03 KB
  • 文档页数:6

第34卷第3期 内蒙古工业大学学报 J0URNAL OF INNER MONGOLIA UNIVERSITY 0F TECHNoLOGY 

文章编号:1001—5167(2015)03—0003—06 

基于路径相似度的社区检测方法 

刘维维,陈建芮 ,乌力吉 (内蒙古工业大学理学院,呼和浩特010051) 

摘要:本文提出一种基于相似度的复杂网络社区检测算法。在原有Kuramoto振荡器相位同步的 基础上,为了使两个连接振荡器的相位同步,两个不相连振荡器的相位异步,加入了基于路径的相 似度计算函数。节点的不同邻居有不同的亲密关系,有亲密关系的节点更有可能在一个社区,而 节点的相似度就是描述他们之间的亲密程度。在这种改进模型的基础上,整个网络会分为几个相 位值不同的同步簇。为了验证算法的性能,本文针对空手道网络,海豚网络进行了仿真并与已有 文献作相关比较取得一定的优势。 关键词:复杂网络;社区检测;相似度;同步;异步 中图分类号:0175.29 文献标识码:A 

0 引言 近年来,随着对各种各样网络的研究,例如社交网络,生物化学网络,信息网络等,发现这些网络既 不是传统的规则网络,也不是随机网络,而是具有与前两者皆不同的具有统计特征的网络,这样的一些 网络被学者们称之为复杂网络。复杂网络中的一个重要特性是社区结构。社区结构表现为社区内节点 间联系紧密,社区间联系稀疏的聚团性质。发现社区结构对于人们分析复杂网络的拓扑结构,在一定的 范围内对事物的发展和运行进行简单的预测具有非常重要的理论意义。 为了研究复杂网络中的社区结构,一些经典的算法如KerNighanLinl】 算法、谱平分算法(Spectral Bisection Method)I2],GN(Girvan--Newman)『3 算法等。近年来涌现了很多新的算法:吴建设等人_4 采 用基于Kuramoto振荡器相位同步的网络动力学社区检测算法,该算法加入负耦合强度,使不存在连接 的节点相位在振荡过程中相互分离,以此形成不同的同步簇,同时在标准的测试集中验证了该算法的有 效性和可靠性。陆蕊等人 给出了基于网络相位聚类模型进行社区检测算法,在该模型中,存在一对相 互作用的力,即相互吸引力和相互排斥力,由于这两对力的存在,网络中每个节点的相位跟它的所有邻 居节点的平均相位愈来愈接近,而跟它的所有非邻居节点的平均相位愈来愈远离,这样,当所有节点的 相位稳定不变时,节点的相位将根据连接关系自动聚类。陈建芮等人L6 基于模块矩阵动态演化社区检 测算法。该算法主要采用同步动态演化来进行社区检测,并给出DE M,DC M。两种算法。 

1 复杂网络社区结构划分算法 算法的基础模型是采用原Kuramoto_7 振荡器改进模型,在此基础上加入了基于路径的相似度函 数,函数中的参数可以根据网络的聚合程度进行调整。在复杂网络中,节点的不同邻居有不同的亲密关 

收稿日期:2015—06—15 作者简介:刘维维(1991一),女(汉族),内蒙古集宁人,在读硕士研究生,研究方向:运筹学与控制论。 *通讯作者:陈建芮(1979一),女,副教授,研究方向:应用数学。 基金项目:国家自然科学基金天元基金(No.71561020,61503203,11326239);内蒙古自治区自然科学基金(No. 2015MS0103);内蒙古自治区高等学校科学研究项目(No.NJZY13119)。 172 内蒙古工业大学学报 系,有亲密关系的节点更有可能在一个社区。例如在社会网络中,好朋友比普通朋友在一个社区的概率 要大,而节点的相似度使这种亲密程度很好的体现出来。 1.1 复杂网络动态演化模型 文献改进的Kuramoto振荡器E63相位同步模型如下: 

一 + ∑ 一 )+ ∑(1一a )sin( 一 ) (1) ’J-_1 ’J l 其中,K。>O,K ≤0,ei和60i表示第i个振荡器(节点i)的相位和固有频率,N是网络的节点数,也可 

以被网络最大的节点度或者第i个振荡器的度代替,正耦合系数K。使两个连接的振荡器之间的相位相 互聚集,而更重要的是,负耦合系数使两个不相连的振荡器之间的相位相互发散。当j是i的邻居时 a ===l,否则a。 一0。这样社区能够很好的检测出来。现将上式重写为: 

一 + ∑ ( 一 )+ ∑ ( 一 ) (2) ‘’JC-Ni ’JENi 其中N.表示i节点所有邻居的集合。加入的相似度能更好地体现节点间的亲密程度,由此实现高 

效的社区检测。本文所采用的相似度源于文献Do],在无向网络G(V,E)中,节点vi,vi的相似度定义如 下: (i,J)一 X Nl+ 2 X N2+A。X N3+…+ X N (3) N ,N:,N。,N 表示节点v。,v 之间长度分别为1,2,3,…,m的路径长度的数目,入 , , ,…,入 为 系数, 取值为网络平均度的路径长度次幂的倒数,即 

===去 ㈩ 

而从实验结果来看,参数的选择对网络社区划分结果也有很大的影响,这里选取的最长路径长度为 3,这样既保证了能够在相似度中体现足够多的局部信息,又没有很大的计算量。即 S 一 1×N1+ 2 X N2+ 3×N3 (5) 加入相似度S(i,j)后,本文所提出的相似度模型为: 

一 善Sosin( 一 )+ 善Sosin(0,一 ) (6) 公式(2)中,因为∞ 对本文提出的算法影响不大,所以在公式(6)中把mi删去,网络中的节点相位按 照网络模型(6)动态演化,整个网络会分为几个平均相位不同的同步簇。 1.2算法的详细流程 这一部分,将详细给出基于路径的相似度社区检测方法算法流程和具体步骤。 具体步骤如下: 第一步:根据已有的测试网络,输入相对应的网络邻接矩阵。 第二步:根据公式(5)计算节点问的相似度。 第三步:节点相位初始化。初始相位ei一般在Eo,2丌]内随机产生,给定正负耦合系数值,其中,K > 0,K ≤0。 第四步:在模型(6)中,网络中的每一个节点都对应一个相位值,通过(6)的动态演化,若可以使同一 个社区内的节点聚集,而不同社区间的节点相位相互分离,从而形成不同的同步族,则跳出程序,否则返 回第二步调整参数K的值,直到所有节点被正确的划分在不同的社区。 1.3 实验仿真与结果分析 在复杂网络中,一个社区中的节点连接是积极的,不同社区的节点连接是消极的。这里,本文使用 

一个有1O个节点的计算机生成网络来进行仿真。参数N一10,K 一6,K 一一3。 在图2(a)中,正方块代表一个社区,圆形块代表在一个社区,可以发现这样一个现象,不仅一个社区 间有连接,不同的社区间也有连接。这样,社区间的连接为社区的检测增加了难度。 第3期 刘维维等基于路径相似度的社区检测方法 173 图1 复杂网络算法流程图 Fig.1 Complex network algorithm flow chart 具体步骤如下: 第一步:计算机生成网络邻接矩阵为: 

W== 第二步:根据公式(5)计算节点间的相似度(因为篇幅较大,这里只保留小数点后两位数字)。 W== -1.01,1038,1.25,1.45,1.48,1.41,0.26,0.78,0.17,0.17 1.37,3.31,2.08,2.67,3.31,2.43,0.78,1.59,0.40,0.40 1.25,2.08,1.84,1.91,2.22,2.05,0.37,1.O1,0.23,0.23 1.45,2.67,1.91,2.67,2.86,2.24,0.74,1.49,0.39,0.39 1.48,3.31,2.22,2.86,3.98,2.92,0.99,1.66,0.81,0.81 1.41,2.43,2.05,2.24.2.92,3.03,0.87,1.62,1.17,1.17 0.26,0.78,0.37,0.74,0.99,0.87,1.34,1.5O,0.96,0.96 0.78,1.59,1.01,1.49,1.66,1.62,1.50,2.04,1.09,1.09 0.17,0.40,0.23,0.39,0.81,1.17,0.96,1.09,1.43,1.21 0.17,0.40,0.23,0.39,0.81,1.17,0.96,1.09,1.21,1.43 

0 0 0 O 0 O l 1 1 0 O 0 O 0 O 1 1 O O O 0 O 1 1 0 O 1 0 0 0 0 0 1 O O 1 O l 0 1 1 O 1 1 O 1 1 1 1 O 1 O 1 0 0 1 1 O 1 1 O O 0 O 1 O 1 1 0 0 0 0 1 0 1 1 1 1 0 O 0 l。1 O 0 1 O 0 O O l74 内蒙古工业大学学报 第三步:求解各个节点的相位值。这10个节点的初始相位值为 x(0)一(4.7204,1.6028,3.179,4.3924,5.5977,6.0274,3.4383,0.871,0.93804,1.618) 第四步:通过(6)的动态演化,发现节点1,2,3,4,5,6在一个社区,7,8,9,10在一个社区,如图2(b) 所示。 

(a) (b) 图2红色方块是一个社区,蓝色圆圈是一个社区。(a)社区网络结构图;(b)节点相位演化图 Fig.2 Square nodes are in the same community.Circle nodes are in the other community. (a)Topology structure of the network(b)State of the nodes evolving with time 1.4对标准测试集的仿真并与靳超进行对比 1.4.1 测试空手道俱乐部网络(ZacharFs karate club network) 这个网络是WayneZachary在1977年提出的n ,它作为benchmark被广泛地应用到进行社区检测 的实际网络。该网络由34个节点组成,代表了Karate俱乐部的成员,78条边代表了成员之间的友谊关 系,由于俱乐部中主管和校长之间产生了矛盾,导致该俱乐部分裂成了分别以主管和校长为中心的两个 小的俱乐部。图3(a)(c)是本文所提出算法的实验结果,(b)(d)是文献[4]算法。其中K。一40,K 一一 30。 由图3易见,本文所提出的算法在划分社区结果上更为直观,而且不需要后处理。文献[43在划分 结果不明显时还需要进行后处理,进一步计算模糊节点的归属社区。 由图4可见,我们的算法社区划分结果更好,两个社区独立划分,不存在模糊不清的社区。 1.4.2测试海豚社会网络 这个网络是对生活在新西兰神奇湾的62只海豚经过7年的研究构造的[1引,网络的节点代表62只 海豚,经过从1994年到2001年问的长期观察,建立了这些海豚之间的社会关系,这些社会关系组成了 节点之间的连接边,如果一对海豚之间的联系比偶然预计的联系更频繁,则它们之间建立连接边。该海 豚关系网络自动分裂成了两个较小的族群,即该网络结构由两个社区组成。图4(a)是本文所提出算法 的实验结果,图4(b)是文献I-4]算法。其中K。一5,K 一一3。