Algorithm 版 (精华区)

发信人: shs (花雨飘), 信区: Algorithm
标  题: 遗传算法(5)
发信站: 哈工大紫丁香 (Sat Sep  9 12:49:36 2000), 转信

出  处: 202.114.3.45


 SGA的结构及类定义如下(用C++编写):

typedef char    ALLELE; // 基因类型
  typedef struct{
  ALLELE *chrom;
  float   fitness;      // fitness of Chromosome
}INDIVIDUAL;            // 个体定义

class TPopulation{      // 群体类定义
  public:
    int   size;         // Size of population:  n
    int   lchrom;       // Length of chromosome:  l
    float sumfitness, average;
    INDIVIDUAL *fmin, *fmax;
    INDIVIDUAL *pop;

    TPopulation(int popsize, int strlength);
   ~TPopulation();
    inline INDIVIDUAL &Individual(int i){ return pop[i];};
    void   FillFitness();               // 评价函数
    virtual void Statistics();          // 统计函数
};

class TSGA : public TPopulation{        // TSGA类派生于群体类
  public:
    float pcross;               // Probability of Crossover
    float pmutation;                    // Probability of Mutation
    int    gen;                 // Counter of generation

  TSGA(int size, int strlength, float pm=0.03, float pc=0.6):
   TPopulation(size, strlength)
   {gen=0; pcross=pc; pmutation=pm;  } ;
  virtual INDIVIDUAL& Select();
  virtual void  Crossover(INDIVIDUAL &parent1, INDIVIDUAL &parent2,
                   INDIVIDUAL &child1, INDIVIDUAL &child2);
  virtual ALLELE Mutation(ALLELE alleleval);
  virtual void   Generate();            // 产生新的一代
};


--
-------------------------------------------------------o

     ^_^                           千江有水千江月 
    Teddy                             万里无云万里天

        o--------------------------------------------------------

※ Origin:.华中地区网络中心 s1000e.whnet.edu.cn.[FROM: 202.114.3.45]
※ 修改:.shs 于 Sep  9 12:47:18 修改本文.[FROM: as.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: as.hit.edu.cn]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: shs.bbs@bbs.whnet.ed]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.864毫秒