创建种群的代码2--选择

2022-08-13  本文已影响0人  大龙10

书名:代码本色:用编程模拟自然系统
作者:Daniel Shiffman
译者:周晗彬
ISBN:978-7-115-36947-5
第9章目录

9.7 创建种群的代码2

第2步:选择

class DNA {
    float fitness; 在DNA类中加入一个适应度变量
    void fitness () { 该函数的作用是计算适应度
         int score = 0;
        for (int i = 0; i < genes.length; i++) {
              if (genes[i] == target.charAt(i)) { 字符是否正确
                  score++; 如果正确,增加分值
              }
          }
        fitness = float(score)/target.length(); 适应度就是正确字符的百分比
      }
}
void draw() {
    for (int i = 0; i < population.length; i++) {
        population[i].fitness();
    }
}
ArrayList<DNA> matingPool = new 从空的交配池开始
ArrayList<DNA>();
for (int i = 0; i < population.length; i++) {
    int n = int(population[i].fitness * 100); n等于适应度乘以100,是一个介于0~100的整数
    for (int j = 0; j < n; j++) {
        matingPool.add(population[i]); 在交配池中将个体添加N次
    }
  }
上一篇 下一篇

猜你喜欢

热点阅读