【算法基础】轮盘赌算法 轮盘选择算子

轮盘赌样子

在这里插入图片描述

轮盘赌作用

  • 让适应度值大的个体,有更大概率,能被选择作为父代个体来生成新个体
  • 常用在遗传算法的选择过程中
  • 能避免陷入局部最优
  • 每次的判断数都是随机的,使用该算法选择到个体的概率符合,各个体的适应度,和轮盘上概率分布一样

定义

又称比例选择方法,其基本思想:各个个体被选中的概率与其适应度大小成正比.

具体操作:
(1)计算出群体中每个个体的适应度f(i=1,2,…,M),M为群体大小
(2)计算出每个个体被遗传到下一代群体中的概率
在这里插入图片描述
(3)计算出每个个体的累积概率
在这里插入图片描述

q[i]称为染色体x[i] (i=1, 2, …, n)的积累概率)
在这里插入图片描述
(4)在[0,1]区间内产生一个均匀分布的伪随机数r
(5)若r<q[1],则选择个体1,否则,选择个体k,使得:q[k-1] < r ≤ q[k] 成立
(6)重复(4)、(5)共M次

例1

右上边饼图不同颜色的区域,面积大小对应着不同的概率,面积越大,代表概率越大。假想把这张图打印到一张纸上,随机扔一把小米,落在3区域的小米相对来说数量最多。好了,现在我一粒一粒的扔,扔了10粒米(意味着只选了10个样本),假如5个落在3区域,3个落在1区域,1个落在4区域,1个落在5区域。

在这里插入图片描述

在应用中,比方说,7号米粒利用概率38%(因为落在了3号区域),8号米粒利用概率14%,9号米粒利用概率38%,10号米粒利用概率31%。
这样有什么好处?避免了所有的米粒都选择概率最大的区域3(所谓的最优值问题),换句话,各个概率(各种情况)都相应的被使用到了,避免了陷入局部最优的问题。

把概率整合到一条线上,然后随机产生数据a,a属于[0,1],比方说
在这里插入图片描述
这样,不同的数据对应不同的数据概率,并且整体上还保留了“区域概率越大,对应数据越多”这一分布!

例2

1. 产生初始种群

s1= 13 (01101)
s2= 24 (11000)
s3= 8 (01000)
s4= 19 (10011)

2. 计算适应度

假定适应度为f(s)=s^2 ,则
f (s1) = f(13) = 13^2 = 169
f (s2) = f(24) = 24^2 = 576
f (s3) = f(8) = 8^2 = 64
f (s4) = f(19) = 19^2 = 361

3. 选择

在这里插入图片描述
在这里插入图片描述
根据上面的式子,可得:
在这里插入图片描述

结果(用随机数的方式选择下一代父代)

例如设从区间[0, 1]中产生4个随机数:
r1 = 0.450126, r2 = 0.110347
r3 = 0.572496, r4 = 0.98503
在这里插入图片描述

下一代父代,选择的就是第0个、第1个。第4个

https://blog.csdn.net/u011125673/article/details/87895448
https://www.cnblogs.com/adelaide/articles/5679475.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值