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毫秒