基于局部搜索的多目标社区发现方法

文档序号:8339689阅读:198来源:国知局
基于局部搜索的多目标社区发现方法
【技术领域】
[0001 ] 本发明属于复杂网络技术领域,具体地说,涉及一种复杂网络中多层次社区结构 发现方法,可用于网络功能分析和结构可视化。
【背景技术】
[0002] 复杂网络中的社区发现方法对于理解网络的功能和可视化网络的结构等至关重 要。通常来说,一个社区是网络中所有个体组成的集合的一个子集,该子集中的个体基于某 种属性连接紧密,并和子集外的个体连接稀疏。
[0003] 经对现有技术的文献检索发现,大部分社区发现方法可以被分为启发式方法和最 优化方法。启发式方法通常基于直观的观察通过执行一些启发式规则来得到社区划分,但 是这类方法通常缺乏对网络全局社区结构特征的精确描述。最优化方法将社区发现问题 规划为组合优化问题,通过优化描述社区某种性质的目标函数来发现社区结构。传统的方 法优化单一的目标函数,只能获得反应单一社区特性的社区结构。为了从多个角度刻画社 区结构,Pizzuti 等人于 2012 年在〈〈IEEE Transactions on Evolutionary Computation)) 上发表文章 "A multiobjective genetic algorithm to find communities in complex networks",提出通过优化多个目标函数来一次性发现多种社区结构。为了同时优化网络 上的两个目标函数,Community Score (社区分数)和Community Fitness (社区健康度), Pizzuti等人扩展设计了一种多目标遗传算法MOGA-Net。该方法从初始社区结构种群开 始,对原有种群进行交叉操作、变异操作等形成新的社区种群,根据两个目标函数在原有种 群和新种群中选择优秀的个体,组成新的子种群进行下一代的进化。经过多轮进化,种群中 的个体所代表的社区结构将越来越符合两个目标函数定义的社区结构。该方法的本质基于 遗传原理,具有较强的全局搜索能力,可以在社区划分空间中快速定位到质量较好的区域。 然而,此方法缺乏有效的局部搜索能力,很容易在搜索到最优的社区结构之前,从一个质量 较好的区域跳到另一个区域。因此,该方法不利于有效的发现近似最优的社区结构。本发 明针对这一问题,在多目标进化社区发现方法中整合快速局部搜索过程,有效的发现复杂 网络中多层次的社区结构。

【发明内容】

[0004] 为了解决多目标社区发现方法局部搜索能力弱,无法有效发现最优社区结构的缺 点,本发明提供了一种复杂网络中多层次社区结构发现方法,并将多目标进化社区发现算 法和局部搜索方法有机的整合起来形成一个更有效准确的多层次社区结构发现方法。
[0005] 为解决上述技术问题,本发明的实施例提供一种基于局部搜索的多目标社区发现 方法,包括如下步骤:
[0006] S1、建立待分析网络的邻接矩阵A,为网络所有节点进行连续编号,编号从1开始。 构建正方形矩阵A ;矩阵中的元素 Au为1代表对应的节点之间有边相连,为0代表对应的 节点之间不存在边;
[0007] S2、构建社区发现的两个目标函数IntraQ和InterQ,
[0008]
【主权项】
1. 一种基于局部搜索的多目标社区发现方法,其特征在于,包括如下步骤: 51、 建立待分析网络的邻接矩阵A,为网络所有节点进行连续编号,编号从1开始,构建 正方形矩阵A ; 52、 构建社区发现的两个目标函数IntraQ和InterQ, IntraQ = Ece jr ^ 其中,X是网络的某种社区划分,C是社区划分中的某个社区,1。表示社区C内部的边 的数量,m表示网络总的边数; InterQ =I-Ec εχ(^)2 其中,k。表示社区C中节点总的度数,节点的度数表示与节点邻接的边数; 53、 初始化网络社区划分种群; 54、 全局搜索网络社区划分空间并更新社区划分种群; 55、 局部搜索社区划分空间并更新社区划分种群; 56、 组合两个局部搜索子种群,生成下一代种群Bg,设置种群代数g = g+Ι,如果g < Gmax,则返回步骤S4,否则进行步骤S7 ; 57、 找出最终的社区划分种群Bg中的所有非支配社区划分,计算每个非支配社区划分 的社区数和模块度,根据社区数和模块度分析多层次的社区划分结构。
2. 根据权利要求1所述的基于局部搜索的多目标社区发现方法,其特征在于,所述的 步骤S3,具体为: 531、 采用社区标签编码法编码社区划分个体,即划分个体有N个位置,其中N为网络节 点总数,每个位置对应一个节点,每个位置处的取值表示其对应节点的社区标签,具有相同 社区标签的所有节点属于同一个社区,设定种群大小S D,设定种群进化迭代次数Gmax,初始 化种群代数g = 〇 ; 532、 生成Sd个相同的社区划分,在每个社区划分中随机选取一部分节点,将其社区标 签赋予其所有相邻的节点,从而随机化每个社区划分,生成S d个多样的社区划分作为初始 种群B。。
3. 根据权利要求1所述的基于局部搜索的多目标社区发现方法,其特征在于,所述的 步骤S4,具体为: 541、 根据非支配关系找出群体Bg中所有非支配个体,按拥挤距离降序选取前Sd个非支 配个体组成非支配种群,复制非支配种群生成外部非支配种群,用于保留该种群中的优秀 个体; 542、 对非支配种群进行交叉操作,从非支配种群中随机选择两个社区划分作为交叉操 作的父个体,随机选择一个节点,对两个父个体进行同样的操作:找出一个父个体中所有和 该节点具有相同社区标签的个体,并将它们的社区标签赋予另一个个体中对应的个体,两 个父个体交叉生成两个子个体,重复该过程所有新生成的子个体组成交叉社区划分 种群; 543、 对交叉社区划分种群进行变异操作,对交叉社区划分种群中的每个划分进行变 异,对划分中的每个节点,以变异概率将其社区标签赋予其所有邻居节点,生成新的变异个 体,所有新变异的个体和未变异的个体组成变异社区划分种群。
4. 根据权利要求1所述的基于局部搜索的多目标社区发现方法,其特征在于,所述的 步骤S5,具体为: 551、 选择外部非支配种群和变异社区划分种群分别作为局部搜索的两个初始种群,找 出每个初始种群中所有非支配个体分别形成局部搜索的非支配种群; 552、 为两个非支配种群中的每个非支配划分计算局部搜索方向向量,搜索方向向量 ω?为社区划分个体在目标函数空间中所在位置的近似法线向量,计算公式如下: 兵〒,π = t2 un -t2 UH +t\
UH -A UH,t /刀、別衣示社区划分的两个目标函数, X1和X2是X在目标函数空间中两个相邻的社区划分,该方向近似对应目标函数增长的梯度 方向; 553、 设定局部搜索最大迭代次数MI,为每个非支配社区划分定义局部邻域和邻域,在 每个社区划分的局部邻域和邻域中利用网络结构搜索新的更优秀的社区划分代替原来的 社区划分,在两个非支配种群上重复该过程MI次,形成两个局部搜索子种群。
5. 根据权利要求1所述的基于局部搜索的多目标社区发现方法,其特征是,所述的步 骤S7,具体为:找出最终的社区划分种群Bg中的所有非支配社区划分,计算每个非支配社 区划分的社区数和模块度Q,计算公式如下:
其中,1。表示社区C内部的边的数量;1^表示社区C中节点总的度数;m表示网络总的 边数。
【专利摘要】本发明公开了一种基于局部搜索的多目标社区发现方法,可用于网络功能分析和结构可视化,设计了增长更快的局部搜索方向,基于网络特点定义了局部邻域和邻域,采用计算目标函数增量值的方法降低了局部搜索的时间复杂度。本发明将该局部搜索方法和传统的进化搜索方法有机的结合起来,能够更加有效的分析多层次的社区结构。
【IPC分类】G06F17-30
【公开号】CN104657442
【申请号】CN201510058654
【发明人】潘理, 吴鹏
【申请人】上海交通大学
【公开日】2015年5月27日
【申请日】2015年2月4日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1