论文部分内容阅读
网络普遍存在于我们的现实世界中,它和其他万事万物一样,存在其自身的普适规律,比如小世界效应、幂律分布、社区结构等。网络可用图表示,图中的结点代表个体,边代表个体的联系,社区结构代表网络中结点集的一种划分,被划分到同一个社区的结点间联系比较紧密,而不同社区中的结点之间的联系比较稀疏。挖掘网络的社区结构有助于人们更好地理解和应用网络。因此,网络的社区结构检测具有重要的现实意义,也是目前比较热门的研究领域。现实中的许多网络由于结点的离开、联系的中断、新结点的加入或新联系的建立而动态变化,网络的动态变化使得其社区结构也动态变化,因此,动态网络的社区检测比静态网络的社区检测面临更多的困难。目前关于动态网络的社区检测方式大体有以下两种:一种是在不同时刻对网络进行采样,用采样网络序列表示动态网络,然后用静态网络的社区检测算法检测采样网络中的社区结构;另一种是在原有的社区结构基础上依据网络变化量作局部的调整。前一种针对全部结点,比较耗时,不适应大规模网络;后一种方式仅针对可能改变社区归属的结点,效率效高。本文提出的自适应社区发现Adaptive Community Detection(ACD)算法属于后一种。本文将引起网络结构的变化分为四种基本事件:结点新增、结点移除、连边新增、连边移除,通过深入分析四种基本事件产生时对社区结构带来的影响,为每一个基本事件编写相应的算法,用于处理该事件产生时社区结构的调整。网络从t-1到t时刻的任何变化都可分解为一系列的按时间排序的基本事件集合,通过依次处理这些基本事件就可完成社区结构的调整。在进行社区结构调整时,本文利用社区引力去判断结点的社区归属,利用核心结点集去鉴别删除的结点或连边的重要性,通过分析结点或连边的重要性确定所删除结点或连边所在的社区是否发生分裂,因而本文的算法不要求相邻时刻的社区数目相同。本文利用真实的网络和LFR程序产生的基准网络进行实验,实验结果表明本文提出的算法能在上一时刻社区结构的基础上较好地找到当前时刻的社区结构,并具有很好的时间效率。