关键词:
社团检测
结构信息矩阵
节点相似度
复杂网络
动态网络
摘要:
随着时代的发展,越来越多的由人或物组成的复杂系统和关系被建立起来,它们当中的大部分都可以用复杂网络模型来描述和概括。网络中的节点和边分别表示这些复杂系统中的实体和实体之间的联系。社团是复杂网络的一个重要特征,同一个社团内部的节点联系紧密,而不同社团中的节点之间的联系相对稀疏。社团检测是复杂网络研究领域中一个热门的研究方向,它的目标是将复杂网络中关系紧密的节点划分在一个社团之中。随着时间的推移,现实世界网络的拓扑结构会发生变化,由此形成了动态复杂网络。现实世界中的动态网络的相邻快照的变化是平滑的,一般不会非常剧烈,即两个相邻快照之间的社团结构应该是相似的。因此动态网络中社团检测的目标是在动态网络的每个快照上得到高质量的社团结构,并在此基础上兼顾相邻快照的社团结构的接近程度。研究复杂网络中的社团检测问题对于许多领域都有着十分重要的意义。已经有许多研究者在社团检测领域中进行了大量的研究,开发出了大量的算法。通过详细深入的研究,本文基于网络结构信息矩阵提出了一种静态网络中的社团检测算法和一种动态网络中的社团检测算法。(1)静态复杂网络中基于结构信息矩阵和非负矩阵分解的社团检测算法SIMNMF(Community Detection Algorithm Based on Structural Information Matrix and Non-negative Matrix Factorization in Static Complex Networks):该算法利用网络的中心节点与其邻居之间的联系信息,构造一种新的结构信息矩阵,并将此矩阵与其他两种体现网络结构信息的矩阵相融合,进行非负矩阵分解获得社团结构。在真实的社团结构中,一个社团的中心节点的邻居与该中心节点处在同一个社团的可能性较大,如果它们不处在同一个社团中,则意味着此邻居周围存在一个与其关系更加紧密的中心节点。相较于其他普通节点,中心节点在网络中的此类信息是已知的,因此,可以利用中心节点与其周围的节点的关系为非负矩阵分解的过程提供指导,使得获得的社团结构的质量更高。该算法首先通过一种快速的社团检测算法获得网络中的中心节点集合,通过中心节点与其邻居节点的联系信息构造成一个中心节点信息矩阵,再通过将中心节点信息矩阵与网络的节点相似度矩阵和网络的邻接矩阵进行融合,构造成一个新的结构信息矩阵。最后,将此矩阵进行非负矩阵分解,通过得到的社团归属度矩阵获得社团结构。(2)动态复杂网络中基于迁移的节点相似度矩阵的社团检测算法m NSMA(Community Detection Algorithm Based on Migrated Node Similarity Matrix in Dynamic Complex Networks):该算法在第一个快照上直接计算节点相似度矩阵,并且在相邻的快照上通过节点相似度矩阵作为载体进行信息的传递,在每个快照上通过m NSMA中包含的静态算法NSMA获得社团结构。NSMA算法首先通过节点相似度矩阵和引入的一种新的投票方法获得种子节点,然后通过种子节点获取初始社团结构,再进行社团合并,最后调整部分节点的社团归属,获得最终的社团结构。在之后的快照上,算法将前一个快照的网络结构信息及社团结构信息聚合到当前快照的节点相似度矩阵中,并在当前快照中使用此节点相似度矩阵通过NSMA算法获取社团结构。通过上述的方法,最终得到所有快照的社团结构。为了验证以上两种算法的有效性,本文对两种算法都分别在人工合成网络和真实网络上进行了大量的实验,并将实验结果与多种算法进行详细的对比。最终实验结果表明,本文提出的SIMNMF算法在多数网络上都能获得高质量的社团结构,而m NSMA算法不仅能够在大多数动态网络上获得高质量的社团结构,并且能较好地提升相邻快照的社团结构的接近程度。