经典遗传算法(Canonical GA)笔记(1)

这篇笔记介绍了遗传算法的基本思想和详细步骤,包括基因编码(二进制和顺序编码)、初代种群生成、适应度评估。通过模拟生物遗传,不断迭代优化,寻找问题的近似最优解。适应度的评估因问题而异,如求最值问题中可直接用目标函数值作为适应度。
摘要由CSDN通过智能技术生成

今天写一点关于遗传算法的笔记和自己通俗的理解,供以后复习回顾。若有错误欢迎指正。

遗传算法的思想

遗传算法,顾名思义是类比生物学中遗传的思想得到的算法。通过种群中优秀父代的基因交流,加上一定概率的基因突变而产生子代,并循环迭代下去,产生一代一代的新种群,最终经过一定数量的迭代之后,最后种群中最优秀的个体,近似可以看作问题的最优解。
遗传算法需要经过以下几个步骤,后文会详细介绍每个部分的思想和方法。

  1. 基因编码(encoding)
  2. 生成初代种群(initializing)
  3. 评估种群中每个个体的适应度(fitness)
  4. 选择父辈(parents)
  5. 组合交叉(crossover)和基因突变(mutation)
  6. 生成子代(offsprings)
  7. 迭代,重复3-6,直到达到设定的循环次数
  8. 选择最优解,并解码

详细算法过程

1.基因编码和解码

和生物的染色体(chromosome)一样,我们要对算法里的每一个个体的基因进行编码,这样才能够在后面进行基因交流,基因突变等操作。编码的方法有很多种,常见的有二进制编码,顺序编码等等。
(1)二进制编码:和单片机的ADC一样,首先设置基因有n个bits,比如是8位的基因,那它就是一个8位的二进制数,每一位是0或1,如 0100 1100。一共会有28=256种可能性,他将可行域分成256个等份,特定的二进制数和特定的实际值一一对应。
例如:在区间 [ − 5 , 5 ] [-5, 5] [5,5] 上寻找 f ( x ) f(x) f(x) 的最小值对应的 x x x,基因是8位,那么随机生成 x = 3.4 x=3.4 x=3.4所对应的基因就是:
x = 3.4 c o d e = f l o o r ( 3.4 − ( − 5 ) 5 − ( − 5 ) ∗ 256 ) = f l o o r ( 215.04 )   = (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值