statistic.c

来自「遗传算法的简单程序」· C语言 代码 · 共 33 行

C
33
字号
//适应度统计 
/*----------------------------------------------------------------------------*/ 
/* statistic.c - compute the fitness statistics  */ 
/*----------------------------------------------------------------------------*/ 
#include "external.h" 

statistics(pop)    /* Calculate population statistics */
struct individual *pop; 
{ 
    int i, j; 
    sumfitness = 0.0; 
    min = pop[0].fitness; 
    max = pop[0].fitness; 
    /* Loop for max, min, sumfitness */ 
    for(j = 0; j < popsize; j++) 
    { 
        sumfitness = sumfitness + pop[j].fitness;               /* Accumulate */ 
        if(pop[j].fitness > max) max = pop[j].fitness;         /* New maximum */ 
        if(pop[j].fitness < min) min = pop[j].fitness;         /* New minimum */ 
        /* new global best-fit individual */ 
        if(pop[j].fitness > bestfit.fitness) 
          { 
            for(i = 0; i < chromsize; i++) 
              bestfit.chrom[i] = pop[j].chrom[i]; 
            bestfit.fitness    = pop[j].fitness; 
            bestfit.generation = gen; 
          } 
      } 
    /* Calculate average */ 
    avg = sumfitness/popsize; 
    /* get application dependent stats */ 
    app_stats(pop); 
} 

⌨️ 快捷键说明

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