[发明专利]运用遗传算法优化碎纸片拼接复原问题的方法有效
申请号: | 201711275301.5 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108073987B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 张军;龚月姣;陈伟能;葛勇锋;张鑫源 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06N3/12 | 分类号: | G06N3/12;G06T3/40 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
地址: | 510006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运用 遗传 算法 优化 纸片 拼接 复原 问题 方法 | ||
1.一种运用遗传算法优化碎纸片拼接复原问题的方法,其特征在于,所述的方法包括:
S1、基因差异度评估步骤,进行基因差异度评估,确定各基因间水平和竖直拼接差异度;
S2、初始化种群步骤,按照预设编码方式初始化整个种群;
S3、适应值评估步骤,利用基因差异度对种群中的染色体适应度进行评估,记录最优染色体;
S4、交叉算子步骤,每次随机选择种群中染色体作为父母染色体组成交叉组合,执行交叉算子并产生子代染色体;
S5、变异算子步骤,随机选择四种变异算子的一种对新生成染色体进行变异,并将变异后的染色体插入种群中,其中,四种变异算子分别为基因片移动、基因行移动、行内基因互换、行间基因互换;
S6、选择算子步骤,从新种群中择优选择最优的若干个体组成新的种群;
S7、终止条件步骤,若达到终止条件,其中,所述的终止条件为适应度评估次数达到最大次数,则终止进化,输出最优染色体的基因排列情况,否则继续返回进化流程进行种群进化;其中,所述的步骤S1具体如下:
对染色体进行编码,针对碎纸片拼接问题的特点,将染色体编码成二维矩阵x,
上式中n和m分别表示染色体中的基因的列数、行数,将基因差异度等同为碎纸片间拼接差异度,按照拼接方向不同,分为水平方向差异度和竖直方向差异度,其中水平方向差异度的计算方法如下式:
其中diffhorizontal(i,j)为将基因i置于基因j水平左侧所产生的差异度,edgei,j为将基因i置于基因j水平左侧所产生的边缘差异度,blanki,j为将基因i置于基因j水平左侧所产生的空白向量差异度,为基因i右侧边缘向量位置k灰度,为基因j左侧边缘向量位置k灰度,条件即为基因i右侧边缘和基因j左侧边缘均存在非白内容,也即基因i和基因j存在非空白拼接,在这种条件下,它们水平方向差异度diffhorizontal(i,j)的计算方法为边缘差异度edgei,j和空白向量差异度blanki,j之和,反之则直接计算空白向量差异度blanki,j;
将基因i置于基因j水平左侧所产生的边缘差异度如下式:
其中为基因i的右侧边缘向量和基因j的左侧边缘向量在位置k的灰度差异度,h为边缘向量长度,为基因i的右侧边缘向量和基因j的左侧边缘向量在位置k的灰度加权差,在该加权差大于等于阈值τ时,灰度差异度为1,反之灰度差异度为0;
基因i的右侧边缘向量和基因j的左侧边缘向量在位置k的灰度加权差的计算方式如下式:
其中表示基因i右边缘向量位置k灰度,表示基因j左边缘向量位置k灰度;
将基因i置于基因j水平左侧所产生的空白向量差异度如下式:
其中表示基因i第k行是否为空白,是空白其值为1,反之为0;
其中,竖直方向差异度的计算方法如下式:
diffvertical(i,j)=edgei,j
其中diffvertical(i,j)为将基因i置于基因j水平上侧所产生的差异度,edgei,j为将基因i置于基因j竖直上侧所产生的边缘差异度,为基因i的下侧边缘向量和基因j的上侧边缘向量在位置k的灰度差异度,h为边缘向量长度,为基因i的下侧边缘向量和基因j的上侧边缘向量在位置k的灰度加权差,在该加权差大于等于阈值τ时,差异度为1,反之差异度为0;
基因i的下侧边缘向量和基因j的上侧边缘向量在位置k的灰度加权差的计算方式如下式:
其中表示基因i下边缘向量位置k灰度,相应地,表示基因j上边缘向量位置k灰度;
所述的步骤S2具体如下:
将基因差异度信息引入染色体,设种群规模为NP,其中60%初始化染色体为随机染色体,即采用完全随机方法声称,另40%初始化染色体采用贪心策略生成,
水平方向上表示为:min(diffhorizontal(sij,si(j+1)),其中sij表示第i行第j列基因,si(j+1)表示第i行第j+1列基因,diffhorizontal(sij,si(j+1))表示基因sij和基因si(j+1)的水平差异度;
竖直拼接方向表示为:min(diffvertical(sij,s(i+1)j),其中s(i+1)j表示第i+1行第j列的基因,diffvertical(sij,s(i+1)j)表示基因sij和s(i+1)j的竖直差异度;所述的步骤S3具体如下:
对染色体适应值进行评估,即是对碎纸片拼接,染色体x适应值评估计算方法定义如下:
其中sij表示第i行第j列基因,si(j+1)表示第i行第j+1列基因,diffhorizontal(sij,si(j+1))表示基因sij和基因si(j+1)的水平差异度,s(i+1)j表示第i+1行第j列的基因,diffvertical(sij,s(i+1)j)表示基因sij和s(i+1)j的竖直差异度;
所述的步骤S4具体如下:
在交叉算子中,对所选择的父母染色体中各基因水平和竖直邻接关系进行记录,从单一染色体角度来讲,对应第i行第j列基因的水平邻接表为edgetablehorizontal(Sij)=(Si(j+1),Si(j-1)),第i行第j列基因的竖直邻接表为edgetablevertical(Sij)=(S(i+1)j,S(i-1)j),
从父代染色体S11位置基因开始,顺序随机选择该基因水平和竖直邻接关系表中的基因进行拼接,直到完成整个子代染色体的生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711275301.5/1.html,转载请声明来源钻瓜专利网。