遗传算法中的CROSSOVER和MUTATION
来源:互联网 发布:php开源商城源码下载 编辑:程序博客网 时间:2024/05/22 04:28
结合上次发的代码,这次再多说点,今天看了别人的代码,才晓得在实值编码下crossover和mutation的做法。
1:crossover,对于实值编码的染色体一般进行crossover的时候,是先随机选择2个parent,然后选择一部分进行交换,这样的做法是最常见的。而在我上面的代码中是(parent1+parent2)/2 来做了。那么就在这里说下选择部分进行交换的做法。
比如群体的size是N,先选择最好的M个,那么就需要在产生N-M个才能维持好种群的大小。怎么产生着N-M个后代?做法是这样的,假设每个染色体的长度是K,那么先把M个种群中的染色体的第一个基因,按照倍数复制成长度为N-M,接着随机再给这个N-M排序下,组成了N-M个后代的第一个基因,以此类推,就完成了任意2个parent的基因交换和重组。
2:mutation中最常见的就是以X的概率去mutation,那么怎么弄?这个mutation是针对每个染色体上的每个基因的,做法是这样的,遍历这N个染色体上的K个基因,然后产生随机数,如果这个随机数小于X,那么久给这个基因做mutation,如果大于则不更改,具体的实现的时候可以灵活点。
至此,这就是crossover和mutation的常见做法。
0 0
- 遗传算法中的CROSSOVER和MUTATION
- 自适应遗传算法学习1--crossover设计
- 遗传算法中的转盘算法
- 遗传算法中的转盘算法
- 遗传算法中的选择算子
- 遗传算法:内存中的进化
- 个性化推荐和遗传算法
- 遗传算法和一些思考
- Crossover
- CrossOver
- 遗传算法在黑盒测试中的应用
- 遗传算法:内存中的进化【转】
- Deap: python中的遗传算法工具箱
- 《遗传算法的数学基础》阅读笔记 (2)_遗传机制和遗传算法。
- 遗传算法、Golombs 编码和人工神经网络
- 遗传算法的基本原理和方法(转)
- 遗传算法的基本原理和方法
- 遗传算法入门例子和总结
- Git之多人协作
- 北风吹,秋风凉 谁家娇妻守空房 你有困难我帮忙 我住隔壁我姓王
- Android 后台发送邮件 (收集应用异常信息+Demo代码)
- css属性
- Android lunch分析以及产品分支构建
- 遗传算法中的CROSSOVER和MUTATION
- 微信公众平台JSSDK开发实战——公众号与HTML5混合模式揭秘——互动出版网
- 台阶问题
- SSL ENGINE机制 二
- shell脚本实现对网卡流量监控
- AM-资产冻结与停用
- 包装类与数据类型之间的转换
- 递归求最小公倍数
- javascript正则表达式