第4章 遗传算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fi为个体的适应度;fsum为种群的总适应度;pi为个体i的选 择概率。
轮盘选择的详细描述过程 ① 顺序累计群体内各个体的适应度,得相应的
累计值 Si pk ,设群体有n个个体,最后一
个累计值为Sn。 ② 在[0,Sn] 区间内产生均匀分布的随机数r。 ③ 依次用 Si 与 r比较,第一个出现大于或等于r 的Si所对应的个体i被选为复制对象。 ④ 重复第二步和第三步,直到满足所需要的复 制个体数目。
染色体编码方法:首先必须对问题的解空间进行编 码,使之能用遗传算法进行操作。较常用的是二进 制编码方法,现在使用非二进制编码的也逐渐增多。
染色体编码
二进制编码方法(Binary Representation)
U min
U max
U max U min X j 2 j 1
U min
4.1.1 基本原理
模式举例
模式 *10101110 与以下两个字符串匹配: 010101110 110101110
而模式 *1010*110 与以下四个字符串匹配: 010100110 010101110 110100110 110101110
4.1.1 基本原理
[定义2] 一个模式的阶是出现在模式中的“0”和“1”的数 目,记为o(s)。即具有确定取值的基因个数。 如:模式“0****”的阶为1,模式“10*1*”的阶为3。 [定义3] 一个模式的长度是出现在模式中第一个确定位置和 最后一个确定位置之间的距离,记为 ( s )。 如:模式“01***”的长度为1,模式“0***1”的长度为4。
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
y
max
min fitness
第4章 遗传算法
Contents
1 2
算法简介
基本流程 改进研究 相关应用
3
4
4.1 遗传算法简介
遗传算法是什么? 遗传算法的思想来源是怎样的? 它由谁提出的?
遗传算法 GA思想源于自然界“自然选择”和“优 (Genetic Algorithm ,GA) 胜劣汰”的进化规律, 是进化计算的一个分支, 通过模拟生物进化中的自然选择和交配 变异寻找问题的全局最优解。 是一种模拟自然界生物进化过程的随机搜 索算法。 它最早由美国密歇根大学教授John H. Holland提出, 现在已经广泛应用于各种工程领域的优 化问题之中。
流程结构
来自百度文库
染色体编码 群体初始化 适应值评价 选择算子 交配算子 变异算子 算法流程图和伪代码
应用举例
函数优化问题 算法的执行步骤示意图
基本遗传算法的构成要素
基本遗传算法(Simple Genetic Algorithm:SGA)又 称为简单遗传算法,只使用选择算子、交叉算子和 变异算子这三种基本的遗传算子。
4.1.1 基本原理
生物模拟技术
遗传算法
达尔文进化论
现代遗传学
4.1.1 基本原理
生物进化
生命自从在地球上诞生以来,就开始了漫长的生物 演化历程,低级、简单的生物类型逐渐发展为高级、 复杂的生物类型。这一过程已经由古生物学、胚胎 学和比较解剖学等方面的研究工作所证实。生物进 化的原因自古至今有着各种不同的解释,其中被人 们广泛接受的是达尔文的自然选择学说。
遗传算法的实质是通过选择、交叉、变异对模式进行搜索, 低阶、定义长度较小且平均适应值高于群体平均适应值的 模式在群体中的比例将呈指数级增长,即随着进化的不断 进行,较优染色体的个数将快速增加。
模式定理证明了遗传算法寻求最优解的可能性。但不能保 证算法一定找到全局最优。
4.1.1 基本原理
2、积木块假设:指低阶、定义长度较小且平均 适应度值高于群体平均适应值的模式。 积木块假设认为在遗传算法运行过程中,积木块 在遗传算子的影响下能相互结合,产生新的更加 优秀的积木块,最终接近全局最优解。 积木块假设对模式定理作了补充,说明遗传算法具 有能够找到全局最优解的能力。 目前的研究还不能对积木块假设是否成立给出一个 严整的论断和证明,但大量的实验和应用为积木块 假设提供了支持。
适应值评价
评估函数用于评估各个染色体的适应值,进而区 分优劣。评估函数常常根据问题的优化目标来确 定,比如在求解函数优化问题时,问题定义的目 标函数可以作为评估函数的原型。 在遗传算法中,规定适应值越大的染色体越优。 因此对于一些求解最大值的数值优化问题,我们 可以直接套用问题定义的函数表达式。但是对于 其他优化问题,问题定义的目标函数表达式必须 经过一定的变换。
4.1.1 基本原理
生物遗传进化过程
生物遗传进化
•
• • • • • • •
遗传算法
• • •
群体
种群 染色体
搜索空间的一组有效解 选择得到的新群体 可行解的编码串 染色体的一个编码单元 染色体的适应值
染色体交换部分基因得到新
基因
适应能力 交配 变异 进化结束
类比关系
• •
•
染色体 • 染色体某些基因的数值改变
International Conference on Genetic Algorithm ACM Genetic and Evolutionary Computation Conference Workshop on Foundations of Genetic Algorithms and Classifier Systems Genetic Programming Conference International Workshop on Artificial Life ……
问题的求解-群体爬山 进化算法的求解问题过程 是一个不断爬山的过程
爬山的模拟
随机地生成初始解
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
4.1.3 基本思想
潜在解集内选择一组可能解集
一定数目的经过基因编码的个体所组成 产生初代种群 优胜劣汰、适者生存 经过解码得到近似最优解
4.1.4 基本流程
编码和生成初始群体 对群体中的个体适应度进行评价 满足终止条件?
N Y
选择 交叉 变异 终止进化进程, 输出最终结果
4.2 遗传算法的流程
j 1 L
0000…0000 1111…1111
2 L 1
X L X L1 ...X 2 X1
浮点数编码方法(Float Point Representation)
群体初始化
一般情况下,遗传算法在群体初始化阶段采用的 是随机数初始化方法。采用生成随机数的方法, 对染色体的每一维变量进行初始化赋值。初始化 染色体时必须注意染色体是否满足优化问题对有 效解的定义。 如果在进化开始时保证初始群体已经是一定程度 上的优良群体的话,将能够有效提高算法找到全 局最优解的能力。
选择算子
轮盘赌选择算法
指针 转动方向 21% 43% 6%
/* once of roulette wheel selection * 输出参数: * 选中的染色体 */
30%
pi
fi
f
j 1
N
i
fi f sum
procedure RWS 1 m←0; 2 r←Random(0,1); //0至1的随机数 3 for i=1 to N 4 m←m+Pi; 5 if r <= m 6 return i; 7 end if 8 end for end procedure
染色体
0
1
1
0
1
0
1
0
0
1 变异
新染色体
0
0
1
0
1
0
1
0
0
1
4、运行参数
N:群体大小,即群体中包含的个体的数量。
T:遗传算法终止的进化代数。
Pc:交叉概率,一般取为 0.4~0.99。 Pm:变异概率,一般取为 0.0001~0.1 。
遗传算法流程图和伪代码
开始 初始化群体 /*
P(t)表示某一代的群体,t为当前进化代数 Best 表示目前已找到的最优解
双点交叉
父代1: 01| 101| 00110 父代2: 11| 000| 10100 交叉点1 交叉点2
双点交叉
子代1: 01| 000| 00110 子代2: 11| 101| 10100
变异算子
染色体的变异作用于基因之上,对于交配后新种群中染 色体的每一位基因,根据变异概率Pm判断该基因是否进 行变异。 如果Random(0, 1)小于Pm,则改变该基因的取值(其中 Random(0, 1)为[0, 1]间均匀分布的随机数)。否则该基因 不发生变异,保持不变。
k 1
i
交配算子
在染色体交配阶段,每个染色体能否进行交配由交配概 率Pc(一般取值为0.4到0.99之间)决定,其具体过程为: 对于每个染色体,如果Random(0, 1)小于Pc则表示该染色 体可进行交配操作(其中Random(0, 1)为[0, 1]间均匀分布 的随机数),否则染色体不参与交配直接复制到新种群 中。 每两个按照Pc交配概率选择出来的染色体进行交配,经 过交换各自的部分基因,产生两个新的子代染色体。具 体操作是随机产生一个有效的交配位臵,染色体交换位 于该交配位臵后的所有基因。
适应值评价,保存最优染色体
选择
交配
变异 重新评价适应值,更新最优染色体
否
满足终止条件 是 结束
*/ Procedure GA begin t←0; initialize(P(t)); //初始化群体 evaluate(P(t)); //适应值评价 keep_best(P(t)); //保存最优染色体 while (不满足终止条件) do begin P(t)← selection(P(t)); //选择算子 P(t)← crossover(P(t)); //交配算子 P(t)← mutation(P(t)); //变异算子 t←t+1; P(t)←P(t-1); evaluate(P(t)); if(P(t)的最优适应值大于Best的适应值) //以P(t)的最优染色体替代Best replace(Best); end if end end
•
算法结束
遗传算法
4.1.1 基本原理
群体 淘汰
遗传基因重组过程
淘汰的 个体
变异
选择
新种群 交配
种群
父代染色体1 父代染色体2
生物进化过程
子代染色体1
子代染色体2
4.1.1 基本原理
模式定理
1、模式的定义 模式也称积木块(building block),是描述位串子 集的相似性模板,表示基因串中某些特征位相同的 结构。 [定义1] 模式:群体中编码的某些位置具有相似结构 的染色体集合。 如:染色体的编码是由0或者1组成的二进制序列, 模式01***0表示以01开头且以0结尾的编码串对应的 染色体的集合。
低级, 简单 高级, 复杂
生物进化
4.1.1 基本原理
自然选择学说认为,生物要生存下去,就必须进行生存斗 争。生存斗争包括种内斗争、种间斗争以及生物与无机环 境之间的斗争三个方面。 在生存斗争中,具有有利变异(mutation)的个体容易存活 下来,并且有更多的机会将有利变异传给后代,具有不利 变异的个体容易被淘汰,产生后代的机会也少得多。 因此,凡是在生存斗争中获胜的个体都是对环境适应性比 较强的。达尔文把这种在生存斗争中适者生存、不适者淘 汰的过程叫做自然选择。 达尔文的自然选择学说表明,遗传和变异是决定生物进化 的内在因素。
4.1.2 研究进展
GA 研究内容与方向
算法性能 研究
混合算法 研究
并行算法 研究
算法应用 研究
与GA相关的重要学术期刊与国际会议
重要学术期刊
Evolutionary Computation IEEE Transactions on Evolutionary Computation ……
重要国际会议
交配算子
单点交叉
父代染色体1 父代染色体2 交配位置 X1 X2 … Xk Xk+1 Xk+2 … XD Y1 Y2 … Yk Yk+1 Yk+2 … YD 交配 子代染色体1 子代染色体2 X1 X2 … Xk Yk+1 Yk+2 … YD Y1 Y2 … Yk Xk+1 Xk+2 … XD