遗传算法入门详解

csdn的第一篇博文介绍遗传算法入门,希望对刚刚学习遗传算法的同学能有所帮助。

下面是参考于维基百科对遗传算法的定义:遗传算法是一种解决最优化问题的启发式算法,借鉴了进化生物学的一些现象,其中包括遗传,突变,自然选择和杂交等。通俗来讲,遗传算法就是在一群问题的候选解中通过各种操作寻找最优解(或近似最优解)的过程,这个过程中用到了模拟生物遗传学的知识。

1. 遗传算法(Genetic algorithm  ,GA)的组成:

种群(population):生物进化的最小单位,包含许多个个体。

个体(individual):种群中的一个个体,含有某些基因片段。

基因(gene):一个遗传变量

编码(encode):讲个体描述成机器可以识别的模式(0,1字符串或者浮点数)

交叉(crossover):两个被选中的个体,通过交叉生成两个新个体,替换原来的两个个体

变异(mutation):对一个个体基因变异,生成新个体替换原来的老个体。

适应度(relative fitness):个体对环境的适应能力,同样代表该个体的生命力。 

2. 遗传算法的思想:

遗传算法模拟生活中的遗传现象,类似于环境对生物的自然选择,优胜劣汰。我们用该个体的适应度(fitness)代表该个体对环境的适应能力,适应度高代表个体优秀,适应度低代表个体弱。我们通过适应度为基础对种群的个体进行概率选择,适应度高的个体被选中进入下一代的概率高,适应度低的个体被选中的概率低。那么随着下一代个体总体上比上一代个体更加优秀,最后选择出最优秀的个体作为最优解。

3. 遗传算法的基本步骤:

开始 BEGIN

初始化第0代种群 Initialization

评估初始种群中每个个体的适应度Evaluation

循环操作直到找到最优解或循环到终止条件While(obtain solution or termination)

种群进入下一代 generation++

选择操作 Selection

交叉操作

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值