轮盘赌选择法

遗传学基本术语

  • 基因型(genotype):性状染色体的内部表现; 表现型(phenotype):染色体决定性状的外部表现,或者说,根据基因型形成的个体;
  • 进化(evolution):逐渐适应生存环境,品质不断得到改良。生物的进化是以种群的形式进行的。
  • 适应度(fitness):度量某个物种对于生存环境的适应程度。
  • 选择(selection):以一定的概率从种群中选择若干个个体。一般,选择过程是一种基于适应度的优胜劣汰的过程。
  • 复制(reproduction):细胞分裂时,遗传物质DNA通过复制而转移到新产生的细胞中,新细胞就继承了旧细胞的基因。
  • 交叉(crossover):两个染色体的某一相同位置处DNA被切断,前后两串分别交叉组合形成两个新的染色体。也称基因重组或杂交;
  • 变异(mutation):复制时可能(很小的概率)产生某些复制差错,变异产生新的染色体,表现出新的性状。
  • 编码(coding):DNA中遗传信息在一个长链上按一定的模式排列。 遗传编码可看作从表现型到基因型的映射。
  • 解码(decoding):基因型到表现型的映射。
    • 个体(individual):指染色体带有特征的实体;
  • 种群(population):个体的集合,该集合内个体数称为种群的大小;

轮盘赌选择法概念

轮盘赌选择法又称比例选择方法.其基本思想是:各个个体被选中的概率与其适应度大小成正比.
具体操作如下:
(1)计算出群体中每个个体的适应度f(i=1,2,…,M),M为群体大小;
(2)计算出每个个体被遗传到下一代群体中的概率;在这里插入图片描述

(3)计算出每个个体的累积概率;
在这里插入图片描述

(4)在[0,1]区间内产生一个均匀分布的伪随机数r;
(5)若r<q[1],则选择个体1,否则,选择个体k,使得:q[k-1]<r≤q[k] 成立;
(6)重复(4)、(5)共M次

一个简单的实例

  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 
    

在这里插入图片描述

代码实现

//按设定的概率,随机选中一个个体
// P[i]表示第i个个体被选中的概率
int RWS()
{
	m =0;
	r =Random(0,1); //r为0至1的随机数
	for(i=1;i<=N; i++)
	{
		//产生的随机数在m~m+P[i]间则认为选中了i
		//因此i被选中的概率是P[i]
		m = m + P[i];
		if(r<=m) return i;
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值