⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sga.h

📁 二进制的基本遗传算法
💻 H
字号:
/*----------------------------------------------------------------------------*/
/* sga.h - global declarations for main(), all variable declared herein must  */
/*         also be defined as extern variables in external.h !!!              */
/*----------------------------------------------------------------------------*/

#define LINELENGTH 80                                    /* width of printout */
#define BITS_PER_BYTE 8            /* number of bits per byte on this machine */
#define UINTSIZE (BITS_PER_BYTE*sizeof(unsigned))    /* # of bits in unsigned */
#include <stdio.h>

/* file pointers */
FILE *outfp, *infp;

/* Global structures and variables */
struct individual 
{
    unsigned *chrom;                  /* chromosome string for the individual */
    double   fitness;                            /* fitness of the individual */
    int      xsite;                               /* crossover site at mating */
    int      parent[2];                  /* who the parents of offspring were */
    int      *utility;           /* utility field can be used as pointer to a */
                /* dynamically allocated, application-specific data structure */
};
struct bestever
{
    unsigned *chrom;        /* chromosome string for the best-ever individual */
    double   fitness;                  /* fitness of the best-ever individual */
    int      generation;                      /* generation which produced it */
};

struct individual *oldpop;                  /* last generation of individuals */
struct individual *newpop;                  /* next generation of individuals */
struct bestever bestfit;                         /* fittest individual so far */
double sumfitness;                    /* summed fitness for entire population */
double max;                                  /* maximum fitness of population */
double avg;                                  /* average fitness of population */
double min;                                  /* minumum fitness of population */
float  pcross;                                    /* probability of crossover */
float  pmutation;                                  /* probability of mutation */
int    numfiles;                                      /* number of open files */
int    popsize;                                            /* population size */
int    lchrom;                     /* length of the chromosome per individual */
int    chromsize;            /* number of bytes needed to store lchrom string */
int    gen;                                      /* current generation number */
int    maxgen;                                   /* maximum generation number */
int    run;                                             /* current run number */
int    maxruns;                             /* maximum number of runs to make */
int    printstrings = 1;     /* flag to print chromosome strings (default on) */
int    nmutation;                             /* number of mutations */
int    ncross;                               /* number of crossovers */

/* Application-dependent declarations go after here... */

⌨️ 快捷键说明

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