论文部分内容阅读
现实生活中,存在不同种类的大型复杂性系统,这些大型系统均可用复杂网络进行描述。复杂网络除了小世界和无标度等特性,还具有极其重要的模块性,即社区结构,它揭示了复杂网络中一些隐藏的规律和某些行为特征。所以如何有效地挖掘网络中的社区结构,成为近十多年来复杂网络研究的一个热点问题。对于该问题,学者们提出了许多相关的算法,局部扩充方法和遗传优化算法是其中重要的两大类。通过研究大量的文献,发现已有的社区发现算法存在以下问题:(1)局部扩展方法可能将大度的边缘节点视为社区核心节点,且具有较高的时间复杂度;(2)传统遗传算法中存在“早熟”现象,即算法过早收敛。本论文针对社区发现展开研究,通过分析网络中节点之间的关系,定义关联度作为衡量网络中互连节点的关系和连边在网络中的重要程度的标准,并定义基于关联度的模块度函数,提出两种复杂网络社区挖掘算法,分别如下: (1)基于关联度与引力的复杂网络社区发现算法。选择具有高关联度的连边两端节点作为社区核心节点,将互连的核心节点构成社区骨架,形成初始社区;对剩余未归类的边缘节点进行定级,计算不同社区对边缘节点的引力,将节点归类于对其引力最大的社区。 (2)基于混沌遗传算法的复杂网络社区发现算法。通过引入混沌序列来构造初始化种群,能够增强群体的多样性,改善了遗传算法所固有的退化现象;在交叉算子利用网络局部拓扑信息,并且采用均匀交叉方法,有效缩小了搜索空间,增强了寻优能力;在变异算子中,将引入混沌序列的新基因替换所选择需要变异的基因,保证种群的多样性。且该算法在不需要先验知识的情况下,可自动获得最优社区数和社区划分方案。 为了验证本文提出的两种算法的有效性,本文采用了大量的真实网络数据集和人工网络数据集对算法进行验证,同时将实验结果与现有的算法进行比较。实验结果表明本文提出的两种算法均能够准确地挖掘复杂网络中的社区结构,且具有很好稳定性和效率。