CN102768735B - 基于免疫克隆多目标优化的网络社区划分方法 - Google Patents
基于免疫克隆多目标优化的网络社区划分方法 Download PDFInfo
- Publication number
- CN102768735B CN102768735B CN201210230092.3A CN201210230092A CN102768735B CN 102768735 B CN102768735 B CN 102768735B CN 201210230092 A CN201210230092 A CN 201210230092A CN 102768735 B CN102768735 B CN 102768735B
- Authority
- CN
- China
- Prior art keywords
- centerdot
- antibody
- community
- antibody population
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于免疫克隆多目标优化的网络社区划分方法,主要解决现有单目标遗传方法划分结果不稳定和准确率低的问题。其实现步骤是:(1)读入网络图,生成邻接矩阵;(2)设置初始化参数;(3)计算目标值矩阵;(4)根据目标值矩阵,选出非支配抗体群;(5)对非支配抗体群进行克隆操作;(6)对克隆后的抗体群进行交叉和变异,构成父代抗体群;(7)父代抗体群进行局部搜索,构成子代抗体群;(8)根据目标值矩阵大小,得到新的父代抗体群;(9)判断运行代数it是否达到50,若达到,则终止运行,输出目标矩阵最大的抗体中各个节点的划分结果,即社区的划分结果。本发明具有搜索能力强、划分结果稳定和准确率高的优点。
Description
技术领域
本发明属于计算机领域,涉及实际网络社区划分方法,更进一步涉及小世界网络技术领域中的网络社区划分,可用于进行网络中社区的划分。
背景技术
在我们生活中,几乎处处都有网络结构的存在,并且大多数的复杂系统都是以网络的形式呈现出来,比如新陈代谢网、因特网、电子邮件网以及亲戚朋友网等。这些网络都有一个共同的特点就是它们都是节点和边的集合,从而形成了我们熟知的网络拓扑结构。与此同时随着网络的不断普及和应用服务要求的不断提高,复杂网络的研究已经吸引了无数来自世界各地的爱好者,已成为多学科交叉研究的热点。
而目前,复杂网络的一个重要特性—社区划分更掀起了研究热潮,受到国内外的高度重视。其中社区通常是一组彼此相似并且与网络中的其他节点存在差异的节点的集合,社区内联系紧密,而社区之间的联系则相对稀疏。通过社区就可以把一个复杂的网络进行聚类划分,从而将一个复杂的大规模网络进行分解,以相对容易的找出复杂网络的结构和一些特性。
对网络中社区的划分是复杂网络中面临的主要问题之一,目前人们已经提出了很多方法来对网络进行社区的划分,其中研究热点之一为基于单目标遗传算法的网络社区划分方法。
基于单目标遗传算法的网络社区划分方法主要步骤为:将解空间中的向量用编码的方式表示为遗传空间中的基因串;随机生成种群作为算法迭代的初始种群;计算种群中个体的适应度函数值,该值反映了种群中个体的适应能力,通过目标值的大小来评价种群中个体的优劣;对种群中的个体进行选择、交叉和变异,具体过程是:首先从种群中选择优良的个体作为遗传父代,其次对选择出的个体进行交叉操作和变异操作,从而增加个体的多样性并且加速算法的收敛,使得到的个体性能更优。然而,基于单目标遗传算法的网络社区结构划分方法存在的不足之处有:1、遗传算法对新空间的探索能力是有限的,也容易收敛到局部最优解,即早熟,这也是遗传算法的最大的缺点;2、因为遗传算法属于随机类算法,需要多次运算,结果的可靠性差,不能稳定的得到解。3、由于目标个数只有一个,一次运行只能得到1个全局或局部最优解。以上三点会导致该方法在求解社区划分问题时,容易造成搜索能力低下、划分结果不稳定和划分准确率低的问题。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种基于免疫克隆多目标优化的网络社区划分方法,以提高对社区的搜索能力和划分稳定性,及划分结果的准确率。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)读入一幅实际网络图,并生成网络图对应的邻接矩阵Aij;
(2)初始化:将运行次数it初始值设为0,最大运行次数G设为50,社区类别数x设为2,抗体群规模N(it)设为450,随机产生的抗体群Al(it)表示为:
Al(it)={al1(it),al2(it),…,alI(it)…,alN(it)(it)},
其中I=1,…,N(it),alI(it)表示第I个抗体,N(it)表示抗体群规模,it表示当前运行次数;
(3)更新运行次数it,进行第it次运行:根据网络图的邻接矩阵Aij和抗体群Al(it),计算目标值矩阵Q(Al(it)):
Q(Al(it))=([Q1(Al(it))],[Q2(Al(it))]),
其中,Q1(Al(it))为第1个目标的目标值,Q2(Al(it))为第2个目标的目标值,Al(it)为抗体群,it为当前代数。
(4)根据计算出的目标值矩阵,将抗体群中的抗体划分为支配抗体群和非支配抗体群,其中非支配抗体群A(it)表示如下:
A(it)={a1(it),…,ap(it),…,an(it)},
其中p=1,…,n,ap(it)表示第p个非支配抗体,n表示非支配抗体个数,it表示当前代数;
(5)对非支配抗体群A(it)执行克隆操作,克隆后的抗体群A′(it)表示为:
其中p=1,…,n,n为非支配抗体个数,f=1,…,q,q为克隆比例,为第p个抗体的f次克隆,it表示当前代数;
(6)对克隆后的抗体群A'(it)进行交叉操作和变异操作,构成父代抗体群;
(7)用模拟退火法对父代抗体群中的抗体进行局部搜索,得到的新的抗体加入到父代抗体群中,构成子代抗体群;
(8)根据子代抗体群中抗体的目标值矩阵的大小,对子代抗体群进行由大到小排序,选择出目标值矩阵和最大的450个抗体作为新的父代抗体群;
(9)判断步骤(3)中运行代数it是否达到最大运行次数50,若达到,则终止运行,输出新的父代抗体群中目标值矩阵最大的抗体,输出的抗体中对各个节点的划分就是社区的划分结果,并输出社区的划分结果;否则,将新的父代抗体群作为抗体群Al(it),在步骤(3)继续进行第it次运行,直到达到最大运行次数。
本发明与现有技术相比具有以下优点:
1.本发明由于将单目标问题转化为多目标问题,一次运行同时得到多个解,可以有效地提高搜索能力和划分的稳定性。
2.本发明由于加入社区类别数的先验信息,可以有效地提高社区划分结果的准确率。
3.本发明由于在选择阶段加入了克隆算子,首先选择出非支配个体并且对其进行比例克隆,可以有效地增加解的多样性,提高解的质量并且实现了全局择优。
4.本发明由于加入了模拟退火法进行局部搜索,可以有效地提高局部搜索能力。
附图说明
图1为本发明的流程图;
图2为本发明使用的海豚图;
图3为用本发明对图2的最终划分结果图;
图4为现有遗传算法对图2的最终划分结果图;
图5为本发明与现有遗传算法分别对图2进行划分后的共同信息NMI参数的比较图。
具体实施方式
下面结合图1对本发明的具体实施步骤做进一步的详细描述。
步骤1,读入一幅实际网络图,并生成网络图对应的邻接矩阵Aij。
在本发明实施例中,使用的网络图是实际网络中的海豚社区结构图,如图2所示,海豚网络由62个海豚组成,作为网络中的节点,海豚之间的连线有159条,作为网络中的边;
在本发明实施例中,海豚网络社区图对应的邻接矩阵Aij为:
其中,cij表示邻接矩阵中的元素,i、j表示网络中任意两个节点,若节点i与节点j相连,则cij=1,否则cij=0。
步骤2,设置如下初始化参数:
运行次数初始值it=0;
最大运行次数G=50;
社区类别数x=2;
抗体群规模N(it)=450;
随机产生的抗体群Al(it)表示为:
Al(it)={al1(it),al2(it),…,alI(it)…,alN(it)(it)},
其中I=1,…,N(it),alI(it)表示第I个抗体,N(it)表示抗体群规模,it表示当前运行次数。
步骤3,更新运行次数it,进行第it次运行:根据网络图的邻接矩阵Aij和抗体群Al(it),计算目标值矩阵Q(Al(it)):
Q(Al(it))=([Q1(Al(it))],[Q2(Al(it))]),
其中,Q1(Al(it))为第1个目标的目标值,Q2(Al(it))为第2个目标的目标值,Al(it)为抗体群,it为当前代数。
在本发明实施例中,Q1(Al(it))和Q2(Al(it))的表达式如下:
其中M是网络中的边的个数,M=159,i,j为社区中任意两个节点,ki和kj分别为节点i和节点j的度,Aii是网络中的邻接矩阵,δ(i,j)表示社区中i和节点j的连接关系,如果节点i和节点j在一个社区中,则δ(i,j)=1,否则为δ(i,j)=0。
步骤4,根据计算出的目标值矩阵,将抗体群中的抗体划分为支配抗体群和非支配抗体群,其中非支配抗体群A(it)表示如下:
A(it)={a1(it),…,ap(it),…,an(it)},
其中p=1,…,n,ap(it)表示第p个非支配抗体,n表示非支配抗体个数,it表示当前代数。
在本发明实施例中,将抗体群划分为支配抗体和非支配抗体后,舍去支配抗体。
步骤5,对非支配抗体群A(it)执行克隆操作,克隆后的抗体群A′(it)表示为:
其中p=1,…,n,n为非支配抗体个数,f=1,…,q,q为克隆比例,为第p个抗体的f次克隆,it表示当前代数。
在本发明实施例中,克隆比例q=6,克隆后的抗体群A'(it)为:
其中p=1,…,n,n为非支配抗体个数。
步骤6,对克隆后的抗体群A'(it)进行交叉操作和变异操作,构成父代抗体群。
交叉操作常用的方法包括单点交叉、多点交叉、单向交叉和双向交叉,采用其中的任何一种均可实现对抗体进行交叉,在本发明实施例中,交叉方式采用的是双向交叉,即两个抗体同时进行两方向交叉。
变异操作,其常用的方法包括单点变异和多点变异,采用其中的任何一种均可实现对抗体进行变异,在本发明实施例中,变异方式采用的是单点变异,即对单个节点随机变异成1或2。
步骤7,用模拟退火法对父代抗体群中的抗体进行局部搜索,得到的新的抗体加入到父代抗体群中,构成子代抗体群:
(7a)设置初始参数:初始运行温度E为0.8×106,常数H为0.99,运行次数C为10,选出父代抗体群中目标矩阵最大的抗体amax;
(7b)更新运行温度E,对抗体amax中节点进行多点变异操作,即对抗体amax中的多个节点进行变异操作;
(7c)判断运行温度E是否降到0,若降到0,终止运行,输出变异后的抗体;否则重复运行(7b)。
步骤8,根据子代抗体群中抗体的目标值矩阵的大小,对子代抗体群进行由大到小排序,选择出目标值矩阵最大的450个抗体作为新的父代抗体群。
步骤9,判断步骤3中运行代数it是否达到最大运行次数50,若达到,则终止运行,输出新的父代抗体群中目标值矩阵最大的抗体,输出的抗体中对各个节点的划分就是社区的划分结果,并输出社区的划分结果;否则,将新的父代抗体群作为抗体群Al(it),在步骤3继续进行第it次运行,直到达到最大运行次数50。
1.实验条件:
在WINDOWS XP系统上使用Matlab2009a进行仿真。
2.实验内容与结果
仿真实验1,用本发明和现有方法对图2所示的海豚图进行社区的仿真划分,图2中1到62分别表示节点的编号,三角形和长方形分别为实际划分的两类社区,划分结果如图3所示,其中图3为用本发明对图2的最终划分结果图;图4为用现有遗传算法对图2的最终划分结果图。
从图3可以看出,本发明把图2划分为2类,其中三角形和长方形代表划分后的两个类别,本发明将所有节点均正确的划分到了正确的类别中;从图4可以看出现有遗传算法把图2错误划分为五类,其中三角形,菱形,长方形,正方形以及五角星代表划分后的五个类别;对比图3和图4可以得出,本发明的社区划分方法对网络中社区的划分更为准确。
仿真实验2,用共同信息NMI指标对本发明和现有方法对图2所示的海豚图的划分过程进行评价,评价结果如图4所示,其中NMI反应的是社区划分结果与实际划分结果相比的准确率。
从图5可以看出,本发明对图2划分后的NMI参数的值在第7代后就达到了1,而现有遗传算法对图2划分后的NMI参数的值最终都没有达到1,说明本发明的社区划分方法的准确率为100%,完全符合实际的网络社区划分结果。
综上,本发明提出的基于免疫克隆多目标优化的网络社区结构划分方法,将单目标问题转化为两个目标的多目标优化问题,可以一次运行同时得到多个解,有效地提高算法的搜索能力和划分的稳定性;加入社区划分类别数的先验信息,可以有效的提高社区划分结果的正确率;加入了克隆算子,在选择出非支配抗体后对其进行比例克隆,增加了解的多样性,可以有效地提高解的质量并且实现了全局择优;加入了模拟退火法进行局部搜索,可以有效地提高局部搜索能力,快速有效地实现网络中社区的划分。
Claims (5)
1.一种基于免疫克隆多目标优化的网络社区划分方法,包括如下步骤:
(1)读入一幅实际网络图,并生成网络图对应的邻接矩阵Aij;
(2)初始化:将运行次数it初始值设为0,最大运行次数G设为50,社区类别数x设为2,抗体群规模N(it)设为450,随机产生的抗体群Al(it)表示为:
Al(it)={al1(it),al2(it),…,alI(it)…,alN(it)(it)},
其中I=1,…,N(it),a lI(it)表示第I个抗体,N(it)表示抗体群规模,it表示当前运行次数;
(3)更新运行次数it,进行第it次运行:根据网络图的邻接矩阵Aij和抗体群Al(it),计算目标值矩阵Q(Al(it)):
Q(Al(it))=([Q1(Al(it))],[Q2(Al(it))]),
其中,Q1(Al(it))为第1个目标的目标值,Q2(Al(it))为第2个目标的目标值,Al(it)为抗体群,it为当前代数;Q1(Al(it))和Q2(Al(it))的表达式如下:
其中M是网络中的边的个数,M=159,i,j为社区中任意两个节点,ki和kj分别为节点i和节点j的度,Aij是网络中的邻接矩阵,δ(i,j)表示社区中i和节点j的连接关系,如果节点i和节点j在一个社区中,则δ(i,j)=1,否则为δ(i,j)=0;
(4)根据计算出的目标值矩阵,将抗体群中的抗体划分为支配抗体群和非支配抗体群,其中非支配抗体群A(it)表示如下:
A(it)={a1(it),…,ap(it),…,an(it)},
其中p=1,…,n,ap(it)表示第p个非支配抗体,n表示非支配抗体个数,it表示当前代数;
(5)对非支配抗体群A(it)执行克隆操作,克隆后的抗体群A′(it)表示为:
其中p=1,…,n,n为非支配抗体个数,f=1,…,q,q为克隆比例,为第p个抗体的f次克隆,it表示当前代数;
(6)对克隆后的抗体群A′(it)进行交叉操作和变异操作,构成父代抗体群;
(7)用模拟退火法对父代抗体群中的抗体进行局部搜索,得到的新的抗体加入到父代抗体群中,构成子代抗体群:
(7a)设置初始参数:初始运行温度E为0.8×106,常数H为0.99,运行次数C为10,选出父代抗体群中目标矩阵最大的抗体amax;
(7b)更新运行温度E,对抗体amax中节点进行多点变异操作,即对抗体amax中的多个节点进行变异操作;
(7c)判断运行温度E是否降到0,若降到0,终止运行,输出变异后的抗体;否则重复运行(7b);
(8)根据子代抗体群中抗体的目标矩阵的大小,对子代抗体群进行由大到小排序,选择出目标值矩阵和最大的450个抗体作为新的父代抗体群;
(9)判断步骤(3)中运行代数it是否达到最大运行次数50,若达到,则终止运行,输出新的父代抗体群中目标值矩阵最大的抗体,输出的抗体中对各个节点的划分就是社区的划分结果,并输出社区的划分结果;否则,将新的父代抗体群作为抗体群Al(it),在步骤(3)继续进行第it次运行,直到达到最大运行次数。
2.根据权利要求1所述的网络社区划分方法,其中步骤(1)所述的邻接矩阵Aij,表示为:
其中,cij表示邻接矩阵中的元素,i、j表示网络中任意两个节点,若节点i与节点j相连,则cij=1,否则cij=0。
3.根据权利要求1所述的网络社区划分方法,其中所述步骤(5)中的克隆操作,是指对步骤(4)中选择出非支配抗体群,进行6倍的克隆。
4.根据权利要求1所述的网络社区划分方法,其中所述步骤(6)中的交叉操作,为双向交叉,即两方向交叉。
5.根据权利要求1所述的网络社区划分方法,其中所述步骤(6)的变异操作,为单点变异,即将单个节点随机变异成1或2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210230092.3A CN102768735B (zh) | 2012-07-04 | 2012-07-04 | 基于免疫克隆多目标优化的网络社区划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210230092.3A CN102768735B (zh) | 2012-07-04 | 2012-07-04 | 基于免疫克隆多目标优化的网络社区划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102768735A CN102768735A (zh) | 2012-11-07 |
CN102768735B true CN102768735B (zh) | 2014-10-29 |
Family
ID=47096129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210230092.3A Expired - Fee Related CN102768735B (zh) | 2012-07-04 | 2012-07-04 | 基于免疫克隆多目标优化的网络社区划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102768735B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455610B (zh) * | 2013-09-01 | 2017-01-11 | 西安电子科技大学 | 基于多目标密母计算的网络社区检测方法 |
CN107169871B (zh) * | 2017-04-20 | 2020-08-28 | 西安电子科技大学 | 一种基于关系组合优化和种子扩张的多关系社区发现方法 |
CN109376779B (zh) * | 2018-10-19 | 2020-10-27 | 西安交通大学 | 一种复杂机电系统服役模式自动识别方法 |
CN115662498B (zh) * | 2022-12-29 | 2023-03-10 | 天津大学 | 一种基于改进多目标进化算法的生物代谢路径设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413029A (zh) * | 2012-01-05 | 2012-04-11 | 西安电子科技大学 | 基于分解的局部搜索多目标复杂动态网络社区划分方法 |
CN102521655A (zh) * | 2012-01-05 | 2012-06-27 | 西安电子科技大学 | 基于非支配邻域免疫算法的动态网络社区检测方法 |
-
2012
- 2012-07-04 CN CN201210230092.3A patent/CN102768735B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413029A (zh) * | 2012-01-05 | 2012-04-11 | 西安电子科技大学 | 基于分解的局部搜索多目标复杂动态网络社区划分方法 |
CN102521655A (zh) * | 2012-01-05 | 2012-06-27 | 西安电子科技大学 | 基于非支配邻域免疫算法的动态网络社区检测方法 |
Non-Patent Citations (6)
Title |
---|
A Multi-objective Genetic Algorithm for Community Detection in Networks;Clara Pizzuti;《21st International Conference on Tools with Artificial Intelligence,2009》;20091104;第379-386页 * |
Clara Pizzuti.A Multi-objective Genetic Algorithm for Community Detection in Networks.《21st International Conference on Tools with Artificial Intelligence,2009》.2009,第379-386页. |
Community Detection in Dynamic Social Networks Based on Multiobjective Immune Algorithm;Mao-Guo Gong et al;《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》;20120531;第27卷(第3期);第455-467页 * |
Mao-Guo Gong et al.Community Detection in Dynamic Social Networks Based on Multiobjective Immune Algorithm.《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》.2012,第27卷(第3期),第455-467页. |
免疫克隆多目标优化算法求解约束优化问题;尚荣华等;《软件学报》;20081130;第19卷(第11期);第2943-2956页 * |
尚荣华等.免疫克隆多目标优化算法求解约束优化问题.《软件学报》.2008,第19卷(第11期),第2943-2956页. |
Also Published As
Publication number | Publication date |
---|---|
CN102768735A (zh) | 2012-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413029B (zh) | 基于分解的局部搜索多目标复杂动态网络社区划分方法 | |
CN108694469A (zh) | 一种基于知识图谱的关系预测方法 | |
US11831505B2 (en) | Method and system of hybrid data-and-model-driven hierarchical network reconfiguration | |
CN103208027B (zh) | 基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法 | |
CN102663499B (zh) | 基于模拟退火遗传算法的网络社区划分方法 | |
CN103345657A (zh) | 云计算环境下基于遗传和蚁群的任务调度方法 | |
CN102768735B (zh) | 基于免疫克隆多目标优化的网络社区划分方法 | |
CN106934722A (zh) | 基于k节点更新与相似度矩阵的多目标社区检测方法 | |
Chen et al. | Mngnas: distilling adaptive combination of multiple searched networks for one-shot neural architecture search | |
CN103838820B (zh) | 基于近邻传播的进化多目标优化社区检测方法 | |
CN106326637A (zh) | 一种基于局部有效路径度的链路预测方法 | |
CN104200272A (zh) | 一种基于改进遗传算法的复杂网络社区挖掘方法 | |
WO2019154215A1 (zh) | 机器人运行路径生成方法、计算设备及存储介质 | |
CN103428804B (zh) | 寻找片上网络任务与节点间映射方案及网络编码位置方法 | |
CN104616084A (zh) | 一种装配序列规划方法 | |
CN101616074B (zh) | 基于量子进化的组播路由优化方法 | |
CN106953768A (zh) | 一种网络可靠性模型及混合智能优化方法 | |
CN103577899B (zh) | 一种基于可靠性预测与QoS相结合的服务组合方法 | |
CN103473599A (zh) | 一种基于遗传算法和卡尔曼滤波的rbfn组合训练方法 | |
CN101909078A (zh) | 一种基于新服务集构造的动态服务选择方法 | |
CN102521649A (zh) | 基于密母计算的网络社区结构检测方法 | |
CN102799940B (zh) | 基于遗传算法和先验知识的网络社区划分方法 | |
CN104615679A (zh) | 一种基于人工免疫网络的多智能体数据挖掘方法 | |
CN104156462A (zh) | 基于元胞自动学习机的复杂网络社团挖掘方法 | |
CN102158413B (zh) | 基于邻域免疫克隆选择的多智能体组播路由方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141029 Termination date: 20190704 |
|
CF01 | Termination of patent right due to non-payment of annual fee |