论文部分内容阅读
近年来,很多学者开始对普遍存在的复杂网络进行关注与研究。学者们通过构建图并分析其拓扑结构及数学性质,发现复杂网络中存在一些诸如小世界性质,节点度的幂律分布,聚集性质等共有特性,而在众多的性质当中,普遍存在的社区结构成为最重要的也是最有研究意义的性质。通过社区发现,可以发掘隐藏在表面数据关系之中的隐性信息,理解复杂系统的内部结构和功能,改善系统效率,预测系统发展趋势,具有较高的实用价值。本文对复杂网络中的社区发现算法做了较为深入的研究。寻找社区的核心节点可以提高社区发现的效率,而现有的核心节点衡量标准存在不足之处,如点度中心度标准单一,准确度有限;紧密中心度和中间中心度计算量较大,效率较低等。在进行社区发现过程中,很多算法采用边介数等全局性信息参数,计算复杂度较高,影响了社区发现效率。某些采用局部信息参数的算法在社区发现过程中标准单一,形成社区规模较小,缺少全局优化性。鉴于此,本文采用凝聚算法的思想,提出更为有效合理的中心节点衡量标准,依据点聚集系数和边聚集系数两种局部信息参数进行社区发现,主要工作如下:(1)本文综合考虑了中心节点度数较大,并且与邻接点关系紧密的特点,提出聚集中心度的概念,仅利用节点的邻接点信息,在降低了计算复杂度的同时,所发现的节点更接近于实际的中心节点,提高了社区发现的准确度。(2)本文将聚集中心度最高的节点作为社区发现的初始状态,综合运用点聚集系数与边聚集系数两种局部信息参数进行社区凝聚,以形成初步的社区划分。相较于使用边介数等全局信息参数,有效降低了计算复杂度,同时也避免了单纯依据点聚集系数而形成的社区规模较小,数量较多的问题。(3)在初始社区结构形成的基础上,本文依据社区内外度的差值,对初步划分结果进行调整,以利于全局优化,使最终的算法结果更符合实际存在的社区结构,提高了社区发现的准确度。最后论文采用了C++语言进行了算法的实现,并应用于多个真实网络中,实验结果与实际情况相同或接近,表明了本文算法的可靠性与准确性。