第六章(遗传算法)-test
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 −