论文部分内容阅读
在现实世界中,许多复杂系统是由大量组成单元或子系统构成的,因而可以将该它们抽象成复杂网络,网络中的节点是复杂系统的构成单元,而网络中的边则是单元之间的相互关系。复杂网络的应用领域非常广泛,如社会领域中的演员合作网、友谊网、科研合作网、Email网;生态领域中的食物链网、新陈代谢网、蛋白质网、基因调控网络;技术领域中的电力网、Internet网络以及电话线路网络,等等。尤其是近几十年间,互联网技术的迅猛发展使世界变得更小了,人与人之间的联系更加紧密,人类已经生活在充满形形色色的复杂网络的世界中。因此,复杂网络的相关研究也越来越成为一个研究的热点。目前,学者们在对复杂网络的研究过程中,发现现实网络不仅具有小世界和无标度等特征,而且还具有社区结构特征。社区与社区之间的连接虽然较为稀疏,但是社区内部的节点之间的连接却非常稠密。因此,社区结构的研究在当前复杂网络发展过程中占据着相当重要的地位。传统的社区发现算法主要分为图形分割和层次聚类两大类方法,其中,层次聚类又包括凝聚算法和分裂算法两类。随着对社区发现的深入研究,Newman等人提出了模块度函数,随后又出现了某些基于模块度极值优化的方法。然而,在现实生活中的网络,其节点并不是完全只属于某一个社区,而是可能属于多个社区,也就是说网络中存在着重叠部分。因此,学者们为了能更加真实地刻画网络的结构特征,又提出了许多重叠社区划分方法。一些研究者将统计推理应用到重叠社区划分算法中,取得了较好的效果,如GN算法、SPAEM算法等。本文主要针对复杂网络重叠社区发现算法进行研究,通过借鉴最近Science上提出的基于快速搜索和发现密度峰值的聚类方法思想,提出了“基于密度峰值的重叠社区发现算法”。本文首先对社区发现算法的相关文献进行了综述,介绍了复杂网络中社区发现算法的类别以及相应优缺点等,对一些经典算法的核心思想、适用范围、时间复杂度等方面进行了分析。之后,论文还详细介绍了Science上提出的基于快速搜索和发现密度峰值的聚类方法,分析了该算法的核心思想。在深入理解基于快速搜索和发现密度峰值的聚类方法的基础上,本文提出了基于密度峰值的重叠社区发现算法。算法首先通过给出新的距离矩阵算法避免了现有邻接矩阵都为整数,且有大量重复的问题。之后在搜索中心的过程中与原有算法一样,认为那些具有高局部密度并且到更高局部密度的点的最短距离相对较高的节点才是类簇中心。得到类簇中心后,不再限制每个节点属于某一单个社区,而是以一定概率属于各个社区,计算社区内节点的概率分布矩阵,得到相应的划分结果,从而使得重叠社区的划分成为可能。为验证所提出算法的有效性,将其应用于实际网络中,如空手道网络、海豚关系网等。对karate数据和dolphins数据的划分结果与原数据的社区划分结果基本相类似,对于稍大规模的网络得到的重叠社区划分结果要比其它算法好。论文主要是通过将基于快速搜索和发现密度峰值的聚类方法引入到重叠社区划分问题中,通过定义新的距离矩阵算法克服邻接矩阵为整数的缺陷,并以概率形式刻画每个节点属于不同类别的可能性,实现了重叠社区的划分。所提出的基于密度峰值的重叠社区发现算法简单易懂,既能够用于非重叠社区的划分,也可以进行重叠社区的划分,而且还可以扩展到加权网络。此外,该算法不用事先预设社区的个数,可以通过决策图来判断社区个数以及类簇中心节点。并且,基于真实网络的实验证明了本文提出算法的有效性。