基于密母计算的网络社区结构检测方法

文档序号:6438685阅读:1509来源:国知局
专利名称:基于密母计算的网络社区结构检测方法
基于密母计算的网络社区结构检测方法技术领域
本发明属于计算机技术领域,更进一步涉及人工智能技术领域的基于密母计算的网络社区结构检测方法。本发明通过将扩展模块密度作为适应度函数,引入局部搜索策略构造出基于密母计算的方法,以不同分辨率分析网络,并加快收敛速度,可用于解决网络中的社区结构检测问题。
背景技术
很多现实世界的复杂系统都可以表示为网络,如协作网,万维网,电力网,生物网和社会网络等。除了小世界效应,无标度等网络属性外,社区结构是复杂网络中另外一个重要属性。社区可定性的定义为网络中节点的子集,其内部节点之间的链接比较紧密,而和网络中其它节点的链接相对稀疏。研究复杂网络社区结构对于分析网络的拓扑结构、理解网络的功能、发现网络中的隐藏规律以及预测网络的行为不仅具有十分重要的理论意义,而且具有广泛的应用前景,目前已被应用于新陈代谢网络分析、蛋白质交互网络分析等各种生物网络分析以及Web社区挖掘等众多领域。
目前,已存在多种复杂网络社区检测方法,按照所采取的基本求解策略,可以归纳为两大类基于优化的方法和启发式方法。前者将复杂网络社区检测问题转化为优化问题, 通过最优化预定义的目标函数来计算复杂网络的社区结构,后者将复杂网络社区检测问题转化为预定义启发式规则的设计问题。
戴飞飞、唐普英等人在“基于DNA遗传算法的复杂网络社区结构发现”(《计算机工程与应用》,2008年3期,44 (3))中提出了基于DNA遗传算法的复杂网络社区检测方法。 文中所提到的DNA遗传算法是以模块度作为适应度函数,通过适应度比例选择、单向传递交叉、变异、基因转移等操作,求模块度的最大值以探测社区结构,该方法存在的不足是,不能发现网络社区的层次结构,收敛速度较慢。
刘晋霞、曾建潮等人在“用遗传算法优化模块密度探测社团结构”(《解放军理工大学学报》,2011年第3期,12(3))中提出了基于遗传算法的社区结构检测方法。文中提到的遗传算法是以模块密度作为适应度函数,通过适应度比例选择、单向传递交叉、变异等遗传操作,求模块密度的最大值以探测社区结构,其优点是采用模块密度作为适应度函数,能够一定程度上克服分辨率限制问题,但仍存在的不足是,只能发现网络的一个划分,不能以不同分辨率分析网络,收敛速度慢等问题。发明内容
本发明针对上述现有技术存在的不足,提出了一种基于密母计算的网络社区结构检测方法。本发明通过将扩展模块密度作为适应度函数,并引入爬山法作为局部搜索策略, 以解决现有网络社区结构检测方法中的分辨率限制、收敛速度慢等缺点,提高了网络社区检测的准确度。
本发明的步骤包括如下
(1)构造初始化种群,采用直接编码方法初始化种群中的个体;
(2)选择操作
2a)将扩展模块密度作为适应度函数;
2b)计算当前种群中每一个个体的适应度函数值;
2c)从当前种群中随机选择两个个体,将其中适应度函数值较大的个体加入父种群中;
2d)重复步骤2c),直至得到整个父种群;
(3)交叉变异
3a)从父种群中随机选择两个父个体;
3b)对两个父个体进行双向传递交叉操作,得到两个临时子个体;
3c)对两个临时子个体分别进行单点变异操作,得到两个子个体;
3d)重复步骤3a)、步骤3b)、步骤3c),直至得到整个子种群;
(4)局部搜索
4a)从子种群中选择适应度函数值最大的一个个体;
4b)利用爬山法对适应度函数值最大的个体进行局部搜索操作,得到局部最优个体;
4c)用局部最优个体替代子种群中适应度函数值最大的个体,得到改进子种群;
(5)更新种群
5a)将改进子种群与当前种群合并,组成临时种群;
5b)将临时种群中的个体按照适应度函数值大小由高到低排序;
5c)截取临时种群中和当前种群规模大小相同的适应度函数值大的个体,得到下一代种群;
(6)判断是否终止如果迭代次数达到限定的次数则执行下一步骤,否则,执行步骤⑵;
(7)终止。
本发明与现有技术相比具有如下优点
第一,由于本发明将扩展模块密度作为目标函数,克服了现有技术只能发现网络的一个划分,不能从不同分辨率分析网络的问题。本发明通过调节扩展模块密度里面的参数,产生不同分辨率的网络划分结果,进而可以发现网络社区的层次结构。
第二,由于本发明引入了爬山法作为局部搜索策略,克服了现有技术的收敛速度慢,检测结果不够准确的问题。本发明通过在交叉变异后的种群中选择适应度函数值最大的个体,然后在这个个体上进一步利用爬山法进行局部搜索,使该个体达到局部最优,可大大减少迭代次数,加快收敛速度,并且能够提高检测结果的准确率。


图1为本发明的流程图2为本发明与基于遗传算法的社区结构检测方法的检测结果比较图3为本发明在hchary空手道俱乐部网络上的30次仿真结果统计盒图4为本发明在hchary空手道俱乐部网络上,当目标函数中的参数取不同值时对应的网络社区划分结果图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,本发明的详细步骤是
步骤1,初始化
采用直接编码方法初始化种群中的个体,直接编码方法为计算机随机生成一位整数作为每一位上的类别标记,该整数不超过网络节点的个数。
步骤2,选择操作
首先,将扩展模块密度作为适应度函数,扩展模块密度公式为
权利要求
1.一种基于密母计算的网络社区结构检测方法,具体步骤如下(1)构造初始化种群,采用直接编码方法初始化种群中的个体;(2)选择操作2a)将扩展模块密度作为适应度函数;2b)计算当前种群中每一个个体的适应度函数值;2c)从当前种群中随机选择两个个体,将其中适应度函数值较大的个体加入父种群中;2d)重复步骤2c),直至得到整个父种群;(3)交叉变异3a)从父种群中随机选择两个父个体;3b)对两个父个体进行双向传递交叉操作,得到两个临时子个体; 3c)对两个临时子个体分别进行单点变异操作,得到两个子个体; 3d)重复步骤3a)、步骤3b)、步骤3c),直至得到整个子种群;(4)局部搜索4a)从子种群中选择适应度函数值最大的一个个体;4b)利用爬山法对适应度函数值最大的个体进行局部搜索操作,得到局部最优个体; 4c)用局部最优个体替代子种群中适应度函数值最大的个体,得到改进子种群;(5)更新种群5a)将改进子种群与当前种群合并,组成临时种群; 5b)将临时种群中的个体按照适应度函数值大小由高到低排序; 5c)截取临时种群中和当前种群规模大小相同的适应度函数值大的个体,得到下一代种群;(6)判断是否终止如果迭代次数达到限定的次数则执行下一步骤,否则,执行步骤⑵;(7)终止。
2.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤(1)所述的直接编码方法为计算机随机生成一位整数作为每一位上的类别标记,该整数不超过网络节点的个数。
3.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤(2)所述的适应度函数为
4.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤 3b)所述的双向传递交叉方法的步骤如下第1步,随机选择一个节点;第2步,按下式进行第一次传递交叉Xkb <^xi,/ke{k\ xka =Xja]其中,<表示父个体b上第k个节点的类别标记,χ为类别标记,k为所有的类别标记与 <相同的节点,一表示赋值操作,<表示父个体a上第j个节点的类别标记,j为随机选择的节点,<表示父个体a上第k个节点的类别标记,分别表示对任一和属于符号,I为概率论中的条件符号;第3步,按下式进行第二次传递交叉xka <^xi,\fke{k\ xkb=x(}其中,4表示父个体a上第k个节点的类别标记,χ为类别标记,k为所有的类比标记与 4相同的节点,一表示赋值操作,<表示父个体b上第j个节点的类别标记,j为随机选择的节点,<表示父个体b上第k个节点的类别标记,ν和e分别表示对任一和属于符号,I为概率论中的条件符号。
5.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤 3c)所述的单点变异操作的步骤如下第1步,随机选择一个待变异的节点;第2步,将待变异节点的类别标记变更为与其任意相邻节点相同的类别标记。
6.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤 4b)所述的爬山法局部搜索的步骤如下第1步,查找当前个体的所有相邻个体;第2步,从所有相邻个体中选择适应度函数值最大的相邻个体;第3步,比较适应度函数值最大的相邻个体和当前个体的适应度函数值,如果前者大于后者,则用适应度函数值最大的相邻个体替代当前个体,返回第1步;否则,直接输出当前个体作为局部搜索的结果。
7.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤 (6)所述的限定的次数为预设的最大迭代次数,其范围为50 100之间。
全文摘要
一种基于密母计算的网络社区结构检测方法,主要解决现有社区结构检测技术的分辨率限制、难以发现社区层次结构、收敛速度慢等问题。该方法的实现步骤为(1)构造初始化种群,采用直接编码方法初始化种群中的个体;(2)选择操作;(3)交叉变异;(4)局部搜索;(5)更新种群;(6)判断是否终止;(7)终止。本发明通过将扩展模块密度作为适应度函数,引入局部搜索策略构造出基于密母计算的方法,以不同分辨率分析网络,进而发现社区的层次结构,并加快收敛速度,可用于解决网络中的社区结构检测问题。
文档编号G06N3/00GK102521649SQ20111036615
公开日2012年6月27日 申请日期2011年11月17日 优先权日2011年11月17日
发明者付宝, 侯田, 公茂果, 尚荣华, 焦李成, 王爽, 王艳辉, 马文萍, 马晶晶 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1