rselect.c

来自「GENETIC ALGORITHM BOOKS」· C语言 代码 · 共 44 行

C
44
字号
/*----------------------------------------------------------------------------*//* rselect.c:  roulette wheel selection.                                      *//*----------------------------------------------------------------------------*/#include "external.h"select_memory(){}select_free(){}preselect(){    int j;    sumfitness = 0;    for(j = 0; j < popsize; j++) sumfitness += oldpop[j].fitness;}int select()/* roulette-wheel selection */{    extern float randomperc();    float sum, pick;    int i;    pick = randomperc();    sum = 0;    if(sumfitness != 0)    {        for(i = 0; (sum < pick) && (i < popsize); i++)            sum += oldpop[i].fitness/sumfitness;    }    else        i = rnd(1,popsize);    return(i-1);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?