[发明专利]一种基于密母算法的软件模块聚类分析方法在审
申请号: | 201510518627.0 | 申请日: | 2015-08-21 |
公开(公告)号: | CN105117768A | 公开(公告)日: | 2015-12-02 |
发明(设计)人: | 刘静;焦李成;黄金煌 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06N3/00 | 分类号: | G06N3/00;G06N3/12 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李郑建;王芳 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 算法 软件 模块 聚类分析 方法 | ||
技术领域
本发明属于软件工程领域,特别涉及一种基于密母算法的软件模块聚类分析方法。
背景技术
软件模块聚类是软件系统设计,维护和发展的过程中不可缺少的一部分。随着目前的商业和生活中对软件系统的功能需求急剧增加,软件的高度模块化成了各大软件设计公司不断努力解决的问题,尤其是对于大型的软件系统。因此,设计一种合理有效的软件模块聚类方法仍是研究的重要方向。
方案一,Doval等发表的“Automaticclusteringofsoftwaresystemsusingageneticalgorithm”(《Softwaretechnologyandengineeringpractice》,文章编号:73-81(1999)),该文章的核心是使用遗传算法对解空间进行搜索,具体的做法是用种群中的个体串来对问题的输入数据进行编码,将模块度质量作为适应度函数,每一次搜索称为一代,在每一代中保留种群中适应度函数最大的个体,直至满足一定的终止条件。
方案二,Mitchell等发表的“Aheuristicsearchapproachtosolvingthesoftwareclusteringproblem”(Ph.DdissertationinDrexelUniversity,2002),该文章中提出用启发式搜索的策略来对解空间进行快速搜索,具体使用的是爬山算法来解决软件模块聚类问题。爬山法在搜索过程中,从一个随机的系统模块划分开始,不断地在该划分周围寻找模块度质量更高的划分,并替换原有划分进行重复寻找更优划分。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
方案二的搜索空间占用较大,并且搜索效率较低;而方案二的执行效率非常高,但是容易陷入局部最优解而难以得到最优解。
发明内容
为了解决现有技术的问题,本发明提供了一种基于密母算法的软件模块聚类分析方法,所述基于密母算法的软件模块聚类分析方法,包括:
步骤一,构建初始种群,所述初始种群中包含预设数量的个体;
步骤二,获取所述初始种群中每个所述个体的适应度数值,根据所述适应度数值从大到小进行排序,选取前N个所述个体构成样本种群;
步骤三,产生第一随机数值,如果所述第一随机数值小于第一预设阈值,则从所述样本种群中随机选取第一个体和第二个体,对所述第一个体和第二个体进行交叉处理,得到交叉个体,获取所述交叉个体的适应度数值,将所述交叉个体存入所述样本种群中得到样本交叉种群;
步骤四,产生第二随机数值,如果所述第二随机数值小于第二预设阈值,则从所述样本交叉种群中随机选取待变异个体,对所述待变异个体进行变异处理,得到变异个体,获取所述变异个体的适应度数值,将所述变异个体存入所述样本交叉种群中,得到样本变异种群;
步骤五,对所述样本变异种群中的个体按适应度数值由大到小进行排序,将最大所述适应度数值对应的个体存放在最优个体数组中,并对种群代数加一;
步骤六,获取中间代种群,对所述中间代种群进行如所述步骤二至所述步骤五的处理,直至所述种群代数大于预设代数阈值时,对所述最优个体数组中存储的所述个体按所述适应度数值进行由大到小的排序,结合爬山法对所述最优个体数组中存储的所述个体进行优化,将优化后的与最大所述适应度数值对应的所述个体存入结果个体数组中,根据所述结果个体数组中所述个体的数据进行软件模块聚类。
可选的,所述产生第一随机数值,如果所述第一随机数值小于第一预设阈值,则从所述样本种群中随机选取第一个体和第二个体,对所述第一个体和第二个体进行交叉处理,得到交叉个体,获取所述交叉个体的适应度数值,将所述交叉个体存入所述样本种群中得到样本交叉种群,包括:
根据预设算法产生第一随机数值;
如果所述第一随机数值小于第一预设阈值,则从所述样本种群中随机选取第一个体和第二个体,在所述第一个体中随机确定第一交叉位置和第二交叉位置,在所述第二个体中产生第三交叉位置;
将位于所述第一交叉位置和所述第二交叉位置之间的转移数据插入到所述第三位置处,删除所述第二个体中与所述转移数据编号相同的数据,得到交叉个体;
确定所述交叉个体的适应度数值,将所述交叉个体存入所述样本种群中,直至所述样本种群中所有所述个体均为所述交叉个体时,则此时的所述所述样本种群即为样本交叉种群。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510518627.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于浏览器购票的方法和浏览器插件
- 下一篇:拉链用密封器