当前位置:文档之家› 2第二章_遗传算法的基本原理

2第二章_遗传算法的基本原理

一、选择(selection)算子
1、适应度比例选择 首先计算每个个体的适应度值,然后计算出此适应度值在群体适 应度值总和中所占的比例,表示该个体在选择过程中被选中的概 率。选择过程体现了生物进化过程中“适者生存,优胜劣汰”的 思想。 对于给定的规模为n的群体 P {a1 , a2 ,, an },个体 a j P 的适应 度值为 f (a j ) ,其选择概率为:
2.1.3 遗传编码
定义:由问题空间向GA编码空间的映射称为编码,而由 编码空间向问题空间的映射成为译码。
问题编码一般应满足以下三个原则:
1 ) 完备性 ( completeness ):问题空间中的所有点都能 能成为GA编码空间中的点的表现型
2)健全性(soundness):GA编码空间中的染色体位串 必须对应问题空间中的某一潜在解。

2.1.6 遗传算子
一、选择(selection)算子
6、稳态选择 • 稳态选择操作中,仅有少量个体按适应度值比例选择方法被选择, 通过遗传操作生成新的个体。新个体放回到群体中时,随机替代 等量的旧个体,或者替代等量的最差的旧个体。 Holland将稳态选择方法应用于分类器规则学习中,最大程度继承 已获得的规则,实现增量学习。 De Jong将下一代群体中生成的与上一代不同的新个体所占的比例 称为“代沟”(generation gap)。代沟越大,说明新个体的生成 比例越高,群体搜索新的编码空间的能力(探索)越强。
2.1 遗传算法的基本描述
2.1.1 标准遗传算法流程:
• • • • 1.编码 2.初始群体的生成 3.适应度评估检测 4.WHILE <未满足迭代终止条件> DO – 1. 选择 – 2. 交叉 – 3. 变异 – 4. 适应度评估检测 • 5.END DO
选择
交叉
当前代
中间代
下一代
2.1 遗传算法的基本描述
3) 乘幂标 f’ = fK 4) 指数定标
f’ = exp(-bf)
2.1 遗传算法的基本描述
2.1.6 遗传算子
包括三个基本遗传算子( genetic operator):选择,交叉和变 异。这三个遗传算子具有一些特点: (1)这三个算子的操作都是随机化操作,因此,群体中个体向最优 解迁移的规则是随机的。需要强调的是,这种随机化操作和传 统的随机搜索方法是有区别的。遗传操作进行的是高效有向的 搜索,而不是如一般随机搜索方法所进行的无向搜索。 (2)遗传操作的效果和所取的操作概率、编码方法、群体大小,以 及适应度函数的设定密切相关。 (3)三个基本算子的操作方法和操作策略随具体求解问题的不同而 异。或者说,是和个体的编码方式直接相关。
• •

联赛规模一般取q=2。
2.1.6 遗传算子
一、选择(selection)算子
5、精英选择 • 如果下一代群体的最佳个体适应度值小于当前群体最佳个体的适 应度值,则将当前群体最佳个体或者适应度值大于下一代最佳个 体适应度值的多个个体直接复制到下一代,随机替代和替代最差 的下一代群体中的相应数量的个体。 精英选择是群体收敛到全局最优解的一种基本保障。
2.1 遗传算法的基本描述
2.1.1 全局优化问题 主要考虑两类搜索空间:
伪布尔优化问题:当 S 为离散空间 BL={0,1}L, 即所有长度 为 L 且取值为 0 或 1 的二进制位串的集合时,相应的优 化问题在进化计算领域称为伪布尔优化问题。
连续参数优化问题:当取S为 n维实数空间Rn中的有界集 合,其中,i = 1, 2, … , n时,相应的具有连续变量的优 化问题称为连续参数优化问题。
2) 先随机生成一定数目的个体,然后从中挑出最好的个 体加入到初始群体中。这一过程不断重复,直到初始 群体中个体数达到了预定的规模。
2.1 遗传算法的基本描述
2.1.4 群体设定 2。群体规模的设定 • 根据模式定理,若群体规模为 M ,则遗传操作可 从这M个个体中生成和检测O(M3)个模式,并在此 基础上不断形成和优化积木块,直到找到最优解。 • 群体规模 N ,模式阶 i ,被采样的模式数量的期望 N M Mi (i = 1, 2, …, )之间满足如下关系: i i
2.1.6 遗传算子
一、选择(selection)算子
3、排序选择 对于给定的规模为n的群体 P {a1 , a2 , , an },并且满足个体适应 度值降序排列 f (a1 ) f (a2 ) f (an )。假设当前群体最佳个体a1
在选择操作后的期望数量为 ,即 n p1;最差个体 an 在选择
2)最小字符集编码规则:编码应采用最小字符集,以使 问题得到自然、简单的表示和描述。
2.1 遗传算法的基本描述
1.二进制编码 1)连续实函数的二进制编码 一维连续实函数 f ( x), x [u, v] 采用长度维L的二进制字符串进 行定长编码,建立位串空间:
S L x1, x2 ,, xK
• •
2.1.6 遗传算子
二、交叉(Crossover)算子
• 交叉算子是模仿自然界有性繁殖的基因重组过程,其作用在于将 已有的优良基因遗传给下一代个体,并生成包含更复杂基因结构 的新个体。

交叉操作一般分为以下几个步骤:
1)从配对池中随机取出要交配的一对个体; 2)根据位串长度L,对要交叉的一对个体,随机选取[1, L-1]中一 个或多个整数k作为交叉位置; 3)根据交叉概率实施交叉操作,配对个体在交叉位置处,相互交 换各自的部分内容,从而形成新的一对个体。
ps (a j )
e
n i 1
f (a j ) /T
f ( ai ) / T e
,
j 1,2, , n
2.1.6 遗传算子
一、选择(selection)算子
3、排序选择 排序选择方法是将群体中个体按其适应度值由大到小的顺序排成 一个序列,然后将事先设计好的序列概率分配给每个个体。 排序选择不利用个体适应度值绝对值的信息,可以避免群体进化 过程中的适应度标度变换。
2.1 遗传算法的基本描述
对于n维连续函数 f ( x), x ( x1 , x2 , , xn ), xi [ui , vi ](i 1,2, , n), 各维变量的二进制编码位串的长度为 li,那么x的编码从左到右依次构 n 成总长度为L li 的二进制编码位串。相应的GA编码空间为:
i akl {0,1}
1 1 1 2 2 2 i i i n n n xk ak a a a a a a a a a a a 1 k2 kl1 k1 k 2 kl2 k1 k 2 kli k1 k 2 kln
对于给定的二进制编码位串sk,位段译码函数的形式为
li v u li j i i i i i i xi i (ak , a , , a ) u ( a 2 ) 1 k2 kli i kj li , i = 1,2,…,n 2 1 j 1
3)非冗余性(non-redundancy):染色体和潜在解必须 一一对应。
2.1 遗传算法的基本描述
2.1.3 遗传编码
根据模式定理,De Jong进一步提出了较为客观明确的 编码评估准则,称之为编码原理。具体可以概括为两 条规则: 1)有意义积木块编码规则:编码应易于生成与所求问题 相关的短距和低阶的积木块。
ps (a j )
f (a j )
f (a )
i 1 i
n
,
j 1,2, , n
问题:易出现未成熟收敛
2.1.6 遗传算子
一、选择(selection)算子
2、Boltzmann选择 在群体进化过程中,不同阶段需要不同地选择压力。早期阶段选 择压力较小,我们希望较差地个体也又一定地生存机会,使得群 体保持较高地多样性;后期阶段,选择压力较大,我们希望GA缩 小搜索邻域,加快当前最优解的改善速度。为了动态调整群体进 化过程中的选择压力,Goldberg设计了Boltzmann选择方法。个体 选择概率为:
2
• 群体规模一般不随迭代而变化,但也不绝对。
2.1 遗传算法的基本描述
2.1.5 适应度函数(评价函数) 1。目标函数映射成适应度函数 2。适应度函数定标
1)线性定标(linear scaling)
f’ = af + b 2)截断(sigma truncation)
f ' f ( f c )
2.1 遗传算法的基本描述
2.其他编码 1) 2) 大字符集编码(相对于二进制编码) 序列编码(TSP)
3)
4) 5)
实数编码
树编码 自适应编码
6)
乱序编码
2.1 遗传算法的基本描述
2.1.4 群体设定 1。初始群体的设定 一般来讲,初始群体的设定可以采用如下的策略: 1) 根据问题固有知识,设法把握最优解所占空间在整个 问题空间中的分布范围,然后,在此分布范围内设定 初始群体。
xk (ak1, ak 2 ,, akL )
akl 0,1
k=1,2,…,K; l=1,2,…,L; K=2L 表示精度为x (v u) /(2 L 1) 。 将个体又从位串空间转换到问题空间的译码函数 : {0,1}L [u, v] 的公式定义为:
vu L xk (ak1 , ak 2 , , akL ) u L ( akj 2 L j ) 2 1 j 1
S {x1, x2 ,, xK } ,K=2L
L
i 1
该空间上的个体位串结构为 1 1 1 2 2 2 i i i n n n xk (ak , a , , a , a , a , , a , , a , a , , a , , a , a , , a 1 k2 kl1 k1 k2 kl2 k1 k2 kli k1 k2 kln ),
相关主题