论文部分内容阅读
在现实生活中,不仅仅只有社交网络以网络的形式来表示实体之间的关系,诸如生物圈和互联网等也都可以使用网络来进行表示。网络中的节点就代表着一个实体,网络中的边则表示了实体与实体之间的关系。在这些网络中有一个重要的性质就是社区结构,对社区结构进行社区划分是挖掘节点偏好以及节点间关系的基本方法,所以社区划分也越来越受到学者们的关注。本文主要研究了非重叠社区划分和重叠社区划分两方面内容,其主要工作和贡献如下:(1)针对标签传播算法中存在的随机选择和不稳定性的问题,以及其无区别处理所有节点的操作,本文提出了一种基于节点重要性和随机游走矩阵的标签传播算法(NILPA)。该算法给出了节点重要性的定义用来区分网络中的各个节点,并使用该重要性对网络中的节点进行排序。在标签传播阶段,算法结合随机游走矩阵和节点重要性构造了一个新的衡量函数,利用该函数可以有效地避免节点随机选择标签的操作。最后,在标签传播结束之后依据节点的标签进行社区划分。实验结果表明该算法不仅保证了社区划分的性能、减少了算法的随机性,并且对该算法做一些修改后可以用来处理重叠社区的划分工作。(2)针对烟花算法中缺乏可靠的烟花初始化方法,本文提出了一种基于烟花算法和局部双环的非重叠社区划分算法(LDRFA)。该算法首先给出了局部双环的定义,该定义可以有效地改进烟花初始化的过程,并且该初始化的方法具有泛用性。然后在烟花的生成和选择阶段我们结合了标签传播算法的思想来进行烟花的变异。实验结果表明本文提出的方法可以有效地解决非重叠社区的划分工作,并且与其他对比算法相比在性能上也有较大的进步。(3)针对蚁群算法中蚂蚁缺乏先验知识的问题,以及在蚁群初始化过程中出现重叠现象的问题,本文提出了一种处理重叠社区划分的蚁群随机游走算法(ACRWA)。该算法可以主要划分为三个部分:非重叠蚁群初始化阶段、蚂蚁传播标签阶段和后处理阶段。首先算法通过一种新的蚁群初始化方法找到网络中的非重叠初始化蚁群;在蚂蚁传播标签的阶段中,一个新的启发式信息被给出,利用该启发式信息可以使得蚂蚁们在信息素尚未沉淀时做出更加智能的决策;在后处理阶段,算法主要处理了过重叠社区和过小规模社区两种现象。最后实验结果表明,ACRWA算法相比与其他算法具有更好的性能,能够发现更为准确的重叠社区和重叠节点。