您好、欢迎来到现金彩票网!
当前位置:秒速时时彩 > 算术交叉 >

在遗传算法中如果个体有100个交叉概率为01则交叉个体数为10。但

发布时间:2019-05-20 15:53 来源:未知 编辑:admin

  在遗传算法中如果个体有100个,交叉概率为0.1,则交叉个体数为10。但现在采用自适应的交叉概率,

  在遗传算法中如果个体有100个,交叉概率为0.1,则交叉个体数为10。但现在采用自适应的交叉概率,

  即适应值越大,交叉概率越小,那怎么确定交叉个体数。高手指教了,谢谢...

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部100个个体,交叉概率为0.1,并不代表交叉个体数为10个。这是一个概率问题。

  自适应的遗传算法,一般在迭代初期会有较大的交叉概率,越往迭代后期,交叉概率越小。

  现在我假设只考虑交叉,用代码实现100个个体,交叉概率为0.6时交叉产生的新个体,那不是要先确定交叉的个体数吗 不然代码怎么实现?追答是的,要先确定交叉的个体数。

  首先将100个个体两两配对,每一对个体作为母代个体,按交叉概率来判断是否要进行交叉。

  这样下来,100个个体交叉后仍然产生100个子代个体。追问不好意思,不知道您说的满足交叉概率是什么意思?

  现假设母代个体为0125431 1423435 1321314 4125432 1431413 3214311 ,交叉概率为0.6,那么如何产生子代个体。我看好多代码是现6*0.6=2.4,则有两个个体会进行交叉,然后产生两个1-6之间的随机数,来来表示第几个母代个体参与交叉,再产生一个随机交叉点,从而产生子代个体 。

  不知你的方法是如何具体产生子代个体的追答你看到的不是太标准的交叉方法,标准的如下:

  第1对母代个体:随机生成一个随机数r,如果r=0.6,则进行交叉。交叉点仍然是随机产生的。如果是单点交叉就随机产生一个点,如果是两点交叉就随机产生两个点,其他还有均匀交叉、融合交叉等。如果r0.6,则不进行交叉,子代个体用母代个体代替。

  一轮下来,进行交叉的个体数量大致是6*0.6=3.6个。但绝对不会是小数或奇数。追问太感谢您细心的回答了

  再次谢谢追答每一次迭代,交叉概率都是一样大的。自适应的交叉,是指随着迭代次数的变化,交叉率也在变化。

http://allpennsylvania.com/suanshujiaocha/15.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有