首页> 中国专利> 基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法

基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法

摘要

一种基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法,属于复杂网络社区挖掘技术领域,包括:对网络社区划分进行编码;种群初始化;计算适应度函数;进行遗传操作:交叉、变异、选择;解码,得到最佳社区划分。本发明通过在交叉算子中加入轮盘赌选择,而不是随机选择种群中的个体进行交叉操作,使高适应度个体具有优先选择性,可以加快最优划分的产生;在变异算子中引入局部模块度函数,使变异后的候选解更接近最优解,强化了变异算子的局部搜索能力,更具针对性,提高了算法的搜索性能;利用LMGACD算法进行复杂网络社区挖掘可以取得好的划分效果,且时间复杂度较低。

著录项

  • 公开/公告号CN103208027A

    专利类型发明专利

  • 公开/公告日2013-07-17

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN201310080090.5

  • 发明设计人 杨新武;李瑞;

    申请日2013-03-13

  • 分类号G06N3/12(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人张慧

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2024-02-19 19:02:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-21

    专利权质押合同登记的生效 IPC(主分类):G06N3/12 登记号:Y2020980001104 登记生效日:20200327 出质人:博智安全科技股份有限公司 质权人:中国银行股份有限公司南京城南支行 发明名称:基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法 授权公告日:20150722 申请日:20130313

    专利权质押合同登记的生效、变更及注销

  • 2020-04-03

    专利权质押合同登记的注销 IPC(主分类):G06N3/12 授权公告日:20150722 登记号:2019320000024 出质人:江苏博智软件科技股份有限公司 质权人:中国银行股份有限公司南京城南支行 解除日:20200311 申请日:20130313

    专利权质押合同登记的生效、变更及注销

  • 2020-03-20

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06N3/12 变更前: 变更后: 申请日:20130313

    专利权人的姓名或者名称、地址的变更

  • 2019-02-05

    专利权质押合同登记的生效 IPC(主分类):G06N3/12 登记号:2019320000024 登记生效日:20190109 出质人:江苏博智软件科技股份有限公司 质权人:中国银行股份有限公司南京城南支行 发明名称:基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法 授权公告日:20150722 申请日:20130313

    专利权质押合同登记的生效、变更及注销

  • 2018-06-15

    专利权的转移 IPC(主分类):G06N3/12 登记生效日:20180528 变更前: 变更后: 申请日:20130313

    专利申请权、专利权的转移

  • 2015-07-22

    授权

    授权

  • 2013-08-14

    实质审查的生效 IPC(主分类):G06N3/12 申请日:20130313

    实质审查的生效

  • 2013-07-17

    公开

    公开

查看全部

说明书

技术领域

本发明属于复杂网络社区挖掘技术领域,具体涉及一种基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法,是一种利用计算机技术、遗传算法等实现复杂网络社区挖掘的方法。

背景技术

复杂网络是复杂系统的典型表现形式,社区结构是复杂网络最重要的结构特征之一。在复杂网络中检测出有意义的社区,对网络建模和分析作用重大。社区结构是复杂网络的一种介于宏观和微观之间的结构特性,是网络结点的一种相似性组织方式。社区内部结点间的连接密度高于社区之间的连接密度是社区结构的关键特征。在复杂网络中探测出社区结构,在复杂网络的拓扑结构分析、功能分析和行为预测方面都具有重要的理论和实用价值,并在生物网、科技网和社会网中具有广泛的应用前景,已被应用于恐怖组织识别、新陈代谢途径预测、蛋白质相互作用网络分析、Web社区挖掘等众多领域。

社区结构发现就是辨识网络社区的过程,网络中的社区通常具有某种存在于该社区结点之间的相似性。在万维网中,通过某一社区少数Web页面信息的获取,就可以推测该社区其他Web页面的信息;在社会网络中,人们按照职业、兴趣、居住地址等特征形成自然的团体,团体内部成员拥有相对密切的相互关系;在生物分子相互作用网络中,将结点划分成功能模块有助于辨识单个分子的功能。发现网络的社区结构,能够帮助人们深刻地理解和认识网络结构与其功能之间的关系。

如何快速、高效地在大规模复杂网络上探测出潜在的社区成为当前研究复杂网络的热点问题。关于复杂网络挖掘技术,比较经典的传统算法有KL(Kernighan-Lin)算法,GN(Girvan-Newman)算法,模拟退火算法(Simulated Annealing,简称SA算法)、快速Newman算法(简称FN算法),这些算法有效率太低、需要先验知识、收敛速度很慢、易陷入局部最优解等缺点。2004年Newman网络模块度函数的提出,将复杂网络挖掘问题转化为一种优化问题,诸多以网络模块度作为目标函数的优化算法出现,然而它却是一种完全NP问题(Nondeterministic Polynomial Time-Complete Problem,多项式复杂程度的非确定性问题),难以实现。遗传算法(Genetic Algorithm,简称GA算法)作为一种优化算法,很好地解决了这个问题。当前具有代表性的算法是何东晓提出的CCGA算法,在此算法中,全局搜索算子使用聚类融合的交叉算子,局部搜索算子采用迫使变异结点与其大多数邻居结点在同一社区内的变异算子,获得了不错的效果,然而其算法的时间复杂度较高,为O(n2),不太适用于大规模复杂网络。

发明内容

为了解决复杂网络社区挖掘方法中存在的时间复杂度高、收敛速度慢等问题,本发明提供了一种基于局部模块度的遗传算法用于大规模复杂网络社区挖掘(Genetic Algorithm withLocal Modularity for Community Detecting,简称LMGACD)的新方法。

本发明采用的技术方案如下:

在遗传算法的变异算子中,根据弱社区的定义引入了局部模块度,选择使变异结点变异为能使局部模块度增加最大的邻居结点,强化了变异算子的局部搜索能力,有针对性地缩小了候选解空间,提高了遗传算法的搜索性能。另外,在有利于搜索空间迁移的均匀交叉算子中加入轮盘赌选择,确保适应度高的个体具有优先选择权,加速最优解的产生,提高了算法的搜索效率。

一种基于局部模块度的遗传算法用于大规模复杂网络社区挖掘方法,其特征在于包括以下步骤:

步骤一,对网络社区划分进行编码,方法如下:

使用基于基因座邻接的编码来表示由若干个网络社区划分组成的种群中的一个个体,即用一个个体的编码表示一个网络社区划分的结果。

在基于基因座邻接的编码表示中,每个基因型g都有n个基因,每个基因都代表了网络N中的一个结点。每个基因i都可以取一个j(j∈(1,2,...n))作为它的等位基因,即i和j之间存在一条连接。基于基因座邻接的编码表示是一种图表示方法,基因型g所表示的图中若i和j之间存在一条边,同时说明了基因型g解码后结点i与j在同一个社区。

步骤二,种群初始化,方法如下:

在确定表示网络社区划分的编码后,如果个体中的基因随机选择网络内的一个结点作为它的等位基因,将会生成很多无效的社区划分结果,降低算法的搜索效率。因此本算法中,个体中的任意一个基因选择它的邻居结点作为其等位基因生成种群的个体,在很大程度上减少了社区划分解的搜索空间。

初始化种群Pop中的每个个体Pop(i)的具体步骤如下:

①每个个体初始化为一个n(编码长度)位等位基因全部为0的编码。

②对个体的每个基因位j,找到网络中结点j的邻居结点。

③随机选择结点j的一个邻居结点作为基因位j的等位基因,重复步骤②③,完成每个个体的初始化。

对初始化种群个体的步骤进行循环Popsize(种群规模)次,完成种群初始化。

步骤三,计算适应度函数,方法如下:

复杂网络可以建模为图G=(V,E),其中,V表示网络的结点集合,E表示边的集合。网络中社区是具有“组内连接稠密,组间连接相对稀疏”特点的结点集合。复杂网络社区挖掘就是要探测出复杂网络中潜在的社区结构。

遗传算法在进化搜索过程中不需要借助任何外部信息,仅仅依靠适应度函数来对候选解进行评估,并以此作为后继遗传操作的依据。个体的适应度(Fitness)应该能体现出该个体所代表的社区划分结果的好坏程度,能对其给出的社区结构的好坏做出合理的评价。为了定量地刻画网络社区结构划分的优劣,本发明采用被广泛认可的网络模块度函数(Q函数)作为群体中个体的适应度函数。Q函数定义为社区内实际连接数目在网络中所占的比例与随机连接情况下社区内期望连接数目在网络中所占比例之差,Q函数的表达式为:

>Q=12mΣij[Aij-kikj2m]δ(r(i),r(j))>

其中,A=(Aijn×n表示网络N的邻接矩阵,如果结点i与j之间存在边连接,则Aij=1,否则Aij=0;对于函数δ(u,v),如果u=v,其取值为1,否则取值为0;ki表示结点i的度;m表示网络N中总的边数,被定义为

Q函数也是衡量网络社区挖掘质量的一个被广泛使用的标准。Q函数值越大,表明网络社区挖掘的效果越好。

步骤四,遗传操作,包括以下内容:

(1)交叉操作

如同生物进化过程中的繁殖现象,通过两个个体基因的交换组合,产生出新的个体,继承了父母双方的部分基因,形成新的基因组合。

在均匀交叉操作中加入轮盘赌选择,使得交叉的个体具有较高的适应度值,加大搜索候选解空间的迁移性,加快最优划分的产生。

具体步骤如下:

①使用轮盘赌选择策略选择两个个体。

②对选择的两个个体进行均匀交叉操作,交叉概率取0.8。

(2)变异操作

变异操作是产生新基因的关键,具有局部搜索能力。根据复杂网络社区结构的具体特性,以及弱社区定义——社区内部总的边数要大于社区与网络其他部分相连接的边数之和,本发明针对变异算子,在弱社区定义的基础上引入局部模块度定义:

>Ml=edgeinedgeout>

其中,Ml表示社区内部总的边数之和与社区和网络其他部分相连接的边数之和的比例,edgein代表社区内部的连接数,edgeout代表本社区与网络其他部分的连接数之和。

Ml值越大,此社区越合理。

CCGA算法中的变异算子,迫使变异结点与其大多数邻居结点在同一社区内,没有考虑变异后的候选解是否得到优化,本发明的变异算子选择邻居结点中变异后最能体现弱社区结构定义的那个邻居结点作为变异值,使变异后的候选解进一步接近最优解。相比CCGA算法,该变异操作更具针对性,强化了变异算子的局部搜索能力,提高了算法的搜索性能。具体步骤如下:

①对要实现变异操作的个体g解码,得到其社区划分结果。

②判断个体g的基因位i是否小于编码长度t,若成立,判断Pm(变异概率)是否小于给定的值(取0.03),若成立,找到基因位i上的等位基因(网络中的一个结点)的邻居结点并获得它们的社区标签V;否则返回并继续判断下一个基因位。若基因位i不小于编码长度t,则退出。

③遍历所有的社区标签V,并求该等位基因j属于社区V时的局部模块度。

④寻找能使局部模块度最大的社区标签,随机取该社区的一个结点作为变异值;重复执行②,直到所有基因位都遍历后结束。

(3)选择操作

选择算子是遗传算法中的全局搜索算子,本发明中采用了组合优化进化算法所偏爱的μ+λ选择策略,既保留了每代中的最优个体,也加快了算法收敛速度。

步骤五,解码,得到最佳社区划分:

LMGACD算法进化T代(一般取100≤T≤200)后,得到种群的最佳解,通过解码,识别出最佳解编码的各个组成部分(一个组成部分即一个社区),从而得到网络的最佳社区划分。

该算法中最耗时的操作为步骤四的变异算子,其时间复杂度为O(n),因此本算法的时间复杂度为O(n),相比CCGA,该算法的时间复杂度较低,比较适用于大规模复杂网络的社区挖掘。

本发明的有益效果在于:通过在交叉算子中加入轮盘赌选择,而不是随机选择种群中的个体进行交叉,使高适应度个体具有优先选择性,可以加快最优划分的产生;在变异算子中引入局部模块度函数,使变异后的候选解更接近最优解,强化了变异算子的局部搜索能力,更具针对性,提高了算法的搜索性能;利用LMGACD算法进行复杂网络社区挖掘可以取得好的划分效果,且时间复杂度较低。

附图说明

图1为本发明所涉及的方法流程图;

图2为本发明所涉及的变异操作的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式进行详细说明。

图1为基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法流程图,该方法包括以下步骤:

步骤一,对网络社区划分进行编码。

步骤二,种群初始化。

步骤三,计算适应度函数。

步骤四,进行遗传操作:交叉、变异、选择,变异操作的流程图如图2所示。

步骤五,解码,得到最佳社区划分。

下面给出应用本发明的一个实例。

本发明的实验采用的数据是Newman提供的Zachary空手道俱乐部网络(Karate ClubNetwork)网络、美国大学足球联盟网络、海豚网络、Krebs美国政治书网络、爵士乐队协作网,各个网络的信息描述如表1所示。

表1五个真实世界网络的信息描述

针对上述五个真实世界网络,以Q函数值作为度量标准,分别应用本发明的LMGACD算法、以及具有代表性的经典算法GN、FN算法进行计算,表2给出了各种算法运行50次取平均后的Q函数值。

从表2可以看出:对于Karate空手道网络、海豚网络、美国政治书网络和爵士乐队协作网络,算法LMGACD的性能要优于算法GN、FN算法;而对于美国足球联盟网络,LMGACD的性能要优于算法FN,与算法GN的性能接近。实验结果表明,本发明的LMGACD算法在不同规模的网络上都获得了较好的社区划分效果。另外,本算法的交叉、变异操作简单、高效,时间复杂度较低,使得算法能在很短时间内就能找到网络的社区划分。

表2五个真实世界网络的模块度(Q函数值)

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号