第4章 遗传算法
选择算子
轮盘赌选择算法
指针 转动方向 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
k 1
i
交配算子
在染色体交配阶段,每个染色体能否进行交配由交配概 率Pc(一般取值为0.4到0.99之间)决定,其具体过程为: 对于每个染色体,如果Random(0, 1)小于Pc则表示该染色 体可进行交配操作(其中Random(0, 1)为[0, 1]间均匀分布 的随机数),否则染色体不参与交配直接复制到新种群 中。 每两个按照Pc交配概率选择出来的染色体进行交配,经 过交换各自的部分基因,产生两个新的子代染色体。具 体操作是随机产生一个有效的交配位臵,染色体交换位 于该交配位臵后的所有基因。
流程结构
染色体编码 群体初始化 适应值评价 选择算子 交配算子 变异算子 算法流程图和伪代码
应用举例
函数优化问题 算法的执行步骤示意图
基本遗传算法的构成要素
基本遗传算法(Simple Genetic Algorithm:SGA)又 称为简单遗传算法,只使用选择算子、交叉算子和 变异算子这三种基本的遗传算子。
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
y
max
min fitness
染色体编码方法:首先必须对问题的解空间进行编 码,使之能用遗传算法进行操作。较常用的是二进 制编码方法,现在使用非二进制编码的也逐渐增多。
染色体编码
二进制编码方法(Binary Representation)
U min
U max
U max U min X j 2 j 1
U min
4.1.1 基本原理
生物模拟技术
遗传算法
达尔文进化论
现代遗传学
4.1.1 基本原理
生物进化
生命自从在地球上诞生以来,就开始了漫长的生物 演化历程,低级、简单的生物类型逐渐发展为高级、 复杂的生物类型。这一过程已经由古生物学、胚胎 学和比较解剖学等方面的研究工作所证实。生物进 化的原因自古至今有着各种不同的解释,其中被人 们广泛接受的是达尔文的自然选择学说。
适应值评价,保存最优染色体
选择
交配
变异 重新评价适应值,更新最优染色体
否
满足终止条件 是 结束
*/ 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章 遗传算法
Contents
1 2
算法简介
基本流程 改进研究 相关应用
3
4
4.1 遗传算法简介
遗传算法是什么? 遗传算法的思想来源是怎样的? 它由谁提出的?
遗传算法 GA思想源于自然界“自然选择”和“优 (Genetic Algorithm ,GA) 胜劣汰”的进化规律, 是进化计算的一个分支, 通过模拟生物进化中的自然选择和交配 变异寻找问题的全局最优解。 是一种模拟自然界生物进化过程的随机搜 索算法。 它最早由美国密歇根大学教授John H. Holland提出, 现在已经广泛应用于各种工程领域的优 化问题之中。
遗传算法的实质是通过选择、交叉、变异对模式进行搜索, 低阶、定义长度较小且平均适应值高于群体平均适应值的 模式在群体中的比例将呈指数级增长,即随着进化的不断 进行,较优染色体的个数将快速增加。
模式定理证明了遗传算法寻求最优解的可能性。但不能保 证算法一定找到全局最优。
4.1.1 基本原理
2、积木块假设:指低阶、定义长度较小且平均 适应度值高于群体平均适应值的模式。 积木块假设认为在遗传算法运行过程中,积木块 在遗传算子的影响下能相互结合,产生新的更加 优秀的积木块,最终接近全局最优解。 积木块假设对模式定理作了补充,说明遗传算法具 有能够找到全局最优解的能力。 目前的研究还不能对积木块假设是否成立给出一个 严整的论断和证明,但大量的实验和应用为积木块 假设提供了支持。
j 1 L
0000…0000 1111…1111
2 L 1
X L X L1 ...X 2 X1
浮点数编码方法(Float Point Representation)
群体初始化
一般情况下,遗传算法在群体初始化阶段采用的 是随机数初始化方法。采用生成随机数的方法, 对染色体的每一维变量进行初始化赋值。初始化 染色体时必须注意染色体是否满足优化问题对有 效解的定义。 如果在进化开始时保证初始群体已经是一定程度 上的优良群体的话,将能够有效提高算法找到全 局最优解的能力。
4.1.3 基本思想
潜在解集内选择一组可能解集
一定数目的经过基因编码的个体所组成 产生初代种群 优胜劣汰、适者生存 经过解码得到近似最优解
4.1.4 基本流程
编码和生成初始群体 对群体中的个体适应度进行评价 满足终止条件?
N Y
选择 交叉 变异 终止进化进程, 输出最终结果
4.2 遗传算法的流程
交配算子
单点交叉
父代染色体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
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 ……
fi为个体的适应度;fsum为种群的总适应度;pi为个体i的选 择概率。
轮盘选择的详细描述过程 ① 顺序累计群体内各个体的适应度,得相应的
累计值 Si pk ,设群体有n个个体,最后一
个累计值为Sn。 ② 在[0,Sn] 区间内产生均匀分布的随机数r。 ③ 依次用 Si 与 r比较,第一个出现大于或等于r 的Si所对应的个体i被选为复制对象。 ④ 重复第二步和第三步,直到满足所需要的复 制个体数目。
问题的求解-群体爬山 进化算法的求解问题过程 是一个不断爬山的过程
爬山的模拟
随机地生成初始解
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
y
max
min fitness
x
search space
爬山的模拟
不断地通过交叉变 异以及选择来达到 爬山的效果
4.1.2 研究进展
GA 研究内容与方向
算法性能 研究
混合算法 研究
并行算法 研究
算法应用 研究
与GA相关的重要学术期刊与国际会议
重要学术期刊
Evolutionary Computation IEEE Transactions on Evolutionary Computation ……
重要国际会议
•
算法结束
遗传算法
4.1.1 基本原理
群体 淘汰
遗传基因重组过程
淘汰的 个体
变异
选择
新种群 交配
种群
父代染色体1 父代染色体2
生物进化过程
子代染色体1
子代染色体2
4.1.1 基本原理
模式定理
1、模式的定义 模式也称积木块(building block),是描述位串子 集的相似性模板,表示基因串中某些特征位相同的 结构。 [定义1] 模式:群体中编码的某些位置具有相似结构 的染色体集合。 如:染色体的编码是由0或者1组成的二进制序列, 模式01***0表示以01开头且以0结尾的编码串对应的 染色体的集合。
双点交叉
父代1: 01| 101| 00110 父代2: 11| 000| 10100 交叉点1 交叉点2
双点交叉
子代1: 01| 000| 00110 子代2: 11| 101| 10100