遗传算法(Genetic Algorithm)详解

部署运行你感兴趣的模型镜像

1.摘要

遗传算法是用于解决最优化问题的一种搜索算法。从名字来看,遗传算法借用了生物学里达尔文的进化理论:”适者生存,不适者淘汰“,将该理论以算法的形式表现出来就是遗传算法的过程。

2.商旅问题中

一个售货员必须访问n个城市,恰好访问每个城市一次,并最终回到出发城市。

在遗传算法中 将路径变为序列 视作是一个染色体 每个城市作为基因的单位 总路径长度可以视为该染色体的适合度值(Fitness Value)  

遗传算法的核心是通 不断的演变进化 挑选更优秀的染色体群落 让染色体适合度值不断降低收敛

从而得到最优解

初始阶段:

随机生成N个城市序列 作为染色体祖先群落 群落中每一个染色体代表一个路径解

通过基因互换和基因突变分别生成x和y个新的染色体 

基因互换:

从祖先群落中随机选取两a,b两组 从a组中随机选取一部分基因序列 在b中剔除相同基因(a中选取的基因为246 在b中剔除246)

同时将剩余基因(剔除完246之后 b基因序列变为1375)连接 将a组中截取(246)的部分接入

这样就形成了一个基因互换染色体

基因变异:

从祖先群落中随机选取一组染色体 从中截取一段基因序列

打乱顺序形成新染色体:

现在我们把新生成的N组染色体 和原来的N组祖先染色体 放在一起 对其适合度值进行排序

排序之后:

选取适合度最低的N组染色体 作为本次进化的优胜者 用他们替换祖先群落 然后循环之前的步骤

整体的流程:

3.在深度学习中

传入一个6*6的 由0 1 组成的网格图

将其扁平化为1*36的一维向量 原图染色体:

1.生成祖先群落

随机生成一个包含5个染色体的祖先群落

2.基因互换

随机选择2对染色体进行基因互换

随机选择互换位置 截取长连续基因序列 进行同位置基因对调 2对染色体完成基因互换之后

生成4个新染色体

3.基因变异

从原群落中随机选择一个染色体 在随机位置进行基因变异 0变1 1变0

生成最后一个新染色体

4.排序适合度值

最后把10个染色体放在一起 分别和原图染色体求基因差值的平方和 就是本案例的适合度值

选择最小的5个染色体 作为优胜染色体群落

5.逆扁平化

将适合度值最小的染色体 逆扁平化重新绘制在6*6的网格图上

到此为止 一次循环已经完成

进行下一次循环之前 将优胜染色体群落替换祖先群落 重复步骤

最终将会得到原图

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值