CN104268629A - 一种基于先验信息和网络固有信息的复杂网络社区检测方法 - Google Patents

一种基于先验信息和网络固有信息的复杂网络社区检测方法 Download PDF

Info

Publication number
CN104268629A
CN104268629A CN201410468395.8A CN201410468395A CN104268629A CN 104268629 A CN104268629 A CN 104268629A CN 201410468395 A CN201410468395 A CN 201410468395A CN 104268629 A CN104268629 A CN 104268629A
Authority
CN
China
Prior art keywords
network
node
population
value
individual
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.)
Granted
Application number
CN201410468395.8A
Other languages
English (en)
Other versions
CN104268629B (zh
Inventor
刘若辰
焦李成
李冰杰
刘红英
王爽
马晶晶
张向荣
尚荣华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201410468395.8A priority Critical patent/CN104268629B/zh
Publication of CN104268629A publication Critical patent/CN104268629A/zh
Application granted granted Critical
Publication of CN104268629B publication Critical patent/CN104268629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明属于进化计算和复杂网络社区挖掘技术领域,具体公开了一种基于先验信息和网络固有信息的复杂网络社区检测方法,主要用于复杂网络的社区划分问题。其过程为:构建网络邻接矩阵;使用邻接矩阵信息初始化种群;根据邻接矩阵固有的信息进行预处理操作,减少无效搜索;优化模块度函数Q;采用基因交叉操作和变异操作;使用基于变异和网络固有信息的局部搜索方法LSMM;使用评价函数NMI测试社区划分结果。本发明充分利用先验知识和网络邻接矩阵所包含固有信息对社区网络进行检测。本发明采用基于变异和网络固有信息的局部搜索算法,更有效的得到最优解。本发明方法比一般遗传算法能更好的发现真实世界网络和人工合成网络的社区结构。

Description

一种基于先验信息和网络固有信息的复杂网络社区检测方法
技术领域
本发明属于进化计算领域和复杂网络社区挖掘技术领域,涉及在复杂网络领域采用进化计算方法对网络进行社区划分的方法,具体是一种基于先验信息和网络固有信息的复杂网络社区检测方法。 
背景技术
现实世界中存在各种各样的复杂网络,如城市中密集的交通网络、电力网络;大自然中的生态网络;人类社会中的人与人之间上网关系网络等。随着社会和科技的日益发展,人类需要对各种自然和人工的复杂网络有更好的认识。因此,复杂网络研究已经成为最重要的多学科交叉研究领域之一。社区结构是真实世界中许多复杂网络所具有的一种普遍性质,研究复杂网络的社区特性有利于我们更好的研究复杂网络。对复杂网络社区结构的研究方法又可以称为复杂网络的社区检测方法。复杂网络社区检测的几种常见方法有:基于图分割的方法,基于聚类的方法,基于优化函数的方法,基于进化计算的优化方法等。遗传算法是进化计算中的一种方法,它求解问题时不依赖问题的具体领域,而只需要影响搜索方向的目标函数和相应的适应度函数,对问题种类具有很强的鲁棒性,从而应用于许多领域。使用遗传算法优化目标函数用于复杂网络的社区检测是一种新的研究方法。然而,传统的遗传算法存在一些缺点,传统遗传算法不能很好的利用原始网络的节点之间的连接关系,即网络的固有信息得不到充分利用,导致算法得不到好的划分结果;传统遗传算法是对整个目标的可行域进行搜 索,存在着过多的无效搜索;传统遗传算法,只是依靠简单交叉变异操作,常导致划分结果不稳定,每次的划分结果偏差大。 
发明内容
本发明的目的在于克服传统遗传算法中不能很好的利用原始网络所包含的固有信息所导致的网络划分结果不好,以及传统遗传算法由于其搜索范围是整个可行域空间导致存在过多的无效搜索,并且传统遗传算法每次运行结果不稳定的问题。为此,本发明提出了一种局部搜索算法,具体是一种基于先验信息和网络固有信息的复杂网络社区检测方法,包括如下步骤: 
1)构建待检测复杂网络对应的邻接矩阵A:将具体的网络抽象为由点集和边集组成的图G(V,E),V表示节点的集合,E表示边的集合,图G(V,E)中节点与节点之间的连接关系存储在邻接矩阵A中,即如果图中节点i和节点j之间有边直接相连,则在邻接矩阵A中对应的元素Aij=1,否则Aij=0,邻接矩阵A中只有0和1两种元素值; 
2)初始化种群Spop:种群个体的编码方式采用字符串编码方式,对于一个个体G,G表示为一个正整数串,G=[g1,g2,...,gN],其中,N为节点的总数目,gi是一个正整数,gi为个体G的一个基因,i∈{1,2,...,N},表示节点i属于gi类,如果gi=gj(i≠j),则他们属于同一个社区划分,否则他们属于不同的社区;为把社区划分问题转化为寻找适应度最好的个体,将一个个体对应一种社区划分;在初始化时,把真实网络的真实社区数目label_max作为先验信息,同时利用网络邻接矩阵固有信息对种群进行初始化;当一个个体初始化时,每一个基因随机为该基因对应节点的邻居节点的基因值;如果该基因对应的邻居节点还未被初始化,那么随机为一个在[1,label_max]范围内的一个正整数,它的邻居节点是指和它有边直接相连的节点集合;随 机产生popsize个上述种群个体,popsize为需要初始化的种群个体数目; 
3)对产生的初始种群采取预处理操作:对于种群Spop中任意一个个体G=[g1,g2,...,gN],把个体G依次进行如下操作:把个体G=[g1,g2,...,gN]中g1到gN依次更新为其邻居节点中社区标签值出现最多的标签值,并且每个节点对自身标签的更新不受其他节点的影响; 
4)对种群Spop的所有个体计算适应度函数模块度Q; 
5)精英保存策略:找到并保存种群Spop中适应度值f最大的个体,也就是保存种群的最优个体; 
6)种群选择操作:从种群Spop中找出popsize个个体用于进行下交叉变异操作;选择操作采用锦标赛法,操作方法是,随机的从种群Spop中选取两个个体,比较适应度函数Q值的大小,适度值大的个体被选择,选取popsize次,得到popsize个个体; 
7)种群交叉操作:从种群Spop中任意选取两个个体A和B,以概率pc进行交叉操作;对于进行交叉的两个父代个体A和B,随机的选择两个点i,j,i≤j≤N,N是网络中节点的总数目,以等概率进行选取三个操作中的一个进行交叉操作:交换个体A和个体B中第1个到第i个基因;交换个体A和B中第i个到第j个基因;交换个体A和B中第j个到第N个基因; 
8)种群变异操作:对于种群Spop,popsize个个体逐个进行变异操作;具体操作为:对于任意一个个体G=[g1,g2,...,gN],从g1到gN以概率pm进行变异,随机的把gi变异为节点i的邻居节点中其中一个邻居节点的基因值; 
9)局部搜索算法:采用基于变异的局部搜索方法LSMM;LSMM方法的主要步骤如下,首先在一代中,把种群的popsize个个体按适应度值进行从大到小的顺序排列,对其中前个个体进行局部搜索;局部搜索过程 中,对每一个个体的每一个基因找到该基因节点对应的所有的邻居节点的不同的基因值,并且存储它们,把出现次数最多的基因值替换原有的基因值; 
10)对种群Spop的所有个体计算适应度函数模块度Q; 
11)重复(4)到(10)直到迭代次数达到Gmax为止,其中Gmax为种群迭代次数。 
上述步骤(4)所述的“计算适应度函数模块度Q”,按如下步骤进行: 
(2a)模块度Q函数为: Q = 1 2 m Σ i , j ( a ij - k i k j 2 m ) δ ( i , j )
其中,m为网络中边的总数目;i,j=1,2,...,N,N为网络中节点的总数目;aij为邻接矩阵Aij第i行第j列的元素值;ki和kj分别是节点i和节点j的度值,即和该节点相连的节点的数目;如果节点i和节点j在同一个社区,则δ(i,j)=1,否则δ(i,j)=0; 
(2b)计算m的值,m的值为邻接矩阵A中所有元素值之和的二分之一; 
(2c)对于网络中的节点i,j=1,2,...,N,N为网络中节点的总数目,计算ki、kj和δ(i,j)的值,进一步计算的值; 
(2d)计算模块度Q的函数值得到模块度函数值。 
本发明的有益效果:本发明使用模块度作为目标函数,采用遗传算法作为优化方法,并充分利用先验知识和原始网络固有信息对社区网络进行检测。本发明构建复杂网络对应的邻接矩阵,采用遗传算法优化模块度函数,在遗传算法中的种群初始化、种群预处理、交叉、变异以及局部搜索充分利用先验知识和网络的邻接矩阵所包含的固有信息。本发明把网络的社区结构数目信息作为先验信息,使算法有更好的目的性,同时可以提高 社区检测的稳定性和精确性。另一方面,很多真实网络的社区结构数目是已知的,算法可以直接使用该信息。同时对于一些社区结构未知的网络,我们可以先使用传统简单的方法检测出网络可能的社区结构数目,然后把得到的信息作为本发明算法的先验信息使用。网络邻接矩阵的固有信息在本发明算法中的种群初始化、预处理种群操作、变异操作、局部搜索操作中得到充分使用。遗传算法中还采用精英保存策略用于保存历史最优结果,避免最优结果的丢失。 
本发明具有以下优点: 
1、本发明充分利用先验知识和原始网络邻接矩阵所包含固有信息对社区网络进行检测。 
2、本发明在种群初始化之后添加预处理操作,利用网络邻接矩阵包含的固有信息对初始化种群进行预处理操作,可以缩小搜索空间,减少无效搜索。 
3、本发明采用基于变异和网络固有信息的局部搜索算法,更有效的得到最优解。 
4、仿真实验结果表明,本发明方法比只有交叉变异操作的一般遗传算法在真实世界网络和人工合成网络能更好的发现社区结构。 
附图说明
图1是本发明的流程示意图; 
图2是本发明在四个真实世界网络的仿真结果图; 
图3是本发明在人工合成网络的仿真结果图; 
具体实施方式
参照图1,本发明的具体实现步骤如下: 
步骤一、构建待检测复杂网络对应的邻接矩阵A。 
复杂网络中的节点和连接信息通常采用图的方式来表示,表示为节点和边的集合。对复杂网络进行社区划分时,将具体的网络可抽象为由点集和边集组成的图G(V,E),V表示节点的集合,E表示边的集合,E中的每条边都有V种的一对点与之对应。通常用邻接矩阵来表示和存储图G(V,E)。对于图G(V,E),构造邻接矩阵A=Aij,如果图中节点i和节点j之间有边相连,则在邻接矩阵A中对应的元素Aij=1,否则Aij=0,所以邻接矩阵A中只有0和1两种元素值。 
步骤二、初始化种群Spop。 
种群个体的编码方式采用字符串编码方式,对于一个种群个体G,G表示为一个正整数串,如G=[g1,g2,...,gN],其中,N为节点的总数目,gi是一个正整数,gi为个体G的一个基因,i∈{1,2,...,N},表示节点i属于gi类,如果gi=gj(i≠j),则意味着他们属于同一个社区划分,否则他们属于不同的社区;一个个体对应一种社区划分,其目的就是把社区划分问题转化为寻找适应度最好的个体;在初始化时,把真实网络的真实社区数目label_max作为先验信息,同时充分利用网络邻接矩阵固有信息对种群进行初始化。邻接矩阵中邻居节点属于同一社区的可能性很大,所以,每一个个体初始化时,每一个基因随机为该基因对应节点的邻居节点的基因值;如果该基因对应的邻居节点还未被初始化,那么随机为一个在[1,label_max]范围内的一个正整数。它的邻居节点是指和它有边直接相连的节点集合。随机产生popsize个上述种群个体,popsize为需要初始化的种群个体数目。 
步骤三、对产生的初始种群Spop采取预处理操作。 
在遗传算法之前,加入预处理操作。邻接矩阵中包含一些固有信息, 对于社区结构比较紧密的网络,一些节点相互连接可以很轻易地知道它们是属于一个社区的,但是初始化时,是完全随机的,如果之后直接进行遗传操作,那么将花费较多的时间,所以我们利用邻接矩阵中包含的固有信息进行预处理,可以缩小搜索空间,减少无效搜索。这个预处理的思想来源于如下直观现象:“在具有明显社区结构的复杂网络中,如果网络的每个节点和它的大多数邻居节点处在同一个社区内,那么一般来说这个社区结构是较合理的”。预处理的主要步骤如下:对于任意一个个体G=[g1,g2,...,gN],把G中每个基因都赋值为一个随机的标签值,然后进行有限次如下迭代,即每个节点i都将它的标签值gi更新为其多数邻居节点所在的社区标签值。每个节点对自身标签的更新不受其他节点的影响,从而可保持初始种群的多样性。它的邻居节点是指和它有边直接相连的节点集合。如此迭代几次之后,新的种群个体一般都具有较好的聚类精度。 
步骤四、对种群Spop的所有个体计算适应度函数模块度Q。 
计算适度函数模块度Q。模块度函数为:
m为网络中边的总数目;i,j=1,2,...,N,N为网络中节点的总数目;aij为邻接矩阵Aij第i行第j列的元素值;ki和kj分别是节点i和节点j的度值,即和该节点相连的节点的数目;如果节点i和节点j在同一个社区,则δ(i,j)=1,否则δ(i,j)=0。模块度的值越大说明社区划分效果越好。 
适应度函数模块度Q具体按如下步骤进行: 
(a)模块度Q函数为: Q = 1 2 m Σ i , j ( a ij - k i k j 2 m ) δ ( i , j )
其中,m为网络中边的总数目;i,j=1,2,...,N,N为网络中节点的总数目;aij为邻接矩阵Aij第i行第j列的元素值;ki和kj分别是节点i和节点j的 度值,即和该节点相连的节点的数目;如果节点i和节点j在同一个社区,则δ(i,j)=1,否则δ(i,j)=0; 
(b)计算m的值,m的值为邻接矩阵A中所有元素值之和的二分之一; 
(c)对于网络中的节点i,j=1,2,...,N,N为网络中节点的总数目,计算ki、kj和δ(i,j)的值,进一步计算的值; 
(d)计算模块度Q的函数值得到模块度函数值。 
步骤五、精英保存策略。 
在遗传算法中,最优个体可能因为交叉、变异等操作而导致丢失,所以我们保存在遗传算法迭代遗传中出现的最优个体,然后直接给下一代无需进过交叉变异等操作。找到并保存种群Spop中适应度值f最大的个体,也就是保存种群的最优个体。 
步骤六、种群选择操作。 
对于一代种群Spop可能出现个体适应度很差的,如果用于交叉变异操作,那么很难产生适应度得到提升的个体。同时,为了使种群具有一定的多样性,避免陷入局部最优的情况,所以不能简单的选取适应度好的一些个体。采用一定的适应度选择操作时必须的。从种群Spop中找出popsize个个体用于进行下交叉变异操作。采用锦标赛法,操作方法是,随机的从种群Spop中选取两个个体,比较适应度,适度大的被选择,一直选取,直到选取到popsize个个体为止。 
步骤七、种群交叉操作。 
许多遗传算法采取单点交叉和两点交叉操作,这两种方法中,对于一个个体,位于边缘的基因发生交叉的概率要比中间部位的概率小或者某些 基因过多的交叉,而另外一下基因很少交叉。为了克服这个缺点,均匀交叉的方法是一个不错的选择。从种群Spop中任意选取两个个体A和B,如果以概率pc进行均匀交叉操作。对于两个父代个体A和B,随机的选择两个点i,j,i≤j≤N,N是网络中节点的总数目。以等概率进行选取三个操作中的一个进行交叉操作:交换个体A和B中第1个到第i个基因之间的基因值;交换个体A和B中第i个到第j个基因之间的基因值;交换个体A和B中第j个到第N个基因之间的基因值。 
步骤八、种群变异操作。 
变异操作中也利用网络的固有信息,在变异过程中,当一个个体被选择进行变异操作时,如个体A,随机选择个体A中的一个基因gi,然后把变异为节点i的邻居节点中其中一个邻居节点的基因值,这样可以缩小搜索空间,减小无效搜索。对于种群Spop,popsize个个体逐个进行变异操作。具体操作为:对于任意一个个体G=[g1,g2,...,gN],从g1到gN以一定概率pm进行变异,随机的把gi变异为节点i的邻居节点中其中一个邻居节点的基因值。 
步骤九、执行局部搜索算法。 
在局部搜索中,为了加快搜索过程,同样是使用网络固有信息。在变异操作中不能太高频率的变异,否则容易破坏已得到的解,而在局部搜索中,可以利用邻居节点在同一社区的可能性较大的特点,充分的利用变异等操作,可以更快的找到最优解。在遗传算法的迭代的每一代中,总存在一些个体适应度相较于大多数个体较好的,对这些个体采用局部搜索可以更快的进化,从而接近最优解甚至找到最优解。我们使用基于变异的局部搜索方法LSMM(local search with mutation operator method)。LSMM算法的主要步骤说明如下:首先在一代中,找到一定数目的具有高适应度 值的个体,然后对每一个个体的每一个基因找到该基因节点对应的所有的邻居节点的不同的基因值,并且存储它们,把出现次数最多的基因值替换原有的基因值。对于选出的每一个个体的每一个基因都采取如上操作。 
步骤十、对种群Spop的所有个体计算适应度函数模块度Q。 
重复步骤四到步骤十直到迭代次数达到Gmax为止。 
本发明的的效果可通过以下仿真进一步说明: 
1仿真内容:应用本发明方法和MIGA方法,MA方法,GA方法分别对四个真实世界网络zachary networks、football networks、dolphins networks、books networks和人工合成网络benchmark networks进行社区划分,比较NMI(Normalized Mutual Information)值进行比较各自的算法性能。 
MIGA方法见尚荣华等于2013年在Physical A上发表的文章Community detection based on modularity and an improved genetic algorithm。 
MA方法见公茂果、付宝等于2010年在Physical Review E上发表的文章Memetic algorithm for community detection in networks。 
GA方法见R.Halalai,C.Lemnaru,R.Potolea于2010在Processing Conference Intelligent Computer Communication上发表的文章Distributed community detection in social networks with genetic algorithm。 
2仿真实验结果 
为了评价本发明算法得到的节的质量我们使用评价指标函数NMI(Normalized Mutual Information)。NMI在实验中用来衡量算法检测的结 果与真实的网络划分之间的相似度,其定义如下:给定一个网络的的两个划分A和B,假设C是混淆矩阵(confusion matrix),其元素Cij是在划分A社区i中的同时也在划分B社区j的结点个数,划分A和B的NMI定义为: 
其中CA(CB)是A(B)中的社区数,Ci.(C.j)是C中第i行(j列)元素之和,N是节点数目。如果A=B,则I(A,B)=1,如果A和B完全不同,则I(A,B)=0,NMI的值越接近于1,表示两个划分之间越相似。 
A在真实世界网络上的实验结果 
NMI ( A , B ) = - 2 Σ i = 1 c A Σ j = 1 c B C ij log ( C ij N / C i . C . j ) Σ i = 1 c A C i . log ( C i . / N ) + Σ j = 1 c B C . j log ( C . j / N )
图2显示了四个算法在30次四个真实世界网络运行结果的盒须图。其中MGA_net是本发明的算法。在盒须图中,横向虚线代表30次的中值,上下两条边界线分别表示四分之一值和四分之三值,那个加的符号表示不存在的值或者是孤立的值。 
图2(A)显示MGA_net算法在zachary’s karate club网络上的NMI值一直都是1,这说明算法30次划分的社区结构和真实网络结构一样。对于MIGA算法其值只有0.8到1,对于MA和GA算法都不足0.7。这说明MGA_net算法在划分zachary网络比MIGA,MA和GA算法要更加有效。 
图2(B)显示MGA_net算法在dolphins网络的划分上比MIGA,MA和GA算法要更加有效。 
图2(C)显示MGA_net算法在books网络上划分的效果。可以看出,MGA_net算法的NMI值都在0.6以上,而MIGA的NMI值只有0.6左右,MA的NMI值小于0.5,GA的NMI值小于0.55,。说明MGA_net算法在dolphins 网络上的划分效果要比MIGA,MA和GA更好。 
图2(D)显示MGA_net算法在football网络上划分效果。MGA_net算法的NMI值变化范围是0.88~0.9,MIGA和MA要比MGA_net算法要好一些,但MGA_net算法在人工合成网络上要远比它们要好,所以这一点是可以接受的。 
B在人工合成网络上的实验结果 
通过调节参数μ从0~0.5,构造了11个不同的网络。图3显示了四个算法在11个人工合成网络上的NMI值。图3显示MGA_net算法的NMI值为1当μ从0到0.45时,且当μ=0.5时,其NMI值仍要大于0.5。对于MIGA算法,MA算法,GA算法,当μ的值大于0.35时,它们不能正确的划分社区结构。这个图显示了MGA_net算法比MIGA算法,MA算法,GA算法有较好的结果。 
表格中的数据为四个算法在四个真实世界网络30次算法运行的中值结果对比,可以看出MGA_net比MIGA算法,MA算法,GA算法有较好的结果。 
综上,本发明使用模块度作为目标函数,采用遗传算法作为优化方法, 并充分利用先验知识和原始网络固有信息对社区网络进行检测。本发明构建复杂网络对应的邻接矩阵,采用遗传算法优化模块度函数,在遗传算法中的种群初始化、种群预处理、交叉、变异以及局部搜索充分利用先验知识和网络的邻接矩阵所包含的固有信息。本发明把网络的社区结构数目信息作为先验信息,使算法有更好的目的性,同时可以提高社区检测的稳定性和精确性。另一方面,很多真实网络的社区结构数目是已知的,算法可以直接使用该信息。同时对于一些社区结构未知的网络,我们可以先使用传统简单的方法检测出网络可能的社区结构数目,然后把得到的信息作为本发明算法的先验信息使用。网络邻接矩阵的固有信息在本发明算法中的种群初始化、预处理种群操作、变异操作、局部搜索操作中得到充分使用。遗传算法中还采用精英保存策略用于保存历史最优结果,避免最优结果的丢失。 
本发明具有以下优点: 
1、本发明充分利用先验知识和原始网络邻接矩阵所包含固有信息对社区网络进行检测。 
2、本发明在种群初始化之后添加预处理操作,利用网络邻接矩阵包含的固有信息对初始化种群进行预处理操作,可以缩小搜索空间,减少无效搜索。 
3、本发明采用基于变异和网络固有信息的局部搜索算法,更有效的得到最优解。 
4、仿真实验结果表明,本发明方法比只有交叉变异操作的一般遗传算法在真实世界网络和人工合成网络能更好的发现社区结构。 
本实施例没有详细叙述的部分属本行业的公知的常用手段,这里不一 一叙述。以上例举仅仅是对本发明的举例说明,并不构成对本发明的保护范围的限制,凡是与本发明相同或相似的设计均属于本发明的保护范围之内。 

Claims (2)

1.一种基于先验信息和网络固有信息的复杂网络社区检测方法,其特征在于:包括如下步骤: 
1)构建待检测复杂网络对应的邻接矩阵A:将具体的网络抽象为由点集和边集组成的图G(V,E),V表示节点的集合,E表示边的集合,图G(V,E)中节点与节点之间的连接关系存储在邻接矩阵A中,即如果图中节点i和节点j之间有边直接相连,则在邻接矩阵A中对应的元素Aij=1,否则Aij=0,邻接矩阵A中只有0和1两种元素值; 
2)初始化种群Spop:种群个体的编码方式采用字符串编码方式,对于一个个体G,G表示为一个正整数串,G=[g1,g2,...,gN],其中,N为节点的总数目,gi是一个正整数,gi为个体G的一个基因,i∈{1,2,...,N},表示节点i属于gi类,如果gi=gj(i≠j),则他们属于同一个社区划分,否则他们属于不同的社区;为把社区划分问题转化为寻找适应度最好的个体,将一个个体对应一种社区划分;在初始化时,把真实网络的真实社区数目label_max作为先验信息,同时利用网络邻接矩阵固有信息对种群进行初始化;当一个个体初始化时,每一个基因随机为该基因对应节点的邻居节点的基因值;如果该基因对应的邻居节点还未被初始化,那么随机为一个在[1,label_max]范围内的一个正整数,它的邻居节点是指和它有边直接相连的节点集合;随机产生popsize个上述种群个体,popsize为需要初始化的种群个体数目; 
3)对产生的初始种群采取预处理操作:对于种群Spop中任意一个个体G=[g1,g2,...,gN],把个体G依次进行如下操作:把个体G=[g1,g2,...,gN]中g1到gN依次更新为其邻居节点中社区标签值出现最多的标签值,并且每个节点对自身标签的更新不受其他节点的影响; 
4)对种群Spop的所有个体计算适应度函数模块度Q; 
5)精英保存策略:找到并保存种群Spop中适应度值f最大的个体,也就是保存种群的最优个体; 
6)种群选择操作:从种群Spop中找出popsize个个体用于进行下交叉变异操作;选择操作采用锦标赛法,操作方法是,随机的从种群Spop中选取两个个体,比较适应度函数Q值的大小,适度值大的个体被选择,选取popsize次,得到popsize个个体; 
7)种群交叉操作:从种群Spop中任意选取两个个体A和B,以概率pc进行交叉操作;对于进行交叉的两个父代个体A和B,随机的选择两个点i,j,i≤j≤N,N是网络中节点的总数目,以等概率进行选取三个操作中的一个进行交叉操作:交换个体A和个体B中第1个到第i个基因;交换个体A和B中第i个到第j个基因;交换个体A和B中第j个到第N个基因; 
8)种群变异操作:对于种群Spop,popsize个个体逐个进行变异操作;具体操作为:对于任意一个个体G=[g1,g2,...,gN],从g1到gN以概率pm进行变异,随机的把gi变异为节点i的邻居节点中其中一个邻居节点的基因值; 
9)局部搜索算法:采用基于变异的局部搜索方法LSMM;LSMM方法的主要步骤如下,首先在一代中,把种群的popsize个个体按适应度值进行从大到小的顺序排列,对其中前个个体进行局部搜索;局部搜索过程中,对每一个个体的每一个基因找到该基因节点对应的所有的邻居节点的不同的基因值,并且存储它们,把出现次数最多的基因值替换原有的基因值; 
10)对种群Spop的所有个体计算适应度函数模块度Q; 
11)重复(4)到(10)直到迭代次数达到Gmax为止,其中Gmax为种群迭代次数。 
2.根据权利要求1所述的一种基于先验信息和网络固有信息的复杂网络社区检测方法,其特征在于:步骤(4)所述的“计算适应度函数模块度Q”,按如下步骤进行: 
(2a)模块度Q函数为:
其中,m为网络中边的总数目;i,j=1,2,...,N,N为网络中节点的总数目;aij为邻接矩阵Aij第i行第j列的元素值;ki和kj分别是节点i和节点j的度值,即和该节点相连的节点的数目;如果节点i和节点j在同一个社区,则δ(i,j)=1,否则δ(i,j)=0; 
(2b)计算m的值,m的值为邻接矩阵A中所有元素值之和的二分之一; 
(2c)对于网络中的节点i,j=1,2,...,N,N为网络中节点的总数目,计算ki、kj和δ(i,j)的值,进一步计算的值; 
(2d)计算模块度Q的函数值得到模块度函数值。 
CN201410468395.8A 2014-09-15 2014-09-15 一种基于先验信息和网络固有信息的复杂网络社区检测方法 Active CN104268629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410468395.8A CN104268629B (zh) 2014-09-15 2014-09-15 一种基于先验信息和网络固有信息的复杂网络社区检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410468395.8A CN104268629B (zh) 2014-09-15 2014-09-15 一种基于先验信息和网络固有信息的复杂网络社区检测方法

Publications (2)

Publication Number Publication Date
CN104268629A true CN104268629A (zh) 2015-01-07
CN104268629B CN104268629B (zh) 2017-02-15

Family

ID=52160149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410468395.8A Active CN104268629B (zh) 2014-09-15 2014-09-15 一种基于先验信息和网络固有信息的复杂网络社区检测方法

Country Status (1)

Country Link
CN (1) CN104268629B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850728A (zh) * 2015-02-10 2015-08-19 湖南大学 一种基于平均场理论和扩展系数的社会网络度分析方法
CN106157154A (zh) * 2016-07-21 2016-11-23 重庆大学 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法
CN107169871A (zh) * 2017-04-20 2017-09-15 西安电子科技大学 一种基于关系组合优化和种子扩张的多关系社区发现方法
CN110059806A (zh) * 2019-04-22 2019-07-26 浙江科技学院 一种基于幂律函数的多阶段加权网络社团结构检测方法
CN111047453A (zh) * 2019-12-04 2020-04-21 兰州交通大学 基于高阶张量分解大规模社交网络社区的检测方法及装置
CN111260491A (zh) * 2020-02-13 2020-06-09 南方科技大学 发现网络社区结构方法及系统
CN113206712A (zh) * 2021-05-11 2021-08-03 中南大学 一种软件无线电符合性测试方法及系统
CN113704570A (zh) * 2021-06-16 2021-11-26 香港理工大学深圳研究院 基于自监督学习式进化的大规模复杂网络社区检测方法
CN116702052A (zh) * 2023-08-02 2023-09-05 云南香农信息技术有限公司 一种社区社会信用体系信息处理系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103208027B (zh) * 2013-03-13 2015-07-22 北京工业大学 基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法
CN103324983B (zh) * 2013-06-08 2016-07-20 江苏大学 一种基于免疫遗传混合算法的机构运动链同构识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
白靖 等: "基于进化算法的复杂网络社区检测", 《中国优秀硕士论文信息科技辑》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850728A (zh) * 2015-02-10 2015-08-19 湖南大学 一种基于平均场理论和扩展系数的社会网络度分析方法
CN106157154A (zh) * 2016-07-21 2016-11-23 重庆大学 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法
CN106157154B (zh) * 2016-07-21 2021-07-30 重庆大学 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法
CN107169871B (zh) * 2017-04-20 2020-08-28 西安电子科技大学 一种基于关系组合优化和种子扩张的多关系社区发现方法
CN107169871A (zh) * 2017-04-20 2017-09-15 西安电子科技大学 一种基于关系组合优化和种子扩张的多关系社区发现方法
CN110059806A (zh) * 2019-04-22 2019-07-26 浙江科技学院 一种基于幂律函数的多阶段加权网络社团结构检测方法
CN111047453A (zh) * 2019-12-04 2020-04-21 兰州交通大学 基于高阶张量分解大规模社交网络社区的检测方法及装置
CN111260491A (zh) * 2020-02-13 2020-06-09 南方科技大学 发现网络社区结构方法及系统
CN111260491B (zh) * 2020-02-13 2023-11-28 南方科技大学 发现网络社区结构方法及系统
CN113206712A (zh) * 2021-05-11 2021-08-03 中南大学 一种软件无线电符合性测试方法及系统
CN113704570A (zh) * 2021-06-16 2021-11-26 香港理工大学深圳研究院 基于自监督学习式进化的大规模复杂网络社区检测方法
CN113704570B (zh) * 2021-06-16 2024-01-05 香港理工大学深圳研究院 基于自监督学习式进化的大规模复杂网络社区检测方法
CN116702052A (zh) * 2023-08-02 2023-09-05 云南香农信息技术有限公司 一种社区社会信用体系信息处理系统及方法
CN116702052B (zh) * 2023-08-02 2023-10-27 云南香农信息技术有限公司 一种社区社会信用体系信息处理系统及方法

Also Published As

Publication number Publication date
CN104268629B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN104268629A (zh) 一种基于先验信息和网络固有信息的复杂网络社区检测方法
CN102411687B (zh) 未知恶意代码的深度学习检测方法
Shang et al. Community detection based on modularity and an improved genetic algorithm
CN109241313A (zh) 一种基于高阶深度哈希学习的图像检索方法
CN106503148B (zh) 一种基于多知识库的表格实体链接方法
CN104598611B (zh) 对搜索条目进行排序的方法及系统
CN105976048A (zh) 一种基于改进人工蜂群算法的输电网扩展规划方法
CN106934722A (zh) 基于k节点更新与相似度矩阵的多目标社区检测方法
CN104933624A (zh) 复杂网络的社团发现方法及社团重要节点发现方法
CN108510050A (zh) 一种基于混洗蛙跳的特征选择方法
CN110347881A (zh) 一种基于路径回溯图嵌入的群体发现方法
CN104200272A (zh) 一种基于改进遗传算法的复杂网络社区挖掘方法
CN107122411A (zh) 一种基于离散多视图哈希的协同过滤推荐方法
CN105678401A (zh) 一种基于策略适应性差分进化的全局优化方法
Sun et al. An improved link prediction algorithm based on degrees and similarities of nodes
CN105740949A (zh) 一种基于随机性best策略的群体全局优化方法
Liu et al. Genetic algorithm optimizing modularity for community detection in complex networks
CN104899283A (zh) 一种针对单个不确定图的频繁子图挖掘与优化方法
CN104156462A (zh) 基于元胞自动学习机的复杂网络社团挖掘方法
CN105653686A (zh) 一种域名网址活跃度统计方法及系统
CN108694439A (zh) 一种贝叶斯网络的拓扑构建方法
CN104866588A (zh) 一种针对单个不确定图的频繁子图挖掘方法
CN112270336A (zh) 一种ga-bp工况识别方法及系统
Omidvar et al. An improved SSPCO optimization algorithm for solve of the clustering problem
Mokhtari et al. Improving Neural Architecture Search by Mixing a FireFly algorithm with a Training Free Evaluation

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