基于虚拟力的社团发现算法研究

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

第12卷第2期 2015年6月 复杂系统与复杂性科学 

CoMPLEX SYSTEMS AND COMPLEXITY SCIENCE Vol_12 No.2 

Jun. 2015 

文章编号:1672—3813(2015)02—0091—06;DOI:10.13306/j.1672—3813.2015.02.014 

_ 基于虚拟力的社团发现算法研究 顾亦然,孟繁荣,戴晓罡 (南京邮电大学自动化学院南京21023) 

摘要:针对现有的社团划分算法过分粒度化和基于模块度优化存在的局限性,本文引 入万有引力的思想,假设社团是由节点之间存在虚拟力牵引聚集而成,提出了一种基 于虚拟力作用的社团划分算法。在已知社团结构的真实网络中与GN算法、CNM 算法等经典算法对比测试,发现本算法不仅能够给出更加准确的网络的社团结构,还 具有较高可靠性和接近线性的时间复杂度。 关键词:复杂网络;社团结构;虚拟力作用 中图分类号:TP3916.7 文献标识码:A 

A Vritual Force-Based Community Detecting Algorithm for Complex Networks GU Yiran,MENG Fanrong,DAI Xiaogang (Collage of Automation,Nanjing University of Posts and Telecommunications,Nangjing 210023,China) 

Abstract:In view of the existing community partition algorithms too granular and the limitation of optimization based on the modularity,this paper proposes a community partition algorithm based on gravity,which the relation between the adjacent vertices is considered as attraction while the relation between the non—adjacent vertices is repulsion.The community structure is formed by the self_organization of vertices which are influenced by the virtual force from their neighbors. Compared with GN and CNM algorithm in the reality of the network which known community structure,the algorithm in this paper has high reliability and nearly linear time complexity. Key words:complex networks;community structure;virtual gravity 

0 引言 复杂网络中的社团结构是网络拓扑研究中一直受到广泛关注的特性。社团内部和外部之间的联系却十分稀 疏,群体之间所蕴藏的信息,对于社会学、经济学、生物学等问题的深入研究具有重要的现实意义。因此,对未知 的网络快速有效进行社团的检测,有助于以一种分而治之的方式研究整个网络的模块、功能及其演化,更准确地 理解复杂系统的组织原则、拓扑结构与动力学特性。然而,针对未知网络的社团划分,很早就被证明是一个NP 难题,迄今为止没有令人满意的结果l_1]。 2001年,Girvan和NewmanE 提出了GN算法,掀起了研究社团划分的热潮,近几年它已成为社团结构分析 的一种标准算法。但其最大弱点在于无法判断何时终止算法,导致最终划分出的社团过分粒度化。为了解决这 个问题Newman等[3 引入了“模块度”这一概念,作为衡量网络划分质量的标准。为了确定峰值的位置,通常需 要重复运行GN算法,这使得算法的时间复杂度大大上升,因此它通常适用于中等规模的网络(节点数在10 000 以下的)。Newman_4 于2004年在GN算法基础上提出了Newman快速算法,采用模块度增量取代模块度作为 衡量网络划分程度的标准,使得算法的时间复杂度大大降低。Clauset等L5 采用堆的数据结构来计算和更新网络 

收稿日期:2014—1O一16:修回日期:2014—12—31 基金项目:国家自然科学基金(61373136);教育部人文社科规划基金(12YJAZH120) 作者简介:顾亦然(1972一),女,江苏金坛人,博士,教授,主要研究方向为复杂网络理论与应用,嵌入式系统,通信网络等。 复杂系统与复杂性科学 2O15年6月 的模块度,提出了一种新的贪婪算法一CNM算法。该算法使Newman快速算法的速度得到进一步提高,已接近 线性复杂度。 然而,“模块度”作为社团划分标准具有一定的局限性[6],即分辨率限制。基于模块度的优化算法用于实际应 用网络很有可能无法识别出许多实际存在的小规模社团。尽管有的时候可以通过引入分辨率系数得到不同规模 的社团结构,但是人们事先并不知道实际网络社团大小的分布,无法确定分辨率系数。 此外,大规模复杂网络的社团结构往往具有重叠的特征,即一个结点属于不同社团。GN算法及其延伸算法 都存在一个问题,即一个节点最终只能从属于一个社团。然而现实情况往往与此不同,每个节点在不同情况下可 能拥有多个不同的身份。针对这一问题,Palla等 提出了一种派系过滤算法来分析具有重叠性的社团结构,引 入了志一派系社团(网络中包含k个节点的全耦合子图)的概念。2010年Ahn等Ⅲ提出了检测具有重叠性和层次 性的社团结构的新思路——连边检测算法。但是针对一个节点从属多个社团的问题,没能够给予一定的解决。 虽然国内外关于复杂网络的社团划分方面的研究已取得了不少成果,但这些解决问题的方法都存在不少问 题,即算法通常为某种特定网络或者针对网络某种特性而设计,无法适用于多数网络。2013年,本团队提出了一 种新的社团划分算法——基于虚拟力的社团划分方法rg],适用于分析较大规模的网络,具有较好的普适性。本文 在之前工作的基础上,针对二维空间上的映射杂乱无章,节点演化时跳动过于剧烈和节点最终需要较长时间达到 稳定等问题算法进行了优化,提高计算速度及准确率,使得算法更具普适性。 

l基于虚拟力的社团划分算法 1.1基本思想及定义 早在17世纪,牛顿就提出了著名的“万有引力”定律,成为了解开天体运行秘密的金钥匙。近年来,将万有引 力的思想引入到力学之外领域进行的社会经济信息方面的研究也取得一些成果 。 这里将“万有引力”定律引入复杂网络社团划分研究中,其基本思想就是将相连节点之间的相互关系看作是 虚拟引力,不相连节点的相互关系看作是虚拟斥力,让各节点在虚拟引力和虚拟斥力的合力作用下不断被牵引, 直到节点以社团的形式聚集。 两个相连节点i, 之间的虚拟引力Fa 为 %=G 等一 一Ggdldj ̄o 2 (1) 

其中,G 为引力常量,d 和d 分别为节点i,J的度,r为节点之间的距离。 为节点亲密度,定义为 一I d n d l 一 丽 

其中,d 和d 分别为节点i,J的度,节点亲密度 ∈EO,1],表示节点i, 的共同好友数占它们总好友数的比例。 即拥有的共同好友数越多,节点亲密度越高。 归一化后的节点对i, 之间的虚拟引力公式为 Fa,一Ggd d, 2 , (3) 给出了虚拟斥力的公式。 

F :G (4) 其中,G,为斥力常量,d 和d 分别为节点i,J的度。由于斥力只出现在非连接的节点之间,即斥力作用就是非连 接的节点拉开,因此用物理距离r作为节点之间的距离(此处的距离为二维映射平面上的实际坐标距离,距离越 小,节点之间的斥力越大)。 归一化节点距离 的计算公式为 r— r /n JF ∥ (5) l0, >G 最后给出归一化后的虚拟斥力公式如式(6)所示: 肼一G (6) 此处特别说明,在本文中的引力常量G 取节点之间的平均距离的一半(网络各节点力均匀分布)。即每个 第12卷第2期 顾亦然,等:基于虚拟力的社团发现算法研究 ・ 93 ・ 节点周围都有长宽均为2Gg的独占空间。 节点的合力就是其所有相连节点带来的引力和所有作用范围内节点带来的斥力的向量和,合力的计算公式: 

F 一> FG+> FR (7) 1.2基于虚拟力的社团划分算法 1.2.1 基本方法 假设网络中的所有节点被随机地均匀地分布于一个二维平面上,每个节点都受到来自其相连节点的引力和 来自其斥力范围内非相邻节点的斥力,各节点在虚拟力的作用下或聚拢或分散,当所有节点受力均衡,即全网达 到稳态,最终形成一个个的社团。 1.2.2算法流程 1) 网络的二维映射;针对随机映射会造成节点分布散乱,节点合力不稳定所带来的牵引演化耗时过长的问 题,本文在映射之前先对网络进行树状化分析,以粗略地找出网络“中心”的节点作为根节点,由此得到的二维映 射图拥有较好的结构,能够有效降低计算的时间。 2)社团划分演化:在社团划分演化过程中,在每个时间步下节点所受到的合力可能都不同。在每个演化回 合结束前会根据节点的轨迹判断节点是否进入稳定状态,锁定那些稳定的节点(“锁定”是指此后该节点不再移 动),直到完成整个网络的锁定。 3) 点稳定的判断条件:针对网络的重叠特性引起的节点在两个社团之间较宽范围内徘徊,使得算法不能够 有效终止,本文在大量计算后发现节点出现徘徊的路径形态可归结4种,如图1所示。本算法通过比较最近5个 回合内节点徘徊路径形态,如果出现了图1中所列的情况之一则可以认为节点到达了动态稳定状态,即可以锁 定。 此外,在演化过程中还会出现一种极端情况,度极大的节点对度极小的节点形成很大的引力,使得小节点被 牵引“过头”,即小节点在大节点周围大幅度跳动。针对这一现象,本算法根据两节点所处的相对距离对合力向量 进行缩放。如果两点间距离较远则合力加倍,如果较近则合力减弱。这样距离较远的两节点会加速靠近,而距离 较近的节点则保持稳定距离。经过这样的改进,整个网络的稳定性大幅提高,避免了“牵一发而动全身”的情况。 算法步骤及流程见图2。 

2仿真测试与结果分析 ’ 为了实验算法的效果,本文选择了多种不同 范畴的已知社团结构的真实网络上进行测试并与 经典算法进行对比。 2.1.仿真测试 2.1.1虚拟游戏网络 本网络为《仙剑奇侠传》系列前五部作品主角 与配角之间的关系制作的社会网络,一共包含55 个节点和116条连边。 图3所示为4种算法的划分结果,可以看出 该网络的社团结构比较明显,4种算法都能大致 将5个主要社团找出来。但是CNM算法仍然无 法调整社团的规模,导致划分过细。连边社团检 测算法也还是存在社团边缘节点过分粒度化的问 题。 2.1.2 Zachary空手道社团