[发明专利]基于分解多目标遗传算法的软件生态系统社区检测方法在审
申请号: | 202111239407.6 | 申请日: | 2021-10-25 |
公开(公告)号: | CN114281397A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 姚香娟;赵倩;巩敦卫;柏先涛;杨梦怡;王思民;孙思雨;庄璇 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06N3/12;G06K9/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分解 多目标 遗传 算法 软件 生态系统 社区 检测 方法 | ||
1.基于分解多目标遗传算法的软件生态系统社区检测方法,其特征在于:
步骤1:软件生态系统社区检测问题的多目标优化模型;
本部分给出基于分解多目标遗传算法的软件生态系统社区检测问题的数学模型,鉴于基于分解多目标遗传算法的软件生态系统社区检测问题的复杂性,采用遗传算法对其进行求解,为此,需要把基于分解多目标遗传算法的软件生态系统社区检测问题建模为双目标函数优化问题。
步骤2:基于分解多目标遗传算法的社区检测进化求解;
基于步骤1的建模思想,本部分给出软件生态系统社区检测问题数学模型的进化求解方法,其特征在于以下步骤:
步骤2.1:个体编码方式
步骤2.2:种群初始化
步骤2.3:遗传算法的遗传操作
步骤2.4:算法终止条件
步骤2.5:算法终止
2.如权利要求1所述的基于分解多目标遗传算法的软件生态系统社区检测方法,其特征在于:结合模块度函数与提出的节点归属度函数建立双目标函数,给出软件生态系统社区检测问题的数学模型;
模块度虽然使用广泛,属于经典的社区划分评价指标,但是存在分辨率限制问题,不利于一些较小社区的求解问题,当某些社区内部边的数量小于时,利用模块度将可能无法分辨这些社区,所以我们提出新的节点归属度函数M作为第二个目标函数,设节点vi的所有邻居节点的集合表示为N(vi)={vj|vj∈G,eij∈E},节点vi的所有间接邻居节点的集合表示为Nin(vi)={N(vj)|vj∈G,eij∈E},则社区C中节点vi的邻居节点集合可以表示为NC(vi)={vj|vj∈C,eij∈E},则社区C中节点vi的间接邻居节点集合可以表示为节点vi的邻居节点的所有连边集合表示为E(v)={eij|vi,vj∈N(v)},节点vi的间接邻居节点的所有连边集合表示为Ein(v)={eij|vi,vj∈N(v)};
首先考虑直接邻居点对于节点vi在社区C的归属度的直接影响Di:
间接邻居点对于节点vi在社区C的归属度的间接影响为:
直接邻居连边率对于节点vi在社区C的归属度的直接影响DEi为:
间接邻居连边率对于节点vi在社区C的归属度的间接影响为:
综合上述节点vi的归属度影响公式,给出节点vi在当前社区C的总归属度(取值范围为0~1)公式:
其中,参数α≥1,来表示对于总的归属度来说,节点vi的归属度直接影响要强于节点vi的归属度间接影响;
由此,为了求解各个节点归属度最优的划分结果,给出研究的社区检测问题的第二个目标函数(节点归属度函数):
归属度是指一个节点在所属社区中与其他节点的联系紧密性,归属度越高,与社区中其他节点的联系越紧密,反之,联系越稀疏,一般来说,一个节点应该划分到归属度最高的社区中,此时社区内的联系更为紧密,社区划分更加具有现实意义;
综上所述,软件生态系统的社区检测问题,可以建模为如下数学优化问题:
minF(x)=min{f1(x),f2(x)}
s.t.x∈Ω
其中,决策变量x=(x1,...,xn)∈S,S为决策空间,F(x)={f1,f2}:S→R2为二维目标函数,我们将模块度函数作为第一个目标函数,将提出的节点归属函数作为第二个目标函数;
我们采用MOEA/D框架,该算法在k维空间中,将每个目标问题看作一维空间,将空间按[0,1]分成H部分,步长1/H,对于k维空间,使得w1+w2+...+wk=1,其中,k为问题中目标函数的个数,本问题模型中k=2,H是自定义正整数,与子问题的数量相关,利用经典的基于距离的惩罚函数(PBI)作为子问题的加权方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111239407.6/1.html,转载请声明来源钻瓜专利网。