CN114218502A - 基于稀疏进化算法的社交网络关键成员检测方法 - Google Patents

基于稀疏进化算法的社交网络关键成员检测方法 Download PDF

Info

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
Application number
CN202111552637.8A
Other languages
English (en)
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.)
Anhui University
Original Assignee
Anhui 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 Anhui University filed Critical Anhui University
Priority to CN202111552637.8A priority Critical patent/CN114218502A/zh
Publication of CN114218502A publication Critical patent/CN114218502A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social 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:
Figure RE-GDA0003473902500000021
式(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 个子代状态
Figure RE-GDA0003473902500000031
将第n个子代状态
Figure RE-GDA0003473902500000032
的初始值与父代状态pα设置为相同,再将父代状态pα和pβ从第t代父代状态种群中删除;α,β∈[1,2N];
步骤3.4.2、生成第t个随机数randt,若randt<0.5,则根据
Figure RE-GDA0003473902500000041
的状态结果,随机选择两个关键成员v′r和关键成员v′h,并判断关键成员v′r的得分SCORE′r是否大于关键成员 v′h的得分SCORE′h,若是,则将子代状态
Figure RE-GDA0003473902500000042
中的成员v′r设置为非关键成员;否则,将子代状态
Figure RE-GDA0003473902500000043
中的成员v′h设置为非关键成员;
若randt≥0.5,则根据
Figure RE-GDA0003473902500000044
的状态结果,随机选择两个关键成员v″r和关键成员v″h,并判断关键成员v″r的得分SCORE″r是否小于关键成员v″h的得分SCORE″h,若是,将子代状态
Figure RE-GDA0003473902500000045
中的成员v″r设置为关键成员;否则,将子代状态
Figure RE-GDA0003473902500000046
中的成员v″h设置为关键成员;
步骤3.4.3、生成第t个随机数rand′t,若rand′t<0.5,则在子代状态
Figure RE-GDA0003473902500000047
中随机选择两个关键成员v″′r和关键成员v″′h;并判断关键成员v″′r的得分SCORE″′r是否大于关键成员v″′h的得分SCORE″′h,若是,则将在子代状态
Figure RE-GDA0003473902500000048
中的成员v″′r设置为非关键成员;否则,将在子代状态
Figure RE-GDA0003473902500000049
中的成员v″′h设置为非关键成员;
若rand′t≥0.5,则在子代状态
Figure RE-GDA00034739025000000410
的成员中随机选择两个非关键成员
Figure RE-GDA00034739025000000411
和非关键成员
Figure RE-GDA00034739025000000412
并判断非关键成员
Figure RE-GDA00034739025000000413
的得分
Figure RE-GDA00034739025000000414
是否小于非关键成员
Figure RE-GDA00034739025000000415
的得分
Figure RE-GDA00034739025000000416
若是,则将在子代状态
Figure RE-GDA00034739025000000417
中的成员
Figure RE-GDA00034739025000000418
设置为关键成员;否则,将在子代状态
Figure RE-GDA00034739025000000419
中的成员
Figure RE-GDA00034739025000000420
设置为关键成员;从而产生新的子代状态
Figure RE-GDA00034739025000000421
步骤3.4.4、将产生的新的子代状态
Figure RE-GDA00034739025000000422
加入到第t代子代状态种群Rt中;
步骤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
步骤4.4、将t+1赋值给t后,判断t>tmax是否成立,若成立,则将第tmax代状态种群
Figure RE-GDA0003473902500000051
中各个状态所表示的关键成员和非关键成员组成社交网络G′,否则,返回步骤3.2执行。
与现有技术相比,本发明的有益效果在于:
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:
Figure RE-GDA0003473902500000061
式(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,
Figure RE-GDA0003473902500000071
第二个状态COST=1,
Figure RE-GDA0003473902500000072
所有成员的COST={1,1,1,1,1,1,1,1},
Figure RE-GDA0003473902500000073
非支配排序会将值小的排在前面,同一数值的排在同一前沿面,结果为状态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 个子代状态
Figure RE-GDA0003473902500000101
将第n个子代状态
Figure RE-GDA0003473902500000102
的初始值与父代状态pα设置为相同,再将父代状态pα和pβ从第t代父代状态种群中删除;α,β∈[1,2N];
步骤3.4.2、生成第t个随机数randt,若randt<0.5,则根据
Figure RE-GDA0003473902500000103
的状态结果,随机选择两个关键成员v′r和关键成员v′h,并判断关键成员v′r的得分SCORE′r是否大于关键成员v′h的得分SCORE′h,若是,则将子代状态
Figure RE-GDA0003473902500000104
中的成员v′r设置为非关键成员;否则,将子代状态
Figure RE-GDA0003473902500000105
中的成员v′h设置为非关键成员;如图2b所示,pα={0,1,0,0,1,1,0,0},pβ={1,0,1,0,0,0,1,0},第 n个子代状态
Figure RE-GDA0003473902500000106
从中随机选择两个关键成员v2和 v5,从表3可知关键成员v2的得分为1,关键成员v5的得分为2,关键成员v2的得分比关键成员v5小,因此,子代状态
Figure RE-GDA0003473902500000107
中的成员v5设置为非关键成员,
Figure RE-GDA0003473902500000108
若randt≥0.5,则根据
Figure RE-GDA0003473902500000109
的状态结果,随机选择两个关键成员v″r和关键成员v″h,并判断关键成员v″r的得分SCORE″r是否小于关键成员v″h的得分SCORE″h,若是,将子代状态
Figure RE-GDA00034739025000001010
中的成员v″r设置为关键成员;否则,将子代状态
Figure RE-GDA00034739025000001011
中的成员v″h设置为关键成员;
步骤3.4.3、生成第t个随机数rand′t,若rand′t<0.5,则在子代状态
Figure RE-GDA00034739025000001012
中随机选择两个关键成员v″′r和关键成员v″′h;并判断关键成员v″′r的得分SCORE″′r是否大于关键成员v″′h的得分SCORE″′h,若是,则将在子代状态
Figure RE-GDA0003473902500000111
中的成员v″′r设置为非关键成员;否则,将在子代状态
Figure RE-GDA0003473902500000112
中的成员v″′h设置为非关键成员;
若rand′t≥0.5,则在子代状态
Figure RE-GDA0003473902500000113
的成员中随机选择两个非关键成员
Figure RE-GDA0003473902500000114
和非关键成员
Figure RE-GDA0003473902500000115
并判断非关键成员
Figure RE-GDA0003473902500000116
的得分
Figure RE-GDA0003473902500000117
是否小于非关键成员
Figure RE-GDA0003473902500000118
的得分
Figure RE-GDA0003473902500000119
若是,则将在子代状态
Figure RE-GDA00034739025000001110
中的成员
Figure RE-GDA00034739025000001111
设置为关键成员;否则,将在子代状态
Figure RE-GDA00034739025000001112
中的成员
Figure RE-GDA00034739025000001113
设置为关键成员;从而产生新的子代状态
Figure RE-GDA00034739025000001114
如图2b所示,
Figure RE-GDA00034739025000001115
随机选择非关键成员v3和v7,非关键成员v3的得分是4,非关键成员v7的得分是3,非关键成员v3的得分比非关键成员v7的得分大,因此,子代状态
Figure RE-GDA00034739025000001116
中的成员v7设置为关键成员,
Figure RE-GDA00034739025000001117
步骤3.4.4、将产生的新的子代状态
Figure RE-GDA00034739025000001118
加入到第t代子代状态种群Rt中;
步骤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
步骤4.4、将t+1赋值给t后,判断t>tmax是否成立,若成立,则将第tmax代状态种群
Figure RE-GDA00034739025000001119
中各个状态所表示的关键成员和非关键成员组成的社交网络G′,否则,返回步骤3.2执行。

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:
Figure FDA0003418242510000011
式(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个子代状态
Figure FDA0003418242510000031
将第n个子代状态
Figure FDA0003418242510000032
的初始值与父代状态pα设置为相同,再将父代状态pα和pβ从第t代父代状态种群中删除;α,β∈[1,2N];
步骤3.4.2、生成第t个随机数randt,若randt<0.5,则根据
Figure FDA0003418242510000033
的状态结果,随机选择两个关键成员v′r和关键成员v′h,并判断关键成员v′r的得分SCORE′r是否大于关键成员v′h的得分SCORE′h,若是,则将子代状态
Figure FDA0003418242510000034
中的成员v′r设置为非关键成员;否则,将子代状态
Figure FDA0003418242510000035
中的成员v′h设置为非关键成员;
若randt≥0.5,则根据
Figure FDA0003418242510000036
的状态结果,随机选择两个关键成员v″r和关键成员v″h,并判断关键成员v″r的得分SCORE″r是否小于关键成员v″h的得分SCORE″h,若是,将子代状态
Figure FDA0003418242510000037
中的成员v″r设置为关键成员;否则,将子代状态
Figure FDA0003418242510000038
中的成员v″h设置为关键成员;
步骤3.4.3、生成第t个随机数rand′t,若rand′t<0.5,则在子代状态
Figure FDA0003418242510000039
中随机选择两个关键成员v″′r和关键成员v″′h;并判断关键成员v″′r的得分SCORE″′r是否大于关键成员v″′h的得分SCORE″′h,若是,则将在子代状态
Figure FDA00034182425100000310
中的成员v″′r设置为非关键成员;否则,将在子代状态
Figure FDA00034182425100000311
中的成员v″′h设置为非关键成员;
若rand′t≥0.5,则在子代状态
Figure FDA00034182425100000312
的成员中随机选择两个非关键成员
Figure FDA00034182425100000313
和非关键成员
Figure FDA00034182425100000314
并判断非关键成员
Figure FDA00034182425100000315
的得分
Figure FDA00034182425100000316
是否小于非关键成员
Figure FDA00034182425100000317
的得分
Figure FDA00034182425100000318
若是,则将在子代状态
Figure FDA00034182425100000319
中的成员
Figure FDA00034182425100000320
设置为关键成员;否则,将在子代状态
Figure FDA00034182425100000321
中的成员
Figure FDA00034182425100000322
设置为关键成员;从而产生新的子代状态
Figure FDA00034182425100000323
步骤3.4.4、将产生的新的子代状态
Figure FDA00034182425100000324
加入到第t代子代状态种群Rt中;
步骤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
步骤4.4、将t+1赋值给t后,判断t>tmax是否成立,若成立,则将第tmax代状态种群
Figure FDA0003418242510000041
中各个状态所表示的关键成员和非关键成员组成社交网络G′,否则,返回步骤3.2执行。
CN202111552637.8A 2021-12-17 2021-12-17 基于稀疏进化算法的社交网络关键成员检测方法 Pending CN114218502A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116049438A (zh) * 2023-01-10 2023-05-02 昆明理工大学 一种基于知识图谱的群体成员关系分析方法

Cited By (2)

* Cited by examiner, † Cited by third party
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