CN114218502A - 基于稀疏进化算法的社交网络关键成员检测方法 - Google Patents
基于稀疏进化算法的社交网络关键成员检测方法 Download PDFInfo
- Publication number
- CN114218502A CN114218502A CN202111552637.8A CN202111552637A CN114218502A CN 114218502 A CN114218502 A CN 114218502A CN 202111552637 A CN202111552637 A CN 202111552637A CN 114218502 A CN114218502 A CN 114218502A
- Authority
- CN
- China
- Prior art keywords
- state
- members
- key
- population
- generation
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000002068 genetic effect Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- Physiology (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
本发明公开了一种基于稀疏进化算法的社交网络关键成员检测方法,其特征包括以下步骤,步骤1、构建目标函数;步骤2、计算社交网络中所有成员的得分并初始化状态种群;步骤3、根据所设计的遗传算子将状态种群中的状态作为父代并产生新的状态后加入子代状态种群中;步骤4、将子代状态种群与前一代状态种群合并,并进行删除重复状态、非支配排序、计算成员间拥挤距离等操作,再逆序选择与原状态种群相同数量的状态作为新的状态种群,直到得到一组由关键成员和非关键成员组成的社交网络。本发明能在大型复杂社交网络中减少识别关键成员的时间、提高识别关键成员的准确度。
Description
技术领域
本发明属于社交网络关键成员检测领域,具体的说是一种基于稀疏进化算法的社交网络关键成员检测方法。
背景技术
社交网络是由许多个人或者组织等节点构成的一种社会结构,代表着各种社会关系。社交网络有着迅捷性、蔓延性、平等性与自组织性等四大特点。正因为这些特性,这种网络对现实社会的方方面面产生着影响。从成员分类的角度来看,识别在社交网络中具有较高声誉和影响力的成员,在设计营销策略时是非常重要的。定位一种产品,如果该战略适针对当地社区中最有影响力和公认的成员,就可能对社会产生巨大的影响。但是,如果一些舆论等信息也借助社交网络的特点迅速传播并且往往产生不可控的后果。因此,如何在大规模复杂社会网络中识别关键成员变得尤为重要。
目前,针对社交网络关键成员检测方法主要有精确方法和近似方法。精确方法利用整数线性规划提出可求解社交网络关键成员的数学公式,利用数学公式求解。这种方法在社交网络的规模太大或者复杂度太高时会消耗很大的计算量,导致方法无效。近似方法包含贪心算法和进化算法。贪心算法是为了在合理的时间内找出关键站点所提出的,所选择的关键成员总是当前看来最好的选择,但是,这样无法从整体最优上加以考虑。进化算法是目前比较流行的方法,在解决大型社交网络方面比前两种的效果都好。但是,在一个巨大的社交网络中关键成员的数目是比较少的,也就是说关键成员具有稀疏性,目前的进化算法并没有考虑这种情况,致使识别关键成员所消耗的时间增加,并且识别的准确性也会降低。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种基于稀疏进化算法的社交网络关键成员检测方法,以期能在大型复杂社交网络中减少识别关键成员的时间、提高识别关键成员准确度,从而为构造关键成员信息的社交网络奠定基础。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种基于稀疏进化算法的社交网络关键成员检测方法的特点是应用于由D个成员和|E|条关系链路所构成的社交网络G中,将社交网络G中所有成员是否为关键成员的状态集合记为S={s1,s2,...,si,...,sN},si表示社交网络G中所有成员是否为关键成员的第i种状态, N表示所有成员的状态的总数,每种状态由关键成员和非关键成员组成;且si={vi1,vi2,...,vij,....,viD},vij表示第i种状态si下第j个成员vj是否为关键成员,若vij=1,表示第i种状态si下第j个成员vj是关键成员,若vij=0表示第i种状态si下第j个成员vj不是关键成员,1≤j≤D;将第r个成员vr和第h个成员vh之间是否有关系链路记为erh,关系链路是指成员vr和成员vh的直接关系或间接关系;若erh=1,表示第r个成员vr和第h个成员vh之间有直接关系或者间接关系;若erh=0,表示第r个成员vr和第h个成员vh之间没有直接关系或者间接关系,所述社交网络关键成员检测方法是按如下步骤进行:
步骤一、构建目标函数:
步骤1.1、利用式(1)构建关键成员个数的函数COST:
COST=|vij=1| (1)
式(1)中,|vij=1|表示社交网络G中关键成员的个数;
步骤1.2、利用式(2)构建关于社交网络G上通过关系链路连接的不同成员对数量的函数 PWC:
式(2)中,V'表示社交网络G中除了关键成员之外所有成员的集合;
步骤1.3、利用式(3)构建总目标函数f:
f=min(COST,PWC) (3)
步骤二、计算社交网络中所有成员的得分并初始化状态种群;
步骤2.1、计算社交网络中所有成员的得分:
步骤2.1.1、设状态种群Q的状态有N种,定义状态种群记为Q={Q1,Q2,...,Qi,...QN},Qi表示社交网络G中的第i种状态,令社交网络G中状态的数量N与成员的数量D相同;由状态种群Q中所有成员的状态构成一个D×D的矩阵;
步骤2.1.2、将D×D的矩阵的对角元素设置为1,其余元素设置为0;
步骤2.1.3、根据总目标函数f对状态种群Q中的每种状态进行非支配排序,并将第i种状态的非支配前沿数作为第i个成员的得分SCOREi;
步骤2.2、初始化状态种群:
步骤2.2.1、设状态种群P的状态有N种,定义状态种群记为P={p1,p2,...,pi,...pN},pi表示社交网络G中的第i种状态;将状态种群P中所有状态都设置为0向量;
步骤2.2.2、初始化i=1;
步骤2.2.3、定义变量z并初始化z=1;
步骤2.2.4、从社交网络G中第z次随机选择两个成员vr和成员vh,并判断成员vr的得分SCOREr是否小于成员vh的得分SCOREh,若是,则将第i个状态中的成员vr设置为关键成员;否则,将第i个状态中的成员vh设置为关键成员;
步骤2.2.5、令z+1赋值给z,重复若干次步骤2.2.4,得到最终的第i个状态pi并作为状态种群P的第i个初始状态;
步骤2.2.6、令i+1赋值给i,判断i>N是否成立,若成立,则表示获得状态种群P的N个初始状态;否则,返回步骤2.2.3顺序执行;
步骤三、根据所设计的遗传算子将状态种群P中的状态作为父代并产生新的状态后加入子代状态种群中;
步骤3.1、初始化参数:
定义并初始化当前评价次数t=1,最大评价次数为tmax;令第t代子代状态种群Rt为空集;
以状态种群P的N个初始状态作为第t代状态种群Pt;
步骤3.2、根据总目标函数f对第t代状态种群Pt进行非支配排序,并计算排序后非支配前沿的每种状态的拥挤距离,从而按照拥挤距离对每种状态进行降序排序,最终得到降序后的若干个非支配前沿;
步骤3.3、根据降序后的若干个非支配前沿及其拥挤距离,使用二元锦标赛法从第t代状态种群Pt中选择2N个状态作为第t代父代状态种群;
步骤3.4、根据新的遗传算子产生第t代子代状态种群:
步骤3.4.0、定义变量n,并初始化n=1;
步骤3.4.1、从第t代父代状态种群中第n次随机选择一对父代状态pα和pβ,并生成第n 个子代状态将第n个子代状态的初始值与父代状态pα设置为相同,再将父代状态pα和pβ从第t代父代状态种群中删除;α,β∈[1,2N];
步骤3.4.2、生成第t个随机数randt,若randt<0.5,则根据的状态结果,随机选择两个关键成员v′r和关键成员v′h,并判断关键成员v′r的得分SCORE′r是否大于关键成员 v′h的得分SCORE′h,若是,则将子代状态中的成员v′r设置为非关键成员;否则,将子代状态中的成员v′h设置为非关键成员;
若randt≥0.5,则根据的状态结果,随机选择两个关键成员v″r和关键成员v″h,并判断关键成员v″r的得分SCORE″r是否小于关键成员v″h的得分SCORE″h,若是,将子代状态中的成员v″r设置为关键成员;否则,将子代状态中的成员v″h设置为关键成员;
步骤3.4.3、生成第t个随机数rand′t,若rand′t<0.5,则在子代状态中随机选择两个关键成员v″′r和关键成员v″′h;并判断关键成员v″′r的得分SCORE″′r是否大于关键成员v″′h的得分SCORE″′h,若是,则将在子代状态中的成员v″′r设置为非关键成员;否则,将在子代状态中的成员v″′h设置为非关键成员;
若rand′t≥0.5,则在子代状态的成员中随机选择两个非关键成员和非关键成员并判断非关键成员的得分是否小于非关键成员的得分若是,则将在子代状态中的成员设置为关键成员;否则,将在子代状态中的成员设置为关键成员;从而产生新的子代状态
步骤3.5、将n+1赋值给n后,判断n>N是否成立,若成立,则表示获得N个子代状态的第t代子代状态种群Rt;否则,返回步骤3.4.1顺序执行;
步骤四、循环迭代得到一组由关键成员和非关键成员组成的社交网络G′;
步骤4.1、将第t代子代状态种群Rt和第t代状态种群Pt合并,获得大小为2N的状态种群RPt,并对合并后的2N个状态进行去重处理,得到第t代去重后的状态种群RP′t;
步骤4.2、将第t代去重后的状态种群RP′t进行非支配排序,并计算排序后非支配前沿的每种状态的拥挤距离,从而按照拥挤距离对每种状态进行降序排序,最终得到排序后的所有状态;
步骤4.3、选择排序后的所有状态中排名前N的状态作为第t+1代状态种群Pt+1;
与现有技术相比,本发明的有益效果在于:
1、本发明通过将社交网络关键成员检测问题转化为一个多目标优化问题,将社交网络中的成员是否关键以一种二进制表示方法数值化,可以更方便的表示成员是否为关键成员,并通过一种状态初始化策略使得初始化的状态可以很好的保持关键成员的稀疏性,一定程度上降低了识别社交网络中关键成员的时间。
2、本发明中成员的得分是将需要计算得分的成员作为关键成员,其余成员设为非关键成员,再根据除去关键节点之后的非关键节点的关系链路计算,这样可以有效的衡量每一位成员在社交网络中的贡献度。此外,使用二元锦标赛法使得成员在关键和非关键状态之间的转换更加随机,也更加公平,从而提高了识别社交网络中关键成员的准确度。
3、本发明通过计算成员的得分以确定之后是否为关键成员,得分高的成员更有机会成为关键成员,这样克服了之前一半是关键成员,一半不是关键成员的平均概率,从而控制了在优化过程中关键成员的稀疏性,提高了在大规模的复杂社交网络中准确识别出关键成员的概率。
附图说明
图1为本发明的算法流程图;
图2a为本发明本发明举例的一个简单的社交网络结构图;
图2b为本发明举例的初始化状态种群和状态父代产生状态子代过程的示意图。
具体实施方式
本实施例中,一种基于稀疏进化算法的社交网络关键成员检测方法,是通过一种状态初始化策略初始化状态,通过关键节点的个数和除去关键节点之后的非关键节点的关系链路计算来计算成员的得分,在得分的基础上通过不对等概率判断成员是否为关键成员,从而可以很好的保持关键成员的稀疏性,一定程度上加快了识别关键成员的时间,提高了识别关键成员的准确度。具体的说,
该社交网络关键成员检测方法是应用于由D个成员和|E|条关系链路所构成的社交网络 G中,将社交网络G中所有成员是否为关键成员的状态集合记为S={s1,s2,...,si,...,sN},si表示社交网络G中所有成员是否为关键成员的第i种状态,N表示所有成员的状态的总数,每种状态由关键成员和非关键成员组成;且si={vi1,vi2,...,vij,....,viD},vij表示第i种状态si下第j 个成员vj是否为关键成员,若vij=1,表示第i种状态si下第j个成员vj是关键成员,若vij=0 表示第i种状态si下第j个成员vj不是关键成员,1≤j≤D;将第r个成员vr和第h个成员vh之间是否有关系链路记为erh,关系链路是指成员vr和成员vh的直接关系或间接关系;若erh=1,表示第r个成员vr和第h个成员vh之间有直接关系或者间接关系;若erh=0,表示第r个成员vr和第h个成员vh之间没有直接关系或者间接关系;如图2a所示,为一个包含8个成员及其之间关系链接的网络结构图,每条边代表成员之间存在直接或者间接关系。
本实施例中,参照图1所示,社交网络关键成员检测方法是按如下步骤进行:
步骤一、构建目标函数:
步骤1.1、利用式(1)构建关键成员个数的函数COST:
COST=|vij=1| (1)
式(1)中,|vij=1|表示社交网络中关键成员的个数;
步骤1.2、利用式(2)构建关于社交网络G上通过关系链路连接的不同成员对数量的函数 PWC:
式(2)中,V'表示社交网络G中除了关键成员之外所有成员的集合;
步骤1.3、利用式(3)构建总目标函数f:
f=min(COST,PWC) (3)
步骤二、计算社交网络中所有成员的得分并初始化状态种群;
步骤2.1、计算社交网络中所有成员的得分:
步骤2.1.1、设状态种群P的状态有N种,定义状态种群记为Q={Q1,Q2,...,Qi,...QN},Qi表示社交网络G中的第i种状态,令社交网络G中状态的数量N与成员的数量D相同;由状态种群Q中所有成员的状态构成一个D×D的矩阵;
步骤2.1.2、将D×D的矩阵的对角元素设置为1,其余元素设置为0;例如,在图2a中社交网络中有8个成员,则形成一个8×8矩阵,如表1所示为初始化大小为8,成员数目为8的状态种群Q,对角元素为1,其他元素为0表示每个状态只有一个关键成员,关键成员由状态次序决定。这样可以准确的衡量成员在社交网络的贡献度。
表1二进制状态种群
成员1 | 成员2 | 成员3 | 成员4 | 成员5 | 成员6 | 成员7 | 成员8 | |
状态1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
状态3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
状态4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
状态5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
状态6 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
状态7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
状态8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
步骤2.1.3、根据总目标函数f对状态种群Q中的每种状态进行非支配排序,并将第i种状态的非支配前沿数作为第i个成员的得分SCOREi;关键成员数目和除去关键成员之后的关系链路连通对数目越小说明该状态时的关键成员最终认定是关键成员的几率越大。如图2a,状态种群Q中第一个状态的COST=1,第二个状态COST=1,所有成员的COST={1,1,1,1,1,1,1,1},非支配排序会将值小的排在前面,同一数值的排在同一前沿面,结果为状态2<状态5<状态7<状态3<状态1=状态4=状态6=状态8。如表2所示为计算目标函数值后进行非支配排序的结果。状态1的帕累托前沿是5,状态1中只有成员1,则成员1的得分就是5。依次类推,可以得到所有成员的得分。表3所示为所有成员的得分。
表2状态种群非支配排序后的结果
状态1 | 状态2 | 状态3 | 状态4 | 状态5 | 状态6 | 状态7 | 状态8 | |
帕累托前沿 | 5 | 1 | 4 | 5 | 2 | 5 | 3 | 5 |
表3成员的得分
成员1 | 成员2 | 成员3 | 成员4 | 成员5 | 成员6 | 成员7 | 成员8 | |
成员得分 | 5 | 1 | 4 | 5 | 2 | 5 | 3 | 5 |
步骤2.2、初始化状态种群:
步骤2.2.1、设状态种群P的状态有N种,定义状态种群记为P={p1,p2,...,pi,...pN},pi表示社交网络G中的第i种状态;将状态种群P中所有状态都设置为0向量;如表4所示为大小为10的状态种群P。0向量表示当前状态中没有关键成员。
表4大小为10的状态种群
成员1 | 成员2 | 成员3 | 成员4 | 成员5 | 成员6 | 成员7 | 成员8 | |
状态1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
状态10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
步骤2.2.2、初始化i=1;
步骤2.2.3、定义变量z并初始化z=1;
步骤2.2.4、从社交网络G中第z次随机选择两个成员vr和成员vh,并判断成员vr的得分SCOREr是否小于成员vh的得分SCOREh,若是,则将第i个状态中的成员vr设置为关键成员;否则,将第i个状态状态中的成员vh设置为关键成员;如图2b中,假设i=1,z=1,此时随机选择两个成员v1和成员v5,根据表3,成员v1的得分不小于成员v5的得分,则第1个状态中的成员v5可以设置为关键成员,即v15=1。
步骤2.2.5、令z+1赋值给z,重复若干次步骤2.2.4,得到最终的第i个状态pi并作为状态种群P的第i个初始状态;假设i=1,如表5所示为状态种群P中第1个初始状态。
表5状态种群P中第1个初始状态
成员1 | 成员2 | 成员3 | 成员4 | 成员5 | 成员6 | 成员7 | 成员8 | |
状态1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
步骤2.2.6、令i+1赋值给i,判断i>N是否成立,若成立,则表示获得状态种群P的N个初始状态;否则,返回步骤2.2.3顺序执行;如表6所示为状态种群P中N个初始状态。
表6状态种群的初始状态。
成员1 | 成员2 | 成员3 | 成员4 | 成员5 | 成员6 | 成员7 | 成员8 | |
状态1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
状态2 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 |
状态3 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
状态4 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
状态5 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
状态6 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
状态7 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
状态8 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
状态9 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
状态10 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
步骤三、根据所设计的遗传算子将状态种群P中的状态作为父代并产生新的状态后加入子代状态种群中;
步骤3.1、初始化参数:
定义并初始化当前评价次数t=1,最大评价次数为tmax;令第t代子代状态种群Rt为空集;
以状态种群P的N个初始状态作为第t代状态种群Pt;
步骤3.2、根据总目标函数f对第t代状态种群Pt进行非支配排序,并计算排序后非支配前沿的每种状态的拥挤距离,从而按照拥挤距离对每种状态进行降序排序,最终得到降序后的若干个非支配前沿;
步骤3.3、根据降序后的若干个非支配前沿及其拥挤距离,使用二元锦标赛法从第t代状态种群Pt中选择2N个状态作为第t代父代状态种群;
步骤3.4、根据新的遗传算子产生第t代子代状态种群:
步骤3.4.0、定义变量n,并初始化n=1;
步骤3.4.1、从第t代父代状态种群中第n次随机选择一对父代状态pα和pβ,并生成第n 个子代状态将第n个子代状态的初始值与父代状态pα设置为相同,再将父代状态pα和pβ从第t代父代状态种群中删除;α,β∈[1,2N];
步骤3.4.2、生成第t个随机数randt,若randt<0.5,则根据的状态结果,随机选择两个关键成员v′r和关键成员v′h,并判断关键成员v′r的得分SCORE′r是否大于关键成员v′h的得分SCORE′h,若是,则将子代状态中的成员v′r设置为非关键成员;否则,将子代状态中的成员v′h设置为非关键成员;如图2b所示,pα={0,1,0,0,1,1,0,0},pβ={1,0,1,0,0,0,1,0},第 n个子代状态从中随机选择两个关键成员v2和 v5,从表3可知关键成员v2的得分为1,关键成员v5的得分为2,关键成员v2的得分比关键成员v5小,因此,子代状态中的成员v5设置为非关键成员,
若randt≥0.5,则根据的状态结果,随机选择两个关键成员v″r和关键成员v″h,并判断关键成员v″r的得分SCORE″r是否小于关键成员v″h的得分SCORE″h,若是,将子代状态中的成员v″r设置为关键成员;否则,将子代状态中的成员v″h设置为关键成员;
步骤3.4.3、生成第t个随机数rand′t,若rand′t<0.5,则在子代状态中随机选择两个关键成员v″′r和关键成员v″′h;并判断关键成员v″′r的得分SCORE″′r是否大于关键成员v″′h的得分SCORE″′h,若是,则将在子代状态中的成员v″′r设置为非关键成员;否则,将在子代状态中的成员v″′h设置为非关键成员;
若rand′t≥0.5,则在子代状态的成员中随机选择两个非关键成员和非关键成员并判断非关键成员的得分是否小于非关键成员的得分若是,则将在子代状态中的成员设置为关键成员;否则,将在子代状态中的成员设置为关键成员;从而产生新的子代状态如图2b所示,随机选择非关键成员v3和v7,非关键成员v3的得分是4,非关键成员v7的得分是3,非关键成员v3的得分比非关键成员v7的得分大,因此,子代状态中的成员v7设置为关键成员,
步骤3.5、将n+1赋值给n后,判断n>N是否成立,若成立,则表示获得N个子代状态的第t代子代状态种群Rt;否则,返回步骤3.4.1顺序执行;
步骤四、将第t代子代状态种群Rt与第t代状态种群Pt合并,并进行删除重复状态、非支配排序、计算拥挤距离等操作,再逆序选择与原状态种群大小相同数量的状态作为新的状态种群,直到得到一组由关键成员和非关键成员组成的社交网络;
步骤4.1、将第t代子代状态种群Rt和第t代状态种群Pt合并,获得大小为2N的状态种群RPt,并对合并后的2N个状态进行去重处理,去除2N个状态种群中关键成员完全相同的状态,得到第t代去重后的状态种群RP′t;
步骤4.2、将第t代去重后的状态种群RP′t进行非支配排序,并计算排序后非支配前沿的每种状态的拥挤距离,从而按照拥挤距离对每种状态进行降序排序,最终得到排序后的所有状态;
步骤4.3、选择排序后的所有状态中排名前N的状态作为第t+1代状态种群Pt+1;
Claims (1)
1.一种基于稀疏进化算法的社交网络关键成员检测方法,其特征是应用于由D个成员和|E|条关系链路所构成的社交网络G中,将社交网络G中所有成员是否为关键成员的状态集合记为S={s1,s2,...,si,...,sN},si表示社交网络G中所有成员是否为关键成员的第i种状态,N表示所有成员的状态的总数,每种状态由关键成员和非关键成员组成;且si={vi1,vi2,...,vij,....,viD},vij表示第i种状态si下第j个成员vj是否为关键成员,若vij=1,表示第i种状态si下第j个成员vj是关键成员,若vij=0表示第i种状态si下第j个成员vj不是关键成员,1≤j≤D;将第r个成员vr和第h个成员vh之间是否有关系链路记为erh,关系链路是指成员vr和成员vh的直接关系或间接关系;若erh=1,表示第r个成员vr和第h个成员vh之间有直接关系或者间接关系;若erh=0,表示第r个成员vr和第h个成员vh之间没有直接关系或者间接关系,所述社交网络关键成员检测方法是按如下步骤进行:
步骤一、构建目标函数:
步骤1.1、利用式(1)构建关键成员个数的函数COST:
COST=|vij=1| (1)
式(1)中,|vij=1|表示社交网络G中关键成员的个数;
步骤1.2、利用式(2)构建关于社交网络G上通过关系链路连接的不同成员对数量的函数PWC:
式(2)中,V'表示社交网络G中除了关键成员之外所有成员的集合;
步骤1.3、利用式(3)构建总目标函数f:
f=min(COST,PWC) (3)
步骤二、计算社交网络中所有成员的得分并初始化状态种群;
步骤2.1、计算社交网络中所有成员的得分:
步骤2.1.1、设状态种群Q的状态有N种,定义状态种群记为Q={Q1,Q2,...,Qi,...QN},Qi表示社交网络G中的第i种状态,令社交网络G中状态的数量N与成员的数量D相同;由状态种群Q中所有成员的状态构成一个D×D的矩阵;
步骤2.1.2、将D×D的矩阵的对角元素设置为1,其余元素设置为0;
步骤2.1.3、根据总目标函数f对状态种群Q中的每种状态进行非支配排序,并将第i种状态的非支配前沿数作为第i个成员的得分SCOREi;
步骤2.2、初始化状态种群:
步骤2.2.1、设状态种群P的状态有N种,定义状态种群记为P={p1,p2,...,pi,...pN},pi表示社交网络G中的第i种状态;将状态种群P中所有状态都设置为0向量;
步骤2.2.2、初始化i=1;
步骤2.2.3、定义变量z并初始化z=1;
步骤2.2.4、从社交网络G中第z次随机选择两个成员vr和成员vh,并判断成员vr的得分SCOREr是否小于成员vh的得分SCOREh,若是,则将第i个状态中的成员vr设置为关键成员;否则,将第i个状态中的成员vh设置为关键成员;
步骤2.2.5、令z+1赋值给z,重复若干次步骤2.2.4,得到最终的第i个状态pi并作为状态种群P的第i个初始状态;
步骤2.2.6、令i+1赋值给i,判断i>N是否成立,若成立,则表示获得状态种群P的N个初始状态;否则,返回步骤2.2.3顺序执行;
步骤三、根据所设计的遗传算子将状态种群P中的状态作为父代并产生新的状态后加入子代状态种群中;
步骤3.1、初始化参数:
定义并初始化当前评价次数t=1,最大评价次数为tmax;令第t代子代状态种群Rt为空集;
以状态种群P的N个初始状态作为第t代状态种群Pt;
步骤3.2、根据总目标函数f对第t代状态种群Pt进行非支配排序,并计算排序后非支配前沿的每种状态的拥挤距离,从而按照拥挤距离对每种状态进行降序排序,最终得到降序后的若干个非支配前沿;
步骤3.3、根据降序后的若干个非支配前沿及其拥挤距离,使用二元锦标赛法从第t代状态种群Pt中选择2N个状态作为第t代父代状态种群;
步骤3.4、根据新的遗传算子产生第t代子代状态种群:
步骤3.4.0、定义变量n,并初始化n=1;
步骤3.4.1、从第t代父代状态种群中第n次随机选择一对父代状态pα和pβ,并生成第n个子代状态将第n个子代状态的初始值与父代状态pα设置为相同,再将父代状态pα和pβ从第t代父代状态种群中删除;α,β∈[1,2N];
步骤3.4.2、生成第t个随机数randt,若randt<0.5,则根据的状态结果,随机选择两个关键成员v′r和关键成员v′h,并判断关键成员v′r的得分SCORE′r是否大于关键成员v′h的得分SCORE′h,若是,则将子代状态中的成员v′r设置为非关键成员;否则,将子代状态中的成员v′h设置为非关键成员;
若randt≥0.5,则根据的状态结果,随机选择两个关键成员v″r和关键成员v″h,并判断关键成员v″r的得分SCORE″r是否小于关键成员v″h的得分SCORE″h,若是,将子代状态中的成员v″r设置为关键成员;否则,将子代状态中的成员v″h设置为关键成员;
步骤3.4.3、生成第t个随机数rand′t,若rand′t<0.5,则在子代状态中随机选择两个关键成员v″′r和关键成员v″′h;并判断关键成员v″′r的得分SCORE″′r是否大于关键成员v″′h的得分SCORE″′h,若是,则将在子代状态中的成员v″′r设置为非关键成员;否则,将在子代状态中的成员v″′h设置为非关键成员;
若rand′t≥0.5,则在子代状态的成员中随机选择两个非关键成员和非关键成员并判断非关键成员的得分是否小于非关键成员的得分若是,则将在子代状态中的成员设置为关键成员;否则,将在子代状态中的成员设置为关键成员;从而产生新的子代状态
步骤3.5、将n+1赋值给n后,判断n>N是否成立,若成立,则表示获得N个子代状态的第t代子代状态种群Rt;否则,返回步骤3.4.1顺序执行;
步骤四、循环迭代得到一组由关键成员和非关键成员组成的社交网络G′;
步骤4.1、将第t代子代状态种群Rt和第t代状态种群Pt合并,获得大小为2N的状态种群RPt,并对合并后的2N个状态进行去重处理,得到第t代去重后的状态种群RP′t;
步骤4.2、将第t代去重后的状态种群RP′t进行非支配排序,并计算排序后非支配前沿的每种状态的拥挤距离,从而按照拥挤距离对每种状态进行降序排序,最终得到排序后的所有状态;
步骤4.3、选择排序后的所有状态中排名前N的状态作为第t+1代状态种群Pt+1;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552637.8A CN114218502A (zh) | 2021-12-17 | 2021-12-17 | 基于稀疏进化算法的社交网络关键成员检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552637.8A CN114218502A (zh) | 2021-12-17 | 2021-12-17 | 基于稀疏进化算法的社交网络关键成员检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114218502A true CN114218502A (zh) | 2022-03-22 |
Family
ID=80703771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111552637.8A Pending CN114218502A (zh) | 2021-12-17 | 2021-12-17 | 基于稀疏进化算法的社交网络关键成员检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218502A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049438A (zh) * | 2023-01-10 | 2023-05-02 | 昆明理工大学 | 一种基于知识图谱的群体成员关系分析方法 |
-
2021
- 2021-12-17 CN CN202111552637.8A patent/CN114218502A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049438A (zh) * | 2023-01-10 | 2023-05-02 | 昆明理工大学 | 一种基于知识图谱的群体成员关系分析方法 |
CN116049438B (zh) * | 2023-01-10 | 2023-06-02 | 昆明理工大学 | 一种基于知识图谱的群体成员关系分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sayed et al. | A binary clonal flower pollination algorithm for feature selection | |
Haldurai et al. | A study on genetic algorithm and its applications | |
Wu et al. | Attribute weighting via differential evolution algorithm for attribute weighted naive bayes (wnb) | |
KR20210040248A (ko) | 물질의 생성 구조-특성 역 계산 공동 설계 | |
CN103116324B (zh) | 基于指标预测和在线学习的微电子生产线调度方法 | |
CN112258223B (zh) | 一种基于决策树的营销广告点击的预测方法 | |
Su et al. | Fuzzy community detection in social networks using a genetic algortihm | |
CN111369000A (zh) | 一种基于分解的高维多目标进化方法 | |
CN114218502A (zh) | 基于稀疏进化算法的社交网络关键成员检测方法 | |
CN107590538B (zh) | 一种基于在线序列学习机的危险源识别方法 | |
CN115481727A (zh) | 一种基于进化计算的意图识别神经网络生成与优化方法 | |
Singh et al. | Time series forecasting using back propagation neural network with ADE algorithm | |
Kim et al. | A modified genetic algorithm for fast training neural networks | |
Phan et al. | Efficiency enhancement of evolutionary neural architecture search via training-free initialization | |
Zahoor et al. | Evolutionary computation technique for solving Riccati differential equation of arbitrary order | |
CN111292062A (zh) | 基于网络嵌入的众包垃圾工人检测方法、***及存储介质 | |
CN111275562A (zh) | 基于递归卷积神经网络和自编码器的动态社区发现方法 | |
Cetin et al. | A new network-based community detection algorithm for disjoint communities | |
CN113641496B (zh) | 基于深度强化学习的dids任务调度优化方法 | |
CN113704570A (zh) | 基于自监督学习式进化的大规模复杂网络社区检测方法 | |
CN114494643A (zh) | 基于网络划分的疾病传播控制方法 | |
Srikumar et al. | Comparative analysis of various Evolutionary Algorithms: Past three decades | |
Liu et al. | A new algorithm for overlapping community detection | |
Tinós | An rbf network based crossover for pseudo-boolean optimization | |
Xie | A feature selection algorithm combining information gain and multi-objective genetic search for intrusion detection system |
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 |