第六章(遗传算法)-test

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Single-point crossover:

11101001000 0000101010111111000000

11101010101

Initial strings Crossover Mask Offspring Two-point crossover:

11101001000 0000101010100111110000

11001011000 10011010011

Uniform crossover:

Point mutation:11101001000

00001010101

10001000100 1110100100011101011000

00101000101

00001001000

01101011001

遗传算法原型 GA(Fitness, Fitness_threshold, p, r, m )

Fitness :适应度评分函数,为给定假设赋予一个评估分数

Fitness_threshold :指定终止判据的阈值

p :群体中包含的假设数量

r :每一步中通过交叉取代群体成员的比例

m :变异率

•初始化群体:P ← 随机产生的p 个假设

•评估:对于P 中的每一个h ,计算Fitness(h)

•当,做:

threshold Fitness h Fitness h

_)]([max < 产生新的一代Ps:

1. 选择:用概率方法选择P 的(1-r)p 个成员加入Ps 。从p 中选择

假设hi 的概率Pr(hi)用下面公式计算:

∑==p j hj Fitness hi Fitness hi 1)()

()Pr(

2. 交叉:根据上面给出的Pr(hi),从p 中按概率选择r.p/2对假设。

对于每对假设,应用交叉算子产生两个后代。把所有

的后代加入Ps

3. 变异:使用均匀的概率从Ps 中选择m%的成员。对于选出的

每个成员,在它的表示中随机选择一位取反

4. 更新:P ← Ps

5. 评估:对于P 中的每个h 计算Fitness(h)

•从P 中返回适应度最高的假设

交叉操作对模式的影响:

A = 0 1 1 1 0 0 0

S1= * 1 * * * * 0

S2= * * * 1 0 * *

A = 0 1 1 | 1 0 0 0

S1= * 1 *| * * * 0

S2= * * *| 1 0 * *

S1比S2更不易生存

模式 S 被破坏的概率为 d(S)/(L-1), 生存的概率为 1-d(S)/(L-1) 被挑选做交叉的概率Pc

模式 S 生存的概率计算如下:

1)(1−•

−≥L S d Pc Ps

变异操作对模式的影响:

以概率Pm 随机改变一个位上的值,单个位存活的概率为(1-Pm). 设模式S 有O(S)个确定位,模式S 被保留下来的概率为: )()1(S O Pm −

相关文档
最新文档