Algorithm 版 (精华区)

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

出  处: 202.114.3.45


 GA的程序设计应考虑到通用性,而且要有较强的适应新的算子的能力。OOP中的
类的继承为我们提供了这一可能。
 定义两个基本结构:基因(ALLELE)和个体(INDIVIDUAL),以个体的集合作为群体
类TPopulation的数据成员,而TSGA类则由群体派生出来,定义GA的基本操作。
对任一个应用实例,可以在TSGA类上派生,并定义新的操作。

 TPopulation类包含两个重要过程:
   FillFitness: 评价函数,对每个个体进行解码(decode)并计算出其适应度值,
         具体操作在用户类中实现。
   Statistic: 对当前群体进行统计,如求总适应度sumfitness、平均适应度
         average、最好个体fmax、最坏个体fmin等。

 TSGA类在TPopulation类的基础上派生,以GA的系统参数为构造函数的参数,
它有4个重要的成员函数:
  Select: 选择算子,基本的选择策略采用轮盘赌模型(如图2)。轮盘经任意
         旋转停止后指针所指向区域被选中,所以fi值大的被选中的概率就大。
  Crossover: 交叉算子,以概率Pc在两基因链上的随机位置交换子串。
  Mutation: 变异算子,以概率Pm对基因链上每一个基因进行随机干扰(取反)。
  Generate: 产生下代,包括了评价、统计、选择、交叉、变异等全部过程,每
        运行一次,产生新的一代。


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

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

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

※ Origin:.华中地区网络中心 s1000e.whnet.edu.cn.[FROM: 202.114.3.45]
※ 修改:.shs 于 Sep  9 12:47:12 修改本文.[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)
页面执行时间:2.892毫秒