当前位置:文档之家› 进化算法-遗传算法

进化算法-遗传算法


6/50
(1) 编码机制

二进制编码

每一个位( 0或1 )-基因 字符串-染色体
多值编码方法 实数编码
7/50
(2) 适应度函数

优化问题的目标函数 “适应度值”的计算直接通过将目标函数经 一定的线性变换映射到的[0,1]区间内的 一个值。
8/50
(3) 选择机制

基本思想取自于自然界进化论的“适者生 存”。 适应度值越高的个体,生存的数量也越高。 满足“优胜劣汰”自然法则。 也可称为复制机制 比例选择法(Proportionate selection scheme) 转轮选择法(Roulette Wheel Selection Scheme) :随机方法
13/50
举例

群体 P1 (随机初始化) 染色体 适应度值
0000011100 1000011111
0110101011 1111111011
0.2 0.6
0.6 0.9
14/50
(2) 选择

以 fi / f 的比例分配转轮
群体P4 (变异运算后)ቤተ መጻሕፍቲ ባይዱ
染色体 1000011011
0110111011 1111111011 0111111111
适应度值 0.5
0.7 0.9 0.9
18/50
(5) 终止准则判断

方法有两类:
一是系统的性能指标已经满足要求; 二是学习次数已经达到最大允许次数。
3/50
步骤

(1)
(2) (3) (4) (5) (6)
• 群体的初始化;
• 评价群体中每一个体的性能;
• 选择下一代个体; • 执行简单的操作算子(如交叉、变异); • 评价下一代群体的性能; • 判断终止条件满足否?若不,则转(3)继续;若满足,则 结束
9/50
(4) 交叉算子

模拟有性繁殖现象 随机地从父辈集合中选取两个个体作为双亲。 设L表示一个体的字符串(染色体)长度, 随机地产生(0~L)之间的一个数d,并把此点 位置称为交叉点。交叉运算就是将双亲的基 因链在交叉点断裂,且将在交叉点之后的基 因根据交叉率的条件决定是否进行相互交换 形成下一代。 所谓交叉率pc是根据优化问题预先确定的一 个0~1之间的值。通常取0.6~0.9。


② ③ ④ ⑤
• 群体初始化;
• 繁殖;
• 交叉;
• 变异;
• 终止准则判断,若不满足,重 复②~④;否则,搜索结束。
12/50
(1) 群体初始化

群体规模N 一般情况下取N=10~200之间为宜。
初始群体的构成 随机选择
群体 P3 (交叉运算后) 染色体 10000|11011 0110101011 适应度值 0.5 0.6
1111111011 11111|11111
0.9 1.0
17/50
(4) 变异

取pm=0.05 P4给出了第2个个体和第4个个体中分别有一 个基因发生变异后的情况。
10/50
(5) 变异算子

模拟基因突变现象 所谓变异指的是随机地选取染色体中的某个 基因(也即字符串中的某一位)进行取反运 算,即将原有的“1”变为“0” 和反之。 变异率pm取比较小的数值,一般pm为0.001~ 0.2。
11/50
3. 遗传学习算法的设计举例
15/50
选择举例

群体 P2 (经选择后) 染色体 1000011111 适应度值 0.6
0110101011 1111111011
1111111011
0.6 0.9
0.9
16/50
(3) 交叉

本例中随机选取1和4号个体、2和3号个体分 别形成两对进行交叉运算。当取交叉率 pc=0.5时,只有个体1和4这一对双亲进行真 正的交叉运算,而另一对个体2和3不进行交 叉运算。
4/50
需要解决的问题

编码机制; 选择机制; 控制参数选择; 二进制字符串的群体构成; 适应度函数的计算 遗传算子(交叉、变异)的定义。
5/50
2. 遗传学习算法的操作算子

编码机制 (Encoding mechanism) 适应度函数(Fitness function) 选择机制(Selection mechanism) 交叉算子(Crossover) 变异算子(Mutation)
19/50
8.2 遗传学习原理与算法

8.2.1 遗传学习的基本思想 8.2.2 遗传学习算法的理论基础
8.2.3 遗传学习算法的改良
8.2.4 遗传学习算法的应用
20/50
8.2.2 理论基础

有多种理论分析遗传算法的收敛性,例如

Holland提出的模板理论(Schema theory) Goldberg提出的建筑块假设(Building block hypothesis)。
它们通过计算有用相似性,检查包含在群体 中的各种模板的增长速率来表明遗传学习的 能力。 这里主要介绍模板定理
第8章
进化算法-遗传算法
智能控制基础
8.2 遗传学习原理与算法

8.2.1 遗传学习的基本思想 8.2.2 遗传学习算法的理论基础
8.2.3 遗传学习算法的改良
8.2.4 遗传学习算法的应用
2/50
1. 问题的提出

美国的J. Holland教授于1975年提出 在遗传学的基础上利用计算机来模拟生物的 进化过程,从而实现复杂问题的优化求解。 模拟生物染色体的运作(复制、交叉、变 异),是一种随机化搜索算法
相关主题