zoukankan      html  css  js  c++  java
  • 轮盘赌法

    轮盘赌选择

    基本思想是:各个个体被选中的概率与其适应度大小成正比.

    具体操作如下:
    (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. 产生初始种群

    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 

    转:https://my.oschina.net/u/1412321/blog/192454  

  • 相关阅读:
    Markdown语法帮助文档
    react-native-vector-icons使用方法
    如何创建Pull Request,以开源项目ant design pro为例
    4.环境变量总结篇
    3.Flutter之hello_world
    构建之法 阅读笔记03
    学习进度14
    团队项目-个人博客6.5
    团队项目-个人博客6.4
    构建之法 阅读笔记02
  • 原文地址:https://www.cnblogs.com/ow0843/p/9573730.html
Copyright © 2011-2022 走看看