网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> FAQ >> 软件开发 >> 文章正文
  每日一讲:遗传算法(5)          【字体:
每日一讲:遗传算法(5)
作者:admin    文章来源:本站原创    点击数:    更新时间:2004-7-27    

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();            // 产生新的一代
};

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    每日一讲:遗传算法(1)
    每日一讲:遗传算法(2)
    每日一讲:遗传算法(3)
    每日一讲:遗传算法(4)
    每日一讲:遗传算法(6)
    每日一讲:遗传算法参考文献
    每日一讲:未用的输入/输出…
    每日一讲:关于“语音评测”
    每日一讲:DSP系统构成的常用…
    每日一讲:如何编写DSP外部的…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号