遗传算法入门

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


2. 稳态选择(Steady State Selection)


3. 适应性比例选择(Fitness Proportionate Selection)


4. 赌轮选择(Roulette Wheel Selection)

17
5.2.1 选择(Selection)技术

5. 随机遍及取样(Stochastic Universal Sampling)

尝试利用遗传算法解决8数码问题
2 4
7 1
3 6
1 8
2
3 4
5
8
7
6
5
26
大作业3-B

阅读《游戏人工智能编程案例精粹》第5章 图 的密码生命,读懂Chapter5-Pathfinder源代码, 并增加函数模块,尝试利用遗传算法求解。
27
大作业3-C

利用遗传算法,实现原始的人机五子棋对弈。
16
5.2.1 选择(Selection)技术

1. 精英选择(Elitism)

为使遗传算法较快收敛,确保前一代中适应性最高 的n个基因组原样复制到新一代中 当前种群中,除去几个表现最差的个体,其他个体 全部保留进行杂交变异。 某个体被选中进行复制的期望值 = 该个体的适应性 分数 ÷ 种群的平均适应性分数 种群数量较小时,最优个体可能都选不上,可结合 精英选择技术。

4. 倒置变异 (Inversion Mutation,IVM)
13
5.1.1 各种变异算子

5. 倒置移位变异(Displaced Inversion Mutation,DIM) 随机选择两个点,颠倒其间的城市顺序,然后将 颠倒后的序列移到原始染色体的某位置上。
14
5.1.2 各种置换杂交算子


使用n个均匀隔开的指针,指 针个数等同于所需后代的个数。 只需旋转一次,即可得到整个 新种群。 适合于小数目种群。

6.锦标赛选择(Tournament Selection)


在种群中随机挑选n个个体,把适应性最高的个体 加入新种群。这一过程不断重复,任何个体都可 能被重复。 这一方法可能收敛速度过快。

1. 基于顺序的杂交(Order-Based Crossover,OBX) 在父代一中随机挑选几个城市,其排列顺序施 加到父代二中;父代二对应位置的顺序,加到 父代一中
Baidu Nhomakorabea
15
5.1.2 各种置换杂交算子

2. 基于位置的杂交(Position-Based Crossover,PBX) 类似基于顺序的杂家,但要把使用城市的顺序, 替代为使用城市的绝对位置。
23
5.2.4 子群技术(Niching

Techniques)
一种通过将相似的个体划分子群以保证群体多样 性的方法。

首先种群中的个体按照基因组相似度划分为子群 把个体的适应性分数和同一子群中的成员共享
24
上机练习

学习调试Improved TSP例子代码,测试不 同的算子策略
25
大作业3-A
16
F2 ( x ) 1 x sin(4x ) y sin(4y )
sin(6 x 2 y 2 ) 6 x y 10
2 2
, 1 x, y 1
10
遗传算法基本流程

求解TSP问题可以利用遗传算法的多种算子
生成初始种群 计算适应度 终止 ? 选择 交叉 变异 结束
28
大作业3-D


尝试对星际、魔兽、暗黑、Dota等任一款游戏 中的科技树或技能树进行合理的知识表示,并 应用遗传算法找到最优的发展路线。 最优:花费时间最少、消耗资源最少…
29
遗传算法优化
童晶 河海大学 物联网工程学院 2014年10月
1
遗传算法求解1
2
遗传算法求解1
3
遗传算法求解1
4
遗传算法求解1
全局最优解
5
遗传算法求解2
6
遗传算法求解2
7
遗传算法求解2
局部最优解
8
遗传算法求解

遗传算法可能得到局部最优解,需要能够从小坑中 跳出来,以便找到全局最优解。
局部最优解
局部最优解 全局最优解
9
5.2 各种处理工具

为使得遗传算法的求解小球保持滚动,并且尽快收 敛到最优解,可以借助多种技术和算子。
F1 ( x) 25 ( x12 x22 )0.25 (sin(50 ( x12 x22 )0.1 )2 1),
100 xi 100
指数函数曲线:
22
5.2.3 其它杂交算子

1. 单点杂交(Single-Point Crossover) 2. 两点杂交(Two-Point Crossover)


交换父辈在两点之间的基因块

多点杂交(Multi-Point Crossover)

交换父辈多点上的基因,简单方法是沿着父代染色 体,诸位地按杂交概率随机交换基因
20
5.2.2 变比技术(Scaling

Techniques)
2. 西格玛变比(Sigma Scaling)


遗传算法开始时,适应性分数分布很散,适应性高 的个体应以较小的概率分配到后代,防止过快收敛; 算法执行后期,适应性分数相对接近,适应性好的 个体将以较大的概率分配给后代,加快收敛。

标准差σ为方差的平方根,刻画了数据分布宽窄的 量。利用σ来对适应性分数归一化:
18
5.2.2 变比技术(Scaling

Techniques)

在选择之前,将原始适应性分数按某种方式进行 修改,改变评分标准,遗传算法就能得到改进。 周游路程长度的倒数?
19
5.2.2 变比技术(Scaling

Techniques)
1. 排名变比(Rank Scaling)

把排名序号作为其适应性分数,避免大量后代来自 于少数高适应性分数后代,防止过早收敛
21
5.2.2 变比技术(Scaling

Techniques)
3. 波兹曼变比(Boltzmann Scaling) 不同于西格玛变比在遗传算法期间保持稳定的选 择压力,这里希望:

遗传算法开始时,以较小的选择压力以保证多样性; 算法执行后期,希望只有较好的个体产生后代。
e^(原适应分/温度) 新适应性分数= ; 所有 e^(原适应分/温度) 的平均值 温度--;
生成新一代种群
11
5.1.1 各种变异算子

1. 散播变异(Scramble Mutation,SM)

2. 移位变异(Displacement Mutation,DM)
利用这个算子能很快收敛到一条较短的路径
12
5.1.1 各种变异算子

3. 插入变异 (Insertion Mutation,IM) 随机选择一个染色体,插入到随机位置
相关文档
最新文档