论文部分内容阅读
随着大数据时代的来临,人们如何能从庞大的数据中挖掘出有价值的信息显得尤为重要。在很多时候这些庞大的数据可以抽象为复杂网络问题。在复杂网络的研究过程中,社区的发现及其相关问题的分析一直都是研究的热点问题。学者们从简化的静态的社区发现研究开始,逐渐的发展到对动态复杂网络的研究。由于复杂网络拓扑结构是随时间动态变化的,所以在对动态网络的研究中,不仅仅需要对其进行动态的社区发现,还要能够监测到其演化的过程,这些都有助于人们提高对整个网络结构的特性及其发展规律的认识,具有重要的理论和现实意义。因此,本文将动态网络社区发现及其演化监测作为两个研究点。在对社区演化进行监测之前首先要进行社区发现。(1)在动态网络社区发现方面,本文经过分析发现基于增量的动态社区发现的思想不仅仅有很高的时间效率,还有很好的前后社区一致性。但是传统基于增量的社区发现算法存在要求社区数目固定不能发现新社区的问题。因此,本文采用增量算法的思想并借鉴聚类分析中ROCK算法思想,采用一种共同邻居数目的相似度度量来对增量的变化部分进行社区重划分,从而解决这一问题。(2)在社区演化监测方面,本文经过分析发现基于中心结点的社区演化监测思想在拥有较高的时间效率的同时又有不错的准确性。但是原有算法存在需要设置阈值的问题。因此,本文采用中心结点的算法思想,并在中心结点选择过程中采用一种类似投票的机制,从而解决这一问题,提高了算法的可用性。本文使用两种数据集对本文提出算法分别进行实验。分析实验结果表明本文提出的基于增量的算法在时间复杂度上与原有算法近似的情况下能得到更好的社区发现效果,而且能发现新社区。此外,本文对真实数据集进行社区演化监测,验证了监测算法的有效性并分析了社区的演化特征。