请问如何实现遗传算法的实数编码交叉算子

GSE 2004-08-24 08:59:17
实数编码的变异就是加上一个随机数,那么实数编码的交叉呢?

实数编码是否应是这样的:
父代1 ABC|DE 子代1 ABC|IJ
父代1 FGH|IJ 子代1 FGH|DE
A,B,C,D,E,F,G,H,I,J是一组实数,分别构成了父代的两个基因个体,在一处随机位置交换基因链的后半部分,生成新的子代基因个体,是这样么?那么,不就始终是这几个实数来回交换, 一直不会有新的实数生成么?我是要利用GA做BP网络的权值优化,权值都是浮点型的,不知怎么转成二进制的遍码?请大虾们给指点一下.
...全文
1273 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
GSE 2004-09-13
  • 打赏
  • 举报
回复
呵呵...楼上的英雄,上次多谢了.
我GA也是初学,上面提的问题已经解决了,做了一个程序,发现GA优化BPNN的精度和速度还比不上标准BPNN,只是在全局搜索的方面比较强,实用性不太好,英雄如有何见教,还请多多指点.sakieltang@263.net
jaredcsdn 2004-08-24
  • 打赏
  • 举报
回复
搂主上次问了Polygon面积计算,这次居然问到GA领域了,真是兴趣广泛。

GA我也只知道个大概,算不上精通。
据我所知,交叉算法最好还是与具体问题结合,尽量争取使算法有较高的几率产生比父代更好的子代。千万不能生搬硬套,试想如与具体问题脱钩,胡乱交叉,那和纯粹的Random还有什么区别!“交叉”只是名称,而非形式。所以楼主要考虑的不是浮点数如何交叉,而是如何设计一个有较高几率产生更优秀子代的算法。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧