遗传算法的基本原理

基因与染色体

染色体为基因的组合,把染色体看作一串数值,每个位置上为1或0,1表示该位置基因存在,0表示不存在。如两条染色体:

A1:        1 0 0 1 0 1

A2:        0 0 1 1 1 0

根据每个位置上的基因的权重,把数值为1的位置上的基因各自的权重相加,能计算出该条染色体的总权重。若假设权重更高的染色体更容易生存,权重较低的染色体被淘汰。进行n轮的“进化”后,留下来的染色体就是我们想要的结果。

选择

我们需要在许多条染色体中,选择两条染色体进行“交配”,产生下一代。那么,该如何选出这两条染色体呢?

轮盘赌选择法(Roulette Wheel Selection method)

在一个圆盘上,分割出大小相同或不同的扇形区域表示各个染色体,旋转指针,指针停留的区域对应的染色体作为选择的结果,指针停留两次,选出两个染色体作为亲本。

可以指定一个或两个固定指针,在第一轮选择亲本时使用。

交叉

使用选择的两个染色体,对其每个位置上的基因进行混合,得到新的子代染色体。

单点交叉

随机选择一个交叉点,将两条染色体在交叉点后的部分进行对调。如选取上面A1和A2两条染色体作为亲本,把[2]位置后作为交叉点,将其后部分进行对调,产生两条新染色体A3和A4。

A3:        1 0 0 1 1 0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值