CN111260491B - 发现网络社区结构方法及系统 - Google Patents
发现网络社区结构方法及系统 Download PDFInfo
- Publication number
- CN111260491B CN111260491B CN202010090880.1A CN202010090880A CN111260491B CN 111260491 B CN111260491 B CN 111260491B CN 202010090880 A CN202010090880 A CN 202010090880A CN 111260491 B CN111260491 B CN 111260491B
- Authority
- CN
- China
- Prior art keywords
- network
- population
- sub
- community
- network model
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000005457 optimization Methods 0.000 claims abstract description 79
- 239000013598 vector Substances 0.000 claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 210000004556 brain Anatomy 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 76
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000035772 mutation Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 4
- 239000002356 single layer Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000008280 blood Substances 0.000 description 3
- 210000004369 blood Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了发现网络社区结构方法及系统。涉及人工智能领域,其中,方法通过获取构建的网络模型,然后对网络模型进行适应度优化得到优化结果,将优化结果转换为网络层次的社区结构。由于现实社会中的多层复杂网络模型各层次间存在一定相关性,且不同层次的社区结构显著性差异较大,因此利用复杂网络模型各层之间的相关性进行适应度优化,根据优化结果实现多层复杂网络模型不同网络层社区结构的协同检测,不需要事先指定社团总数,具有通用性和稳定性的特点。
Description
技术领域
本发明涉及人工智能领域,尤其是涉及一种发现网络社区结构方法及系统。
背景技术
现实世界中存在各种各样的复杂网络模型,例如社交关系网络、计算机网络、电力系统网络、交通网络以及生物分子网络等,因此研究复杂网络的拓扑结构和性质对促进相关领域的技术进步具有重要作用,一般来说构建网络模型来表征现实世界个体关系,网络模型中的一个社区定义为网络模型中一些节点的集合,这些节点之间的连接紧密,而不同社区节点之间的连接稀疏。发现复杂网络隐藏的社区结构不仅有助于分析网络的拓扑结构,实现高维网络模型的分块和降维,还有助于一系列与网络模型相关的实际问题的解决,例如:推荐系统、地图导航等软件的相关算法的设计都离不开网络社区结构的发现。
但是现有的构建复杂网络模型进行社区发现的方案多是从单层角度分析多层网络社区结构,忽略了层次间的相关性,或者直接将网络按照一个整体进行处理,忽视了单层网络之间的特殊性。传统网络社区发现方法有:层次聚类法、谱估计法、派系过滤法、随机游走法以及基于网络动力学的方法等。这些算法虽然在一定程度上解决了问题,但是仍然存在较多缺陷,例如需要事先指定网络社团个数、稳定性差、难以分析多层网络等。因此需要针对现实中的多层网络模型,提出一种具有通用性和稳定性,利用复杂网络模型各层之间的相关性以及单层网络特殊性发现网络社区结构方法。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种发现网络社区结构方法,能够针对现实中的多层网络模型,利用复杂网络模型各层之间的相关性发现网络社区结构。
第一方面,本发明的一个实施例提供了:一种发现网络社区结构方法,包括:
获取构建的网络模型;
对所述网络模型进行适应度优化得到优化结果;
将所述优化结果转换为网络层次的社区结构。
进一步地,构建所述网络模型时,利用向量表征所述网络模型每一个网络层社区结构,所述向量的元素表示所述网络层中每个节点所属的社区编号。
进一步地,所述对所述网络模型进行适应度优化得到优化结果包括:利用头脑风暴优化算法进行适应度优化得到优化结果。
进一步地,所述适应度优化的过程包括:
根据所述网络模型生成初始种群,并进行种群初始化;
将初始化后的种群进行种群分组构成子种群,所述子种群用于执行所述网络模型的其中一个网络层的社区发现;
生成新个体,并将所述新个体加入所述子种群;
计算每个所述子种群中个体的适应度值并更新所述子种群;
选取每个子种群中适应度值最大的个体作为所述子种群的优化结果。
进一步地,当所述新个体是从一个子种群中生成的,则在所述子种群中加入所述新个体;当所述新个体是从一个以上子种群中生成的,则根据选取原则从生成所述新个体的子种群中选择一个子种群加入所述新个体。
进一步地,更新所述子种群包括:
计算得到所述子种群中每个个体的适应度值并进行适应度值排序;
按照适应度值排序结果选取与所述子种群的种群规模数量相同的个体更新所述子种群。
进一步地,所述将所述优化结果转换为网络层次的社区结构包括:
将所述优化结果的向量中值相同的元素对应的节点划分为同一个社区,获得对应的社区结构。
本发明实施例至少具有如下有益效果:利用复杂网络模型各层之间的相关性进行适应度优化,根据优化结果实现多层复杂网络模型不同网络层社区结构的协同检测,不需要事先指定社团总数,具有通用性和稳定性的特点。
第二方面,本发明的一个实施例提供了:一种发现网络社区结构系统,包括:
获取模块:用于获取构建的网络模型;
优化模块:用于对所述网络模型的每一个网络层进行适应度优化得到优化结果;
转换模块:用于将所述优化结果转换为对应网络层的社区结构。
第三方面,本发明的一个实施例提供了:一种发现网络社区结构设备,包括:
至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如第一方面任一项所述的方法。
第四方面,本发明的一个实施例提供了:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一项所述的方法。
本发明实施例的有益效果是:
本发明实施例通过获取构建的网络模型,然后对网络模型进行适应度优化得到优化结果,将优化结果转换为网络层次的社区结构。由于现实社会中的多层复杂网络模型各层次间存在一定相关性,且不同层次的社区结构显著性差异较大,因此利用复杂网络模型各层之间的相关性进行适应度优化,根据优化结果实现多层复杂网络模型不同网络层社区结构的协同检测,不需要事先指定社团总数,具有通用性和稳定性的特点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是多层网络结构示意图;
图2是本发明实施例中发现网络社区结构方法的一具体实施例流程示意图原理示意图;
图3是本发明实施例中发现网络社区结构方法的一具体实施例原理示意图;
图4是本发明实施例中发现网络社区结构方法的一具体实施例一种具体流程图;
图5是本发明实施例中发现网络社区结构系统的一具体实施例结构框图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
现实世界中存在着大量的关系网络,其中有由物组成的网络,如宏观层面的道路交通网络、通信网络、车辆网络、电力网络等,以及微观层面的分子网络。也包括由人组成的网络,如社交网络等,这些网络都可以用复杂网络来表征与建模。从某种意义上说,世界就是由各种各样的复杂网络构成的。需要指出的是,这些现实世界中的网络都存在一定程度的社区结构,而发现这些社区结构对解决与网络相关的实际问题具有很大帮助。
实施例一:
本发明实施例一提供一种发现网络社区结构方法。用于分析具有多层结构的复杂网络中的每层网络的社区结构。
例如:可用来分析包含铁路网、公路网、航空网等立体交通网络的社区结构并以此为基础设计相应的路径规划和导航算法。具体的,在道路交通网络中,可以把地点看成节点,把连接各地的道路看成边,那么一个城市内部的地点就组成了一个网络意义上的社区,因为城市内部的道路较稠密,而连接不同城市节点的道路较为稀疏。同时,由于道路具有多种类型,如公路、铁路、飞机航线、轮船航线等,因此道路交通网络可以看做一种多层复杂网络。一个国家道路交通网络通常由铁路网、公路网、民航网等多种网络组合而成,这些网络之间存在一定相似性,而发现道路交通网络的社区结构对车辆人员导航以及交通调度都具有重要作用。
又比如,可用于分析由血缘关系、职务关系、财务往来等社会关系构成的多层次职务犯罪关系网络的社区结构,发现其中隐藏的犯罪团伙,并以此为基础实现职务犯罪潜在嫌疑对象的智能甄别等。一般来说在职务犯罪案件的侦查中,办案人员往往需要研究涉案对象之间的关系网络,这种关系网络通常以社交网络的形式出现且具有较为明显的社区结构。职务犯罪关系网络中的社区在犯罪学中通常被称为“团伙”,一个团伙内部的成员节点关系更加紧密,而不同团伙成员间的联系则相对稀疏。同时,社交网络中的关系往往具有多重属性,如:血缘关系、朋友关系、同学关系等,也包括各种形式的经济往来,因此职务犯罪关系网络本质上也是一个多层复杂网络且层与层之间存在较强的相似性。研究职务犯罪关系网络的社区结构可以帮助办案人员发现其中隐藏的犯罪团伙,当突破其中一个对象后便可以迅速锁定其他有犯罪嫌疑的人员,这就为犯罪对象筛查提供了便捷途径。同时,职务犯罪关系网络的社区发现也有助于办案人员搜索证据,为案件定性。因此发现职务犯罪关系网络的社区结构对职务犯罪案件的侦查和预防具有重要作用。
如图1所示,为多层网络结构示意图,图中示出了3层网络结构,多层网络结构中的每个网络层都是一个独立的子网络,能够反映网络节点之间的一种连接关系,一个多层网络一般由多个子网络组成,能够反映网络成员节点之间的多重关系。例如:由自然人组成的社交网络就是一种典型的多层网络,因为人与人之间往往具有多重关系,例如同事关系,血缘关系,同学关系等。发现网络社区结构可以帮助人们从不同角度、不同层面认识网络成员的关系属性。
图2为本发明实施例提供的一种发现网络社区结构方法的流程示意图,如图2所示,该方法包括以下步骤:
S1:获取构建的网络模型。
在本公开的一个实施例中,构建网络模型时,利用向量表征网络模型每一个网络层社区结构,向量的元素表示网络层中每个节点所属的社区编号。
S2:对网络模型的每一个网络层进行适应度优化得到优化结果,例如利用头脑风暴优化算法进行适应度优化得到优化结果。
S3:将优化结果转换为对应网络层的社区结构。
例如,将优化结果的向量中值相同的元素对应的节点划分为同一个社区,获得每个网络层对应的社区结构。
本实施例将网络模型中每个网络层看成一个独立的子系统进行分析,同时考虑各网络层之间的相关性。利用头脑风暴优化算法进行适应度优化得到优化结果,其中头脑风暴优化算法属于多任务演化优化算法,可以同时处理若干相关的优化任务(例如本实施例总中各网络层对应的子系统),利用优化任务之间的相关性,实现不同优化任务之间的信息传递和共享,实现优化任务之间的协调和配合,利用简单任务的优化结果实现复杂任务的优化,加速整体优化问题的解决。
如图3所示,为本实施例发现网络社区结构方法的原理示意图,首先将一个多层的复杂网络拆分为多个网络层,如第1层到第n层,然后将其中每一个网络层的社区发现过程作为一个优化任务进行处理,例如第1层作为优化任务1,第2层作为优化任务2…,利用多任务演化优化算法同时优化每一个网络层的适应度,然后输出每个网络层的的优化结果,最终根据优化结果得到社区划分得到社区结构,例如社区划分1、社区划分2、…、社区划分n。
下面结合图4,本实施例的发现网络社区结构方法一种具体流程图详细描述本实施例步骤S2中利用头脑风暴优化算法进行适应度优化得到优化结果的过程。
S21:根据网络模型生成初始种群,并进行种群初始化。
在本公开的一个实施例中,假设要处理的多层复杂网络有m个网络层,每个网络层包括n个节点,那么首先随机生成m*s个初始个体,其中s为设定的子种群规模。每个个体代表网络的单层社区结构的一种可能的划分方式。例如,可利用向量表征每一个网络层社区结构,向量的元素表示网络层中每个节点所属的社区编号,社区编号可选的是一个1到n之间的随机整数。
S22:将初始化后的种群进行种群分组构成子种群,子种群用于执行网络模型的其中一个网络层的社区发现。
将步骤S21中生成的所有个体分成m组,每一组构成一个子种群,负责一个网络层的社区发现任务。分组方式可以按照预设规则也可以随机分组,本实施例对此不做限定。
S23:选择一种生成方式生成新个体,并将新个体加入子种群。
在本公开的一个实施例中,生成新个体的方式有两种:
1)选择一个子种群,然后从该子种群中挑选两个个体,对其进行交叉或者变异操作生成两个新个体。该方式针对一个子种群,能够实现单一优化任务的优化。可以理解的是,本实施例可以随机选择一个子种群,然后随机挑选两个个体生成新个体。
2)选择两个子种群,然后从这两个子种群中各挑选一个个体,对其进行交叉或者变异操作生成两个新个体。该方式针对两个个子种群,能够根据不同优化任务之间的信息共享进行优化,进而促进各个优化任务的完成。可以理解的是,本实施例可以随机选择两个个子种群,然后从这两个子种群中随机挑选一个个体生成新个体。
在本公开的一个实施例中,可以根据需求、随机选择、依据概率随机选择上述两种生成新个体的方式,下面介绍依据概率随机选择上述两种生成新个体的方式其中一种实现方法。
首先生成一个0到1之间的随机数Rand,判断该随机数是否小于预设阈值p,若随机数小于预设阈值p,即Rand<p则按第一种方式生成新个体,否则按第二种方式生成新个体。可以理解的是,也可以根据其他概率随机方式选择生成新个体的方式,也可以当Rand<p则按第二种方式生成新个体,否则按第一种方式生成新个体,本实施例在此不做限定。
由于上述生成方式每次都可产生两个新个体,重复多次执行上述生成新个体的方式,直到产生了m*s个新个体。
例如一种根据生成新个体的方法为:针对两个个体的向量x1和x2,首先按下述公式交叉生成两个新个体的向量c1和c2:
c1=rand*x1+(1-rand)*x2
c2=rand*x2+(1-rand)*x1
其中,rand为一个0和1之间的随机数,然后将c1和c2向量中的每个元素按“四舍五入”的原则转换成整数。
变异过程描述为:当生成两个新个体后,分别对其施加变异操作:对新个体向量中的每个元素e,首先以一定变异概率r决定是否对其实施变异,即产生一个0到1之间的随机数,若其值小于变异概率r,则将元素e替换为一个1到n范围内的随机整数,否则保持元素e的值不变。
在本公开的一个实施例中,将新个体加入子种群中的方式对应于上述两种生成方式,分两种情况执行:当新个体是从单一的子种群中生成的,则在该子种群中加入新个体;当新个体是从一个以上子种群中生成的,则根据选取原则从生成所述新个体的子种群中选择一个子种群加入新个体,选取原则可以根据需求选择也可以随机选择一个。
S24:计算每个子种群中个体的适应度值并更新子种群。
在本公开的一个实施例中,计算各子种群中每个个体的适应度值的过程描述为:计算每个个体所代表的社区划分在其对应网络层上的适应度,将计算结果作为该个体的适应度值。其中网络层的适应度评价函数表示为:
其中,Q表示适应度值,i是社区编号,ei是社区i中内部边的数量,di是社区i中节点的度数之和,一个节点的度数定义为与之相连的边的总数,S是整个网络中边的总数。可以理解的是,适应度值越大,说明该网络的社区划分得越好。
社区结构表示为:
x=[x1,x2,…,xn]
其中,x表示网络的一种社区划分,xi,i∈{1,2,…,n}是网络中每个节点所属的社区编号,社区编号的取值为{1,2,…,n}集合内的整数,n是网络中节点的总数。因此本实施例将复杂网络的社区发现问题就转换成了一个优化问题,即寻找使该网络层适应度最大的解x*。
在本公开的一个实施例中,更新子种群的过程包括:
计算得到子种群中每个个体的适应度值并进行适应度值排序。
按照适应度值排序结果选取与子种群的种群规模s数量相同的个体更新子种群。
例如,根据演化算法中“优胜劣汰,适者生存”的原则,将每一个子种群中的个体按照适应度值排序,然后按照适应度值由高到低的排列顺序,从每个子种群中挑选出与该子种群的种群规模s数量相同的个体,更新构成当前的子种群,即也就是说,将每个子种群中适应度较差的一部分个体(包括初始个体和新个体)淘汰,筛选出较优个体并且保持各子种群的种群规模不变。
在本公开的一个实施例中,重复进行上述操作后,判断是否达到终止条件,例如,终止条件采用最大循环次数g为标志,即当每个子种群执行完g次更新操作时,循环终止,否则继续执行步骤S23~步骤S24,进行下一轮的迭代循环。需要说明的是,当再次循环执行时,新生成个体的计数需要清零重新生成。
S25:选取每个子种群中适应度值最大的个体作为子种群的优化结果,即将该个体所代表的社区划分作为相应网络层的社区结构划分,至此,实现了对网络模型进行适应度优化得到优化结果实现社区发现任务的目的。
上述步骤中s,g,p和r四个参数,其参数的值均可以根据需要设定。
本实施例按照演化原理,构造一个子种群进行演化,子种群中的每个个体为一个社区划分方案,通过交叉、变异等算子不断生成新个体,再通过种群更新实现优胜劣汰,最终找到最佳的社区划分。
实施例二:
本实施例提供一种发现网络社区结构系统,用于执行如实施例一的方法,如图5所示,为本实施例的发现网络社区结构系统结构框图,包括:
获取模块100:用于获取构建的网络模型;
优化模块200:用于对网络模型进行适应度优化得到优化结果;
转换模块300:用于将优化结果转换为网络层次的社区结构。
上述中发现网络社区结构系统各模块的具体细节已经在实施例一对应的发现网络社区结构方法中进行了详细的描述,因此此处不再赘述。
实施例三:
本实施例提供实施例一的方法的一种实现方法。
应用实施例一的方法,实用一台个人计算机,例如配置可以为:操作系统为Windows、intel酷睿系列CPU、4GB、128GB以上硬盘的个人计算机,上述配置仅作示例,不做限定。并通过在Matlab环境下通过编写程序实现实施例一的方法。Matlab是由美国MathWorks公司开发的一款功能强大的科学计算平台,可以实现大规模的科学运算以及数据处理,对大规模矩阵的处理能力较强,用于实施例一种方法的实现和运行。
具体过程可以利用Matlab平台首先需要将待处理的多层网络模型中的每个网络层的数据以.mat文件的格式存储于个人计算机中,单个网络层的数据可以采用矩阵形式存储,例如矩阵大小设定为n*n,矩阵中的每个元素的值(例如1或0)代表网络中编号为其行数的节点和编号为其列数的节点之间有无连接,然后编写函数实现实施例一方法的各功能模块。
例如在本公开的一个实施例中,分别采用不同的函数实现各功能模块,设置主函数负责读取网络模型数据,设定运行参数,控制算法循环,调配各函数执行相应功能以及输出社区发现结果。包含三个部分,分别为:系统输入部分,优化部分和系统输出部分,三个部分依次按顺序执行,例如:初始化函数负责初始化种群以及进行种群分组;新个体生成函数负责生成新个体;种群更新函数负责评价新个体并将其加入相应的子种群中,同时还负责更新各个子种群;适应度计算函数负责计算个体的适应度值。在编写完各功能函数后,多层复杂网络的社区发现系统就搭建完成,系统首先读取多层网络每个网络层的数据,然后执行头脑风暴优化算法进行每个网络层的适应度优化,之后输出每个网络层对应的适应度值最大的个体得到社区划分最优解,最后将最优解的解向量进行解析转换为各个网络层对应的社区结构。
另外,本发明还提供发现网络社区结构设备,包括:
至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如实施例一所述的方法。计算机程序即程序代码,当程序代码在发现网络社区结构设备上运行时,程序代码用于使发现网络社区结构设备执行本说明书上述实施例一部分描述的发现网络社区结构方法中的步骤。
另外,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,其中计算机可执行指令用于使计算机执行如实施例一所述的方法。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。
本发明实施例通过获取构建的网络模型,然后对网络模型进行适应度优化得到优化结果,将优化结果转换为网络层次的社区结构。由于现实社会中的多层复杂网络模型各层次间存在一定相关性,且不同层次的社区结构显著性差异较大,因此利用复杂网络模型各层之间的相关性进行适应度优化,根据优化结果实现多层复杂网络模型不同网络层社区结构的协同检测,不需要事先指定社团总数,具有通用性和稳定性的特点。
以上各实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (6)
1.一种发现网络社区结构方法,其特征在于,包括:
获取构建的网络模型;所述网络模型为多层结构的网络模型,所述网络模型为道路交通网络,所述道路交通网络包括多个独立的网络层,所述网络层由节点和边构成,所述节点表征地点,所述边表征道路,所述网络层包括:铁路网、公路网、民航网;
对所述网络模型的每一个网络层进行适应度优化得到优化结果;
将所述优化结果转换为网络层次的社区结构;
构建所述网络模型时,利用向量表征所述网络模型每一个网络层社区结构,所述向量的元素表示所述网络层中每个节点所属的社区编号;
所述将所述优化结果转换为对应网络层的社区结构包括:
将所述优化结果的向量中值相同的元素对应的节点划分为同一个社区,获得对应的社区结构;所述同一个社区中所述节点的所述社区编号相同,所述社区包括所述社区编号相同的所述地点;
所述适应度优化的过程包括:
根据所述网络模型生成初始种群,并进行种群初始化;
将初始化后的种群进行种群分组构成子种群,所述子种群用于执行所述网络模型的其中一个网络层的社区发现;
生成新个体,并将所述新个体加入所述子种群;
计算每个所述子种群中个体的适应度值并更新所述子种群;
选取每个子种群中适应度值最大的个体作为所述子种群的优化结果;
更新所述子种群包括:
计算得到所述子种群中每个个体的适应度值并进行适应度值排序;
按照适应度值排序结果选取与所述子种群的种群规模数量相同的个体更新所述子种群。
2.根据权利要求1所述的一种发现网络社区结构方法,其特征在于,所述对所述网络模型的每一个网络层进行适应度优化得到优化结果包括:利用头脑风暴优化算法进行适应度优化得到优化结果。
3.根据权利要求1所述的一种发现网络社区结构方法,其特征在于,当所述新个体是从一个子种群中生成的,则在所述子种群中加入所述新个体;当所述新个体是从一个以上子种群中生成的,则根据选取原则从生成所述新个体的子种群中选择一个子种群加入所述新个体。
4.一种发现网络社区结构系统,其特征在于,包括:
获取模块:用于获取构建的网络模型;所述网络模型为多层结构的网络模型,所述网络模型为道路交通网络,所述道路交通网络包括多个独立的网络层,所述网络层由节点和边构成,所述节点表征地点,所述边表征道路,所述网络层包括:铁路网、公路网、民航网;
优化模块:用于对所述网络模型的每一个网络层进行适应度优化得到优化结果;
转换模块:用于将所述优化结果转换为对应网络层的社区结构;
构建所述网络模型时,利用向量表征所述网络模型每一个网络层社区结构,所述向量的元素表示所述网络层中每个节点所属的社区编号;
所述将所述优化结果转换为对应网络层的社区结构包括:
将所述优化结果的向量中值相同的元素对应的节点划分为同一个社区,获得对应的社区结构;所述同一个社区中所述节点的所述社区编号相同,所述社区包括所述社区编号相同的所述地点;
所述适应度优化的过程包括:
根据所述网络模型生成初始种群,并进行种群初始化;
将初始化后的种群进行种群分组构成子种群,所述子种群用于执行所述网络模型的其中一个网络层的社区发现;
生成新个体,并将所述新个体加入所述子种群;
计算每个所述子种群中个体的适应度值并更新所述子种群;
选取每个子种群中适应度值最大的个体作为所述子种群的优化结果;
更新所述子种群包括:
计算得到所述子种群中每个个体的适应度值并进行适应度值排序;
按照适应度值排序结果选取与所述子种群的种群规模数量相同的个体更新所述子种群。
5.一种发现网络社区结构设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至3任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090880.1A CN111260491B (zh) | 2020-02-13 | 2020-02-13 | 发现网络社区结构方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090880.1A CN111260491B (zh) | 2020-02-13 | 2020-02-13 | 发现网络社区结构方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111260491A CN111260491A (zh) | 2020-06-09 |
CN111260491B true CN111260491B (zh) | 2023-11-28 |
Family
ID=70923939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010090880.1A Active CN111260491B (zh) | 2020-02-13 | 2020-02-13 | 发现网络社区结构方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111260491B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113593713A (zh) * | 2020-12-30 | 2021-11-02 | 南方科技大学 | 疫情防控方法、装置、设备和介质 |
CN113392332B (zh) * | 2021-05-17 | 2022-06-14 | 杭州电子科技大学 | 面向大规模多元网络数据的简化可视分析方法 |
CN116501937B (zh) * | 2023-06-28 | 2023-09-08 | 中国电子科技集团公司第十五研究所 | 基于动态演化的重叠社区推荐方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413029A (zh) * | 2012-01-05 | 2012-04-11 | 西安电子科技大学 | 基于分解的局部搜索多目标复杂动态网络社区划分方法 |
CN104268629A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 |
CN105740952A (zh) * | 2016-01-22 | 2016-07-06 | 南京邮电大学 | 社区网络检测的多目标快速遗传方法 |
-
2020
- 2020-02-13 CN CN202010090880.1A patent/CN111260491B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413029A (zh) * | 2012-01-05 | 2012-04-11 | 西安电子科技大学 | 基于分解的局部搜索多目标复杂动态网络社区划分方法 |
CN104268629A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 |
CN105740952A (zh) * | 2016-01-22 | 2016-07-06 | 南京邮电大学 | 社区网络检测的多目标快速遗传方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111260491A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111260491B (zh) | 发现网络社区结构方法及系统 | |
CN102413029B (zh) | 基于分解的局部搜索多目标复杂动态网络社区划分方法 | |
Dai et al. | Decomposition-based Bayesian network structure learning algorithm using local topology information | |
Dey et al. | Prim’s algorithm for solving minimum spanning tree problem in fuzzy environment | |
Li et al. | Genetic network programming with estimation of distribution algorithms for class association rule mining in traffic prediction | |
CN109951392B (zh) | 一种基于深度学习的中大型网络智能路由选择方法 | |
CN106649809A (zh) | 一种物联网分析方法 | |
CN116562370A (zh) | 一种基于应急知识图谱的突发公共卫生事件情景推演方法 | |
CN115730519A (zh) | 一种基于时空势能场的城市人群流动预测系统及其方法 | |
Yang et al. | Soft-mask: adaptive substructure extractions for graph neural networks | |
Sugianto et al. | K-Means Algorithm For Clustering Poverty Data in Bangka Belitung Island Province | |
Jiang et al. | Dynamic adaptive and adversarial graph convolutional network for traffic forecasting | |
CN114745288B (zh) | 基于区块链和动态赋权的复杂网络抗毁性模型量化方法 | |
Maeda et al. | Identifying Cellular Automata Rules. | |
Mou | An efficient ant colony system for solving the new generalized traveling salesman problem | |
Shokouhifar et al. | Feature selection using supervised fuzzy C-means algorithm with ant colony optimization | |
Yang et al. | A parallel joinless algorithm for co-location pattern mining based on group-dependent shard | |
Triana et al. | Knapsack problem solving using evolutionary algorithms guided by complex networks | |
Toujani et al. | Ghhp: Genetic hybrid hierarchical partitioning for community structure in social medias networks | |
Saprykina et al. | Transport infrastructure optimization method based on a memetic algorithm | |
CN117474509B (zh) | 一种基于信任评估框架和禁忌搜索的工人招募方法及系统 | |
Jiménez-Morales et al. | Evolving one dimensional cellular automata to perform a non-trivial collective behavior task: One case study | |
Feng et al. | Multi-objective optimization of critical node detection based on both cascading and non-cascading scenarios in complex networks | |
CN114723005B (zh) | 一种基于深度图表征学习的多层网络瓦解策略推断方法 | |
Xu et al. | Parallel particle swarm optimization for attribute reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |