第二章__遗传算法的基本原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2) 先随机生成一定数目的个体,然后从中挑出最好的个 体加入到初始群体中。这一过程不断重复,直到初始 群体中个体数达到了预定的规模。
2.1 遗传算法的基本描述
2.1.4 群体设定
2。群体规模的设定
• 根据模式定理,若群体规模为M,则遗传操作可 从这M个个体中生成和检测O(M3)个模式,并在此 基础上不断形成和优化积木块,直到找到最优解。
2.1 遗传算法的基本描述
2.其他编码 1) 大字符集编码(相对于二进制编码) 2) 序列编码(TSP) 3) 实数编码 4) 树编码 5) 自适应编码 6) 乱序编码
2.1 遗传算法的基本描述
2.1.4 群体设定 1。初始群体的设定 一般来讲,初始群体的设定可以采用如下的策略:
1) 根据问题固有知识,设法把握最优解所占空间在整个 问题空间中的分布范围,然后,在此分布范围内设定 初始群体。
第二章 遗传算法的基本原理
2.1 遗传算法的基本描述 2.2 遗传算法的模式理论 2.3 遗传算法与其他搜索算法的比较
Leabharlann Baidu
2.1 遗传算法的基本描述
2.1.1 全局优化问题
全局优化问题的定义:给定非空集合S作为搜索空间,f:S—>R为 目标函数,全局优化问题作为任务maxf (x) 给出,即在搜索空间 中找到至少一个使目标函数最大化x的S 点。
f(x’)为一个局部极大值。当目标函数有多个局部极大点时,被称
为多峰或多模态函数(multi-modality function)。
2.1 遗传算法的基本描述
2.1.1 标准遗传算法流程:
• 1.编码 • 2.初始群体的生成 • 3.适应度评估检测 • 4.WHILE <未满足迭代终止条件> DO
2.1.6 遗传算子
二、交叉(Crossover)算子
• 交叉算子是模仿自然界有性繁殖的基因重组过程,其作用在于将 已有的优良基因遗传给下一代个体,并生成包含更复杂基因结构 的新个体。
• 交叉操作一般分为以下几个步骤: 1)从配对池中随机取出要交配的一对个体; 2)根据位串长度L,对要交叉的一对个体,随机选取[1, L-1]中一 个或多个整数k作为交叉位置; 3)根据交叉概率实施交叉操作,配对个体在交叉位置处,相互交 换各自的部分内容,从而形成新的一对个体。
x k a k 1 1 a k 1 2 a k 1 1 a k 2 1 l a k 2 2 a k 2 2 l a k i 1 a k i 2 a k i i l a k n 1 a k n 2 a k n nl
对于给定的二进制编码位串sk,位段译码函数的形式为
x i i(a k i1 ,a k i2, ,a k ii)l u iv 2 ili u 1 i(jl i1a k i2 jli j), i = 1,2,…,n
故现在排序选择概率为
p s(a j) n 1 ( ( n 1 )(j 1 )),j 1 ,2 , ,n
2.1.6 遗传算子
一、选择(selection)算子
4、联赛选择(tournament selection) • 基本思想:从当前群体中随机选择一定数量的个体(放回或者不
放回),将其中适应值最大的个体放入配对池中。反复执行这一 过程,直到配对池中的个体数量达到设定的值。
2.1.6 遗传算子
一、选择(selection)算子
6、稳态选择 • 稳态选择操作中,仅有少量个体按适应度值比例选择方法被选择,
通过遗传操作生成新的个体。新个体放回到群体中时,随机替代 等量的旧个体,或者替代等量的最差的旧个体。 • Holland将稳态选择方法应用于分类器规则学习中,最大程度继承 已获得的规则,实现增量学习。 • De Jong将下一代群体中生成的与上一代不同的新个体所占的比例 称为“代沟”(generation gap)。代沟越大,说明新个体的生成 比例越高,群体搜索新的编码空间的能力(探索)越强。
(2)遗传操作的效果和所取的操作概率、编码方法、群体大小,以 及适应度函数的设定密切相关。
(3)三个基本算子的操作方法和操作策略随具体求解问题的不同而 异。或者说,是和个体的编码方式直接相关。
2.1.6 遗传算子
一、选择(selection)算子
从群体中选择优胜个体,淘汰劣质个体的操作叫选择。 选 择 算 子 有 时 又 称 为 再 生 算 子 ( reproduction operator)。选择即从当前群体中选择适应度值高的个 体以生成配对池(mating pool)的过程。
2.1.6 遗传算子
一、选择(selection)算子
3、排序选择
对于给定的规模为n的群体 P{ a 1,a2, ,an} ,并且满足个体适应
度值降序排列 f( a 1 ) f( a 2 ) f( a n ) 。假设当前群体最佳个体a1
在选择操作后的期望数量为 , 即 np1;最差个体an在选择 操作后的期望数量为 npn。其它个体的期望数量按等差序 列计算j j1 n 1, 则 j (j 1 ) ( n 1 )(j 1 ,)
x k (a k 1 ,a k2 , ,a k)L u 2 v L u 1 (jL 1a k2 jL j)
2.1 遗传算法的基本描述
对于n维连续函数f ( x ) x , ( x 1 , x 2 , , x n ) x i , [ u i , v i ] i 1 ( , 2 , , n ) ,
二、交叉(Crossover)算子
1、两点交叉(two-point crossover)
位串A: 1 1 | 0 1 1 | 0 1 0 位串B: 1 0 | 1 1 0 | 1 0 1 位串A’:1 1 | 1 1 0 | 0 1 0 位串B’:1 0 | 0 1 1 | 1 0 1
2.1.6 遗传算子
二、交叉(Crossover)算子
1、多点交叉(multi-point crossover)
位串A: 1 1 | 0 1 | 1 0 | 1 0 位串B: 1 0 | 1 1 | 0 1 | 0 1 位串A’:1 1 | 1 1 | 1 0 | 0 1 位串B’:1 0 | 0 1 | 0 1 | 1 0
1)有意义积木块编码规则:编码应易于生成与所求问题 相关的短距和低阶的积木块。
2)最小字符集编码规则:编码应采用最小字符集,以使 问题得到自然、简单的表示和描述。
2.1 遗传算法的基本描述
1.二进制编码 1)连续实函数的二进制编码
设一维连续实函数 f(x),x[u,v]采用长度维L的二进制字符串进
全局最大值(点)的定义:函数值 f* f(x*)称 为 一 个 全 局
最大值,当且仅当 x S f(x)f(x*)成立时,x* S 被 称
为一个全局最大值点(全局最大解)。
局部极大值与局部极大值点(解)的定义:假设在S上给定了某个距
离 度 量 , 如 果 对x' S ,0
, 使x得对S
,
(x ,x') f(x )f(x') 则称x’为一个局部极大值点,
• 联赛规模用q表示,也称q-联赛选择。
• 联赛选择与个体的适应度值由间接关系,注重适应度值大小的比 较。
• 联赛规模一般取q=2。
2.1.6 遗传算子
一、选择(selection)算子
5、精英选择 • 如果下一代群体的最佳个体适应度值小于当前群体最佳个体的适
应度值,则将当前群体最佳个体或者适应度值大于下一代最佳个 体适应度值的多个个体直接复制到下一代,随机替代和替代最差 的下一代群体中的相应数量的个体。 • 精英选择是群体收敛到全局最优解的一种基本保障。
2.1.6 遗传算子
二、交叉(Crossover)算子
1、一点交叉(one-point crossover)
位串A: 1 1 0 1 | 1 0 1 0 位串B: 1 0 1 1 | 0 1 0 1 位串A’:1 1 0 1 | 0 1 0 1 位串B’:1 0 1 1 | 1 0 1 0
2.1.6 遗传算子
能成为GA编码空间中的点的表现型 2)健全性(soundness):GA编码空间中的染色体位串
必须对应问题空间中的某一潜在解。 3)非冗余性(non-redundancy):染色体和潜在解必须
一一对应。
2.1 遗传算法的基本描述
2.1.3 遗传编码
根据模式定理,De Jong进一步提出了较为客观明确的 编码评估准则,称之为编码原理。具体可以概括为两 条规则:
各 成总维长变度量为的L二进n制li编的码二位进串制的编长码度位串为。li,那相么应x的的G编A码编从码左空到间右为依:次构
SL { x 1 ,x2, i,1xK },K=2L
该空间上的个体位串结构为
x k ( a k 1 1 ,a k 1 2 , ,a k 1 1 ,a lk 2 1 ,a k 2 2 , ,a k 2 2 , l ,a k i1 ,a k i2 , ,a k ii, l,a k n 1 ,a k n 2 , ,a k n n ) l , a k i l{ 0 , 1 }
行定长编码,建立位串空间:
S L x 1 ,x 2 , ,x K x k (a k 1 ,a k2 , ,a k)L akl0,1
k=1,2,…,K; l=1,2,…,L; K=2L 表示精度为x(vu)/2 (L1)。 将个体又从位串空间转换到问题空间的译码函数 :{0,1}L[u,v] 的公式定义为:
– 1. 选择 – 2. 交叉 – 3. 变异 – 4. 适应度评估检测 • 5.END DO
选择
交叉
当前代
中间代
下一代
2.1 遗传算法的基本描述
2.1.3 遗传编码
定义:由问题空间向GA编码空间的映射称为编码,而由 编码空间向问题空间的映射成为译码。
问题编码一般应满足以下三个原则: 1)完备性(completeness):问题空间中的所有点都能
• 群体规模N,模式阶i,被采样的模式数量的期望
Mi
(i
=
1,
2,
…,
)之间满足如下关系:M i
N 2i
• 群体规模一般不随迭代而变化,但也不绝对。
2.1 遗传算法的基本描述
2.1.5 适应度函数(评价函数)
1。目标函数映射成适应度函数
2。适应度函数定标
1)线性定标(linear scaling) f’ = af + b
2)截断(sigma truncation)
f'f (f c)
3) 乘幂标 f’ = fK
4) 指数定标 f’ = exp(-bf)
2.1 遗传算法的基本描述
2.1.6 遗传算子
包括三个基本遗传算子(genetic operator):选择,交叉和变 异。这三个遗传算子具有一些特点:
(1)这三个算子的操作都是随机化操作,因此,群体中个体向最优 解迁移的规则是随机的。需要强调的是,这种随机化操作和传 统的随机搜索方法是有区别的。遗传操作进行的是高效有向的 搜索,而不是如一般随机搜索方法所进行的无向搜索。
ps(aj)
f(aj)
n
,
f(ai)
j1,2,,n
i1
问题:易出现未成熟收敛
2.1.6 遗传算子
一、选择(selection)算子
2、Boltzmann选择
在群体进化过程中,不同阶段需要不同地选择压力。早期阶段选
择压力较小,我们希望较差地个体也又一定地生存机会,使得群 体保持较高地多样性;后期阶段,选择压力较大,我们希望GA缩 小搜索邻域,加快当前最优解的改善速度。为了动态调整群体进 化过程中的选择压力,Goldberg设计了Boltzmann选择方法。个体 选择概率为:
2.1.6 遗传算子
一、选择(selection)算子
1、适应度比例选择
首先计算每个个体的适应度值,然后计算出此适应度值在群体适 应度值总和中所占的比例,表示该个体在选择过程中被选中的概 率。选择过程体现了生物进化过程中“适者生存,优胜劣汰”的 思想。
对于给定的规模为n的群体 P{ a 1,a2, ,an} ,个体 a j P 的适应 度值为 f (a j ) ,其选择概率为:
ps(aj)
ef(aj)/T
n
,
ef(ai)/T
i1
j1,2,,n
2.1.6 遗传算子
一、选择(selection)算子
3、排序选择 排序选择方法是将群体中个体按其适应度值由大到小的顺序排成 一个序列,然后将事先设计好的序列概率分配给每个个体。
排序选择不利用个体适应度值绝对值的信息,可以避免群体进化 过程中的适应度标度变换。
2.1 遗传算法的基本描述
2.1.4 群体设定
2。群体规模的设定
• 根据模式定理,若群体规模为M,则遗传操作可 从这M个个体中生成和检测O(M3)个模式,并在此 基础上不断形成和优化积木块,直到找到最优解。
2.1 遗传算法的基本描述
2.其他编码 1) 大字符集编码(相对于二进制编码) 2) 序列编码(TSP) 3) 实数编码 4) 树编码 5) 自适应编码 6) 乱序编码
2.1 遗传算法的基本描述
2.1.4 群体设定 1。初始群体的设定 一般来讲,初始群体的设定可以采用如下的策略:
1) 根据问题固有知识,设法把握最优解所占空间在整个 问题空间中的分布范围,然后,在此分布范围内设定 初始群体。
第二章 遗传算法的基本原理
2.1 遗传算法的基本描述 2.2 遗传算法的模式理论 2.3 遗传算法与其他搜索算法的比较
Leabharlann Baidu
2.1 遗传算法的基本描述
2.1.1 全局优化问题
全局优化问题的定义:给定非空集合S作为搜索空间,f:S—>R为 目标函数,全局优化问题作为任务maxf (x) 给出,即在搜索空间 中找到至少一个使目标函数最大化x的S 点。
f(x’)为一个局部极大值。当目标函数有多个局部极大点时,被称
为多峰或多模态函数(multi-modality function)。
2.1 遗传算法的基本描述
2.1.1 标准遗传算法流程:
• 1.编码 • 2.初始群体的生成 • 3.适应度评估检测 • 4.WHILE <未满足迭代终止条件> DO
2.1.6 遗传算子
二、交叉(Crossover)算子
• 交叉算子是模仿自然界有性繁殖的基因重组过程,其作用在于将 已有的优良基因遗传给下一代个体,并生成包含更复杂基因结构 的新个体。
• 交叉操作一般分为以下几个步骤: 1)从配对池中随机取出要交配的一对个体; 2)根据位串长度L,对要交叉的一对个体,随机选取[1, L-1]中一 个或多个整数k作为交叉位置; 3)根据交叉概率实施交叉操作,配对个体在交叉位置处,相互交 换各自的部分内容,从而形成新的一对个体。
x k a k 1 1 a k 1 2 a k 1 1 a k 2 1 l a k 2 2 a k 2 2 l a k i 1 a k i 2 a k i i l a k n 1 a k n 2 a k n nl
对于给定的二进制编码位串sk,位段译码函数的形式为
x i i(a k i1 ,a k i2, ,a k ii)l u iv 2 ili u 1 i(jl i1a k i2 jli j), i = 1,2,…,n
故现在排序选择概率为
p s(a j) n 1 ( ( n 1 )(j 1 )),j 1 ,2 , ,n
2.1.6 遗传算子
一、选择(selection)算子
4、联赛选择(tournament selection) • 基本思想:从当前群体中随机选择一定数量的个体(放回或者不
放回),将其中适应值最大的个体放入配对池中。反复执行这一 过程,直到配对池中的个体数量达到设定的值。
2.1.6 遗传算子
一、选择(selection)算子
6、稳态选择 • 稳态选择操作中,仅有少量个体按适应度值比例选择方法被选择,
通过遗传操作生成新的个体。新个体放回到群体中时,随机替代 等量的旧个体,或者替代等量的最差的旧个体。 • Holland将稳态选择方法应用于分类器规则学习中,最大程度继承 已获得的规则,实现增量学习。 • De Jong将下一代群体中生成的与上一代不同的新个体所占的比例 称为“代沟”(generation gap)。代沟越大,说明新个体的生成 比例越高,群体搜索新的编码空间的能力(探索)越强。
(2)遗传操作的效果和所取的操作概率、编码方法、群体大小,以 及适应度函数的设定密切相关。
(3)三个基本算子的操作方法和操作策略随具体求解问题的不同而 异。或者说,是和个体的编码方式直接相关。
2.1.6 遗传算子
一、选择(selection)算子
从群体中选择优胜个体,淘汰劣质个体的操作叫选择。 选 择 算 子 有 时 又 称 为 再 生 算 子 ( reproduction operator)。选择即从当前群体中选择适应度值高的个 体以生成配对池(mating pool)的过程。
2.1.6 遗传算子
一、选择(selection)算子
3、排序选择
对于给定的规模为n的群体 P{ a 1,a2, ,an} ,并且满足个体适应
度值降序排列 f( a 1 ) f( a 2 ) f( a n ) 。假设当前群体最佳个体a1
在选择操作后的期望数量为 , 即 np1;最差个体an在选择 操作后的期望数量为 npn。其它个体的期望数量按等差序 列计算j j1 n 1, 则 j (j 1 ) ( n 1 )(j 1 ,)
x k (a k 1 ,a k2 , ,a k)L u 2 v L u 1 (jL 1a k2 jL j)
2.1 遗传算法的基本描述
对于n维连续函数f ( x ) x , ( x 1 , x 2 , , x n ) x i , [ u i , v i ] i 1 ( , 2 , , n ) ,
二、交叉(Crossover)算子
1、两点交叉(two-point crossover)
位串A: 1 1 | 0 1 1 | 0 1 0 位串B: 1 0 | 1 1 0 | 1 0 1 位串A’:1 1 | 1 1 0 | 0 1 0 位串B’:1 0 | 0 1 1 | 1 0 1
2.1.6 遗传算子
二、交叉(Crossover)算子
1、多点交叉(multi-point crossover)
位串A: 1 1 | 0 1 | 1 0 | 1 0 位串B: 1 0 | 1 1 | 0 1 | 0 1 位串A’:1 1 | 1 1 | 1 0 | 0 1 位串B’:1 0 | 0 1 | 0 1 | 1 0
1)有意义积木块编码规则:编码应易于生成与所求问题 相关的短距和低阶的积木块。
2)最小字符集编码规则:编码应采用最小字符集,以使 问题得到自然、简单的表示和描述。
2.1 遗传算法的基本描述
1.二进制编码 1)连续实函数的二进制编码
设一维连续实函数 f(x),x[u,v]采用长度维L的二进制字符串进
全局最大值(点)的定义:函数值 f* f(x*)称 为 一 个 全 局
最大值,当且仅当 x S f(x)f(x*)成立时,x* S 被 称
为一个全局最大值点(全局最大解)。
局部极大值与局部极大值点(解)的定义:假设在S上给定了某个距
离 度 量 , 如 果 对x' S ,0
, 使x得对S
,
(x ,x') f(x )f(x') 则称x’为一个局部极大值点,
• 联赛规模用q表示,也称q-联赛选择。
• 联赛选择与个体的适应度值由间接关系,注重适应度值大小的比 较。
• 联赛规模一般取q=2。
2.1.6 遗传算子
一、选择(selection)算子
5、精英选择 • 如果下一代群体的最佳个体适应度值小于当前群体最佳个体的适
应度值,则将当前群体最佳个体或者适应度值大于下一代最佳个 体适应度值的多个个体直接复制到下一代,随机替代和替代最差 的下一代群体中的相应数量的个体。 • 精英选择是群体收敛到全局最优解的一种基本保障。
2.1.6 遗传算子
二、交叉(Crossover)算子
1、一点交叉(one-point crossover)
位串A: 1 1 0 1 | 1 0 1 0 位串B: 1 0 1 1 | 0 1 0 1 位串A’:1 1 0 1 | 0 1 0 1 位串B’:1 0 1 1 | 1 0 1 0
2.1.6 遗传算子
能成为GA编码空间中的点的表现型 2)健全性(soundness):GA编码空间中的染色体位串
必须对应问题空间中的某一潜在解。 3)非冗余性(non-redundancy):染色体和潜在解必须
一一对应。
2.1 遗传算法的基本描述
2.1.3 遗传编码
根据模式定理,De Jong进一步提出了较为客观明确的 编码评估准则,称之为编码原理。具体可以概括为两 条规则:
各 成总维长变度量为的L二进n制li编的码二位进串制的编长码度位串为。li,那相么应x的的G编A码编从码左空到间右为依:次构
SL { x 1 ,x2, i,1xK },K=2L
该空间上的个体位串结构为
x k ( a k 1 1 ,a k 1 2 , ,a k 1 1 ,a lk 2 1 ,a k 2 2 , ,a k 2 2 , l ,a k i1 ,a k i2 , ,a k ii, l,a k n 1 ,a k n 2 , ,a k n n ) l , a k i l{ 0 , 1 }
行定长编码,建立位串空间:
S L x 1 ,x 2 , ,x K x k (a k 1 ,a k2 , ,a k)L akl0,1
k=1,2,…,K; l=1,2,…,L; K=2L 表示精度为x(vu)/2 (L1)。 将个体又从位串空间转换到问题空间的译码函数 :{0,1}L[u,v] 的公式定义为:
– 1. 选择 – 2. 交叉 – 3. 变异 – 4. 适应度评估检测 • 5.END DO
选择
交叉
当前代
中间代
下一代
2.1 遗传算法的基本描述
2.1.3 遗传编码
定义:由问题空间向GA编码空间的映射称为编码,而由 编码空间向问题空间的映射成为译码。
问题编码一般应满足以下三个原则: 1)完备性(completeness):问题空间中的所有点都能
• 群体规模N,模式阶i,被采样的模式数量的期望
Mi
(i
=
1,
2,
…,
)之间满足如下关系:M i
N 2i
• 群体规模一般不随迭代而变化,但也不绝对。
2.1 遗传算法的基本描述
2.1.5 适应度函数(评价函数)
1。目标函数映射成适应度函数
2。适应度函数定标
1)线性定标(linear scaling) f’ = af + b
2)截断(sigma truncation)
f'f (f c)
3) 乘幂标 f’ = fK
4) 指数定标 f’ = exp(-bf)
2.1 遗传算法的基本描述
2.1.6 遗传算子
包括三个基本遗传算子(genetic operator):选择,交叉和变 异。这三个遗传算子具有一些特点:
(1)这三个算子的操作都是随机化操作,因此,群体中个体向最优 解迁移的规则是随机的。需要强调的是,这种随机化操作和传 统的随机搜索方法是有区别的。遗传操作进行的是高效有向的 搜索,而不是如一般随机搜索方法所进行的无向搜索。
ps(aj)
f(aj)
n
,
f(ai)
j1,2,,n
i1
问题:易出现未成熟收敛
2.1.6 遗传算子
一、选择(selection)算子
2、Boltzmann选择
在群体进化过程中,不同阶段需要不同地选择压力。早期阶段选
择压力较小,我们希望较差地个体也又一定地生存机会,使得群 体保持较高地多样性;后期阶段,选择压力较大,我们希望GA缩 小搜索邻域,加快当前最优解的改善速度。为了动态调整群体进 化过程中的选择压力,Goldberg设计了Boltzmann选择方法。个体 选择概率为:
2.1.6 遗传算子
一、选择(selection)算子
1、适应度比例选择
首先计算每个个体的适应度值,然后计算出此适应度值在群体适 应度值总和中所占的比例,表示该个体在选择过程中被选中的概 率。选择过程体现了生物进化过程中“适者生存,优胜劣汰”的 思想。
对于给定的规模为n的群体 P{ a 1,a2, ,an} ,个体 a j P 的适应 度值为 f (a j ) ,其选择概率为:
ps(aj)
ef(aj)/T
n
,
ef(ai)/T
i1
j1,2,,n
2.1.6 遗传算子
一、选择(selection)算子
3、排序选择 排序选择方法是将群体中个体按其适应度值由大到小的顺序排成 一个序列,然后将事先设计好的序列概率分配给每个个体。
排序选择不利用个体适应度值绝对值的信息,可以避免群体进化 过程中的适应度标度变换。