智能控制理论讲稿第4章遗传算法.docx
- 文档编号:4888653
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:14
- 大小:35.42KB
智能控制理论讲稿第4章遗传算法.docx
《智能控制理论讲稿第4章遗传算法.docx》由会员分享,可在线阅读,更多相关《智能控制理论讲稿第4章遗传算法.docx(14页珍藏版)》请在冰豆网上搜索。
智能控制理论讲稿第4章遗传算法
第四章遗传算法
遗传算法(GeneticAegorithwrs,GA)是一种基于自然选择和基因遗传学原理的优化搜索方法,在其创立过程中,有两个研究目的:
1.抽象和严谨地解释自然界的适应过程;
2.将自然生物总结的重要机理运用到工程系统、计算机系统及人工系统的设计中。
该方法具有全局导优能力,应用十分广泛。
一.遗传算法的概念
遗传算法是美国密执安大学John.H.Holland教授根据生物进化模型而提出的一种优化算法。
自然选择学说是进化论的中心内容。
据此,生物发展进化主要有三个原因:
遗传、变异和选择。
1.遗传:
是指子代总是和亲代相似,遗传性是一切生物所共同的特性,它使得生物将其特性、性状传给后代。
遗传是生物进化的基础
2.变异:
是指子代和亲代有某些不相似的地方,即子代永远不会和亲代完全一样,它也是一切生物所具有的共同特性,是生物个体之间相互区别的基础。
引起便宜的主要原因是生活环境的影响、器官的使用的不同及杂交。
生物的变异性为生物进化和发展创造条件。
3.选择:
是指具有精选的能力,它决定生物进化的方向,在进化过程中,有的要保留、有饿要被淘汰,自然选择是指生物在自然界中(生存环境),适者生存、不适者被淘汰的过程。
通过不断地自然选择,有利于生存的变异就会遗传下去,逐步积累,是变异越来越大,逐步产生新的生物种。
具体地说,选择是通过遗传和变异起作用的,即变异为选择提供资料,遗传巩固和积累了选择的资料。
而选择则能控制变异和遗传的方向,使变异和遗传朝着适应环境的方向发展。
这样,生物就在遗传、变异、选择三者的结合作用下,从简单到复杂、从低级到高级不断向前发展。
进化论的自然选择过程蕴涵着一种搜索和优化的思想。
遗传算法正是吸取了自然生物系统“适者生存,优胜劣汰”的进化原理,从而使它能够在一个复杂空间中进行鲁棒搜索,为解决许多用传统方法难以解决的优化问题提供了新途径,新方法。
二、遗传算法的特点
遗传算法是基于自然选择和基因遗传学原理的搜索算法,它将生物进化原理引入待优化参数形成的编码串群体中,按照一定的重配值函数及一系列遗传操作,对每个个体进行筛选,从而使适配值高的个体被保留下来,组成新的群体。
在新群体中包含了上一代的大量信息(遗传),以及新的优于上一代的个体(变异)。
这样周而复始,群体中的每个个体适应度不断提高,直至满足一定的极限条件,此时,群体中适配值最高的个体即为待优化参数的最优解。
与常规优化解相比,如解析法、枚举法、动态规划法等,异端算法有如下特点:
1.字群体寻优,不是从一点开始,而是从许多点开始并行操作,因而可以防止搜索过程收敛于局部最优解,即全局优化搜索。
2.遗传算法通过目标函数(适应函数)来计算适配值,即选择优秀种群,而不需要其它推导和附属信息,因而对问题的依赖性较小,求解的鲁棒性好。
3.遗传算法对待寻优的适应函数基本无限制,即不要求连续,也不要求可微,即可以是函数(数学解析式),也可以是隐函数(映射矩阵,神经网络系),因而应用广泛。
4.遗传算法在解空间进行高效启发式搜索,而非盲目穷举或随机搜索,只要“基因”位置选择恰当,遗传操作合适,其搜索效率很高。
5.遗传算法具有并行计算的特点,可以用大规模并行计算来提高计算速度,且计算简单,功能强。
6.遗传算法的寻优规则是由概率决定的,而非确定性的。
7.遗传算法更适合大规模交杂问题的优化求解。
8.遗传算法是对参数的编码群体进行操作,而非参数本身,因而很容易与多智能体(Multi-Agent)相对应,所易于解决智能网络求解问题。
三、基本操作
美国密执安大学Holland教授的遗传算法,具有操作简单且作用强大,两个特点,它包含基本操作:
1.复制(Reproduction)——又称繁殖
2.交叉(Crossover)
3.变异(Mutation)
|
遗传算法操作过程如下:
生成初始种群
↓←—————————————
计算每个个体的适应度fi
↓
最优解?
Y↓N
输出最优解选择高fi个体复制
↓
交换
↓
变异
↓——————————————
图2-1GA的基本流程
由图可知,先把待寻优的参数或变量(实际问题参数集)表示成“位串(染色体串)”(lndividualstring)以确定初始种群,一般用二进制码串表示,每位又称为“基因”(gene)。
通过位串,可以得到一个x∈[0,N]。
第2步:
选取目标函数或算适配值f(x),计算每个位串的适应度(fitness)。
第3步:
是否收敛于最优解。
第4步:
进行复制,交换,变异操作,并重新计算适应度,直至找到最优解输出(迭代)。
例1:
寻找函数f(x)=-x²+31x+10,当x∈[0,31]为整数时的最大值。
第一步:
确定初始种群——编码
1.编码的目的是将寻求优化解的参数用位串来表示,在本例中,x在0-31之间变化,所以用5位二进制位串即可,即00000——11111。
2.选择初始种群:
一般种群参数要适中,太少了可能迭代次数要增加,甚至得不到结果;太多了会增加计算工作量,降低效率。
这里选择种群个数为4,并随机选取个体:
串号
随机生成种群
X值
F(x)
fi/∑fi
fi/fi(平均)
Ri
1
2
3
4
00001
11100
01000
10011
1
28
8
19
40
94
194
238
0.071
0.166
0.343
0.420
0.284
0.664
1.372
1.080
0
1
1
2
总计
566
1
4
平均值
141.5
0.25
1
最大值
238
0.42
1.68
表3-1:
复制操作前的各项准备
第二步:
计算适应度fi
应该说决定适应度fi的计算公式是一个技巧性很高,而理论上的研究又很不充分的复杂问题。
一般要根据优化的目标函数来决定(较难选择)。
本例求解f(x)=–x²+31x+10的最大值,所以目标函数即为此。
见上表。
同时可计算出复制概率fi/∑fi、期望复制数fi/fi(平均)。
其中fi(平均)是fi的平均值(期望值)。
见上表。
表3-1。
第三步:
复制
根据适者生存理论,越能适应环境的生物品种,越能繁衍其后代。
在这里,复制的原则是:
适应度fi越高的位串,其复制的字字及复制的数量越多,根据Ri(平均)=fi/fi(平均)知道,根据四舍五入原则,将Ri(平均)圆整为整数Ri,发现串2、3被复制一次,串4被复制2次,串1被淘汰。
见下表:
新串号
复制种群
匹配(随机)
交叉点
新种群
X
fi
(1)
1
2
3
4
11100
01000
10011
10011
4
3
2
1
3
2
2
3
11111
01011
10000
10000
31
11
16
16
10
230
250
250
总计
740
平均值
185
最大值
250
表3-2复制操作后的各项数据
第四步:
交换(交叉)
分两步:
1.将新复制的位串随机两亮配对;
2.随机选择交叉点,对匹配的位串进行交叉繁殖,产生一对新的位串,具体操作过程如下:
设位串长为L,在[1,L-1]内,随机选择一个整数作为交叉点,将两个配对位串从位置K后的所有基因(二进制位码)进行交换。
生成新种群。
例如:
串111100K=3,交换得11111
串41001110000
串201000K=2,交换得01011
串31001110000
并计算适应度fi。
见表3-2。
第五步:
变异
尽管复制和交叉操作是第一位的,很重要,但不能保证不会遗漏一些重要的遗传信息。
可用变异来防止这种不可弥补的遗漏,应注意的是,生物体中某一个或几个基因的变化,其概率是很小的,应在千分之几。
所谓变异操作就是将位串中的某一位把1变成0,或反之。
例如:
在本例中随机生成的种群如下:
编号
位串
可以看到,无论如何交叉,位置4上都不可能出现1,若优化的结果要求误差是1,仅用交叉操作是做不到的。
1
2
3
4
01101
11001
00101
11100
虽然变异操作在遗传算法中的作用是第二位的,但却是必须的,以保证位串的多样性(物种基因多样性),可提高搜索效率。
在本例中,选取变异的概率为千分之一,既0.001,种群中共有4串,20位,所以期望的变异位串位数为:
20×0.001=0.02(位)
故此例无变异情况。
第六步:
迭代
经复制、交叉、变异操作后得到的新一代种群,对此再进行第二步操作——计算适应度fi,按事先确定的评判规则来估计是否已得到最优解,其评判规则如下:
方程
(k+1)k(k+1)kk
E(fi,fi)=[max(fi)-max(fi)]/max(fi)<ε
其中E为两次迭代的相对误差;
ε是字字的评判标准,如ε=0.01或ε=0.001或ε=0。
K=0开始(从初始种群fi开始)。
(k+1)k
fi、fi为前后两次种群适应度最大值。
在本例中:
ε
E=(250-238)/238=0.05
若选择=0.01,则判定遗传算法还要继续进行,计算结果如表3-3所示。
E=(250+250)/250=0
两者适应度相同(均为250),评判结果为0,算法结束。
最优解x=16,f(x)=250。
效率很高。
实际上f(x)极值为x=15.5,max(f(x))=250.25。
四.遗传算法的理论基础
遗传算法是一个以适应度函数为目标的函数,对种群中的各个个体施加遗传操作,实现群体结构重组,经迭代处理,达到总体优化,最后求得逼近的最优解,即遗传算法寻优问题的性能是朝着不断改进的方向发展的。
其步骤有:
参数编码、初始种群设定(随机)、适应度函数设定、复制/选择、交换(交叉、杂交)、变异(突变)、算法控制参数设定(最优解评判规则)等七个步骤。
现在的问题是
1.上述七个步骤的理论研究还不够,许多设定或操作设计是凭经验或试验,该算法的稳定性,鲁棒性、收敛性及字字字理论的问题研究就更为欠缺。
2.我们怎么能知道对某一特定问题使用遗传算法,会得到优化或近似优化解。
即在仅利用适配值进行搜索的过程中,遗传算法到底利用了包括在种群中多数位串及其相应的目标函数内的什么信息来引导和改善它的搜索——遗传算法的工作机理,鉴于1。
这里只能介绍基本的理论研究成果。
一.遗传算法的模式理论
1.模式(schemata)
一个模式就上一个描述种群中在位串的某些确定位置上具有相似性(位串之间的相似性质)的位串子集的相似性摸板(similaritytemplate)。
例如:
位串
F(x)=-x²+31x+10
适配值fi
(2)
01000
10011
10000
10000
8
19
16
16
194
238
250
250
在此种群中,各位串之间具有某种相似性,以及这种相似性与适配值之间具有某种因果关系。
例如,位串间的相似性与适配值间的因果关系:
“凡以1为开头的位串,其适配值高”(这只是个例子,不尽然)。
这种相似性正是遗传算法有效工作的因素,根据对种群中的高适高适配值位串之间的相似性缝隙,Holland提出了遗传算法的模式理论。
2.模式的描述
表示模式用的三字符的字母表{0,1,*},其中*为通配符{0,1}。
用三元素字母表{0,1,*}可以构造出任意一种模式。
即由{0,1,*}所产生的位串称为模式,例如:
01011、0*10*等均为模式。
不含通配符*的模式(如01011),只描述了一个串的集合,
而带通配符*的模式(0*10*),它描述了多个串的集合。
{00100,00101,01100,01101}
注意:
一个长度为L的二进制位串,工有(2+1)的L次方个模式。
原因是在L个位置中任何一个位置上都可取{0,1,*}之一,则L个位置的全排列数为3的L次方。
例如:
L=3,模式数为27(27种不同的相似摸板)
000
*00
00*
*0*
001
010
*01
*10
01*
10*
*1*
***
011
100
101
110
111
011
0*0
0*1
1*0
1*1
11*
**0
**1
0**
1**
可见模式数量(3的L次方)要大于实际位串数量(2的L次方)。
一般地,(K+1)的L次方,K的L次方,其中K为字母表基数。
3.模式与位串匹配
算一个模式与一个特定的位串相匹配是指:
该模式中的1与位串中的1相匹配;模式中的0与位串中的0想匹配;模式中的*可以匹配位串中的0或1。
(注意:
位置对等)
例如:
模式1*0*1匹配位串如F:
1000110011
1101111001都是模式1*0*1的成员
定义模式的好处就是使我们容易描述串的相似性。
即模式的思路为我们提供了一种简单而有效的方法,此方法能够使我们在有限字母表{0,1,*}的基础上讨论有限长(L)位串的严谨定义的相似性。
注意:
通配符*号只是一个元符号,即代表其它符号的符号,它不能被遗传算法直接处理,它只不过是允许用来描述特定长度和特定字母表的位串的所有相似性的符号文件。
*从匹配的角度看,模式数量可以理解为:
一个确定的位串,可以是若干与之相匹配的模式的成员,例如:
位串10,可以是下列四个模式的成员:
***01*10
称此位串包含有2的2次方等于4种模式(与之想匹配的)。
一般的讲,一个确定位串的长设为L,则此串可以是2的L次方种模式的成员,即有2的L次方种模式与之想匹配,(因为在L个位置中的任一位置上,要么取确定值,要么取*,既任一位置都有2种表示)。
所以,对于大小为n的种群,与之相匹配的模式共有:
2的L次方到n×2的L次方种
综上所述,之所以重视种群中位串之间的众多的相似性,正是为了利用这种信息来引导遗传算法有效地搜索,因为一个种群(n,l)包含了丰富的(2的L次方到n×2的L次方个)有关这种相似性的信息。
这些相似性和适配值之间的相关性正是使遗传算法能够进行有效搜索的根本所在。
4.模式间差异的度量(模式的属性)
模式间是有差异的,例如:
模式1——01*1**
模式2——****0*
显然模式1比模式2包含有更加确定的相似性。
再例如:
模式1——1***1*
模式2——1*1***
模式1比模式2跨越的长度要长
综上,我们对模式准确性予以定义O(H)△(H)
考虑在二进制字母表V={0,1}上构成长度为L的位串,表示如F:
A=a,a2‥‥aL,ai∈V
相应地,一个模式是定义在V+={0,1,*}之上的,表示如下:
例如:
H=10**11*
第t代种群用A(t)表示,该种群中的n个个体位串用Aj(j=1,2,……,n).
定义1:
模式位数(order)O(H),也称为模式H的阶,它定义为模式H中确定代码(0或1)位置的个数。
即H中有定义的非*位的个数。
例:
H=10**11*,记O(H)=4
显然,一个模式的阶数越高,其匹配的位串(又称样本)数越少,因而确定性越高,样本的形似性越高。
定义2:
模式的定义长度(defininslength)△(H),也称模式H的定义距。
它定义的模式H中第一个确是代码位置和最后一个确定代码位置之间的距离(用位数来表示)。
例:
H=10**11*,δ(H)=6-1=5
H=***0**,δ(H)=4-4=0
这两个量为分析位串的相似性,以及分析遗传操作对模式(重要模式,也称建筑块)的影响提供了基本手段。
二.遗传操作对模式的影响
1.复制(选择)对模式的影响
基于上述考虑,第t代种群A(t)中,模式H所能匹配的样本数为m,记为:
m=m(H,t)
在复制操作中,一个串是按适应度f进行复制的,更准确地说,是按概率Pi=fi/∑fi进行选择复制的。
如果设A(t)种群大小为n,
且个体两两不相同,则模式H在第t+1代所能匹配的样本数为:
m(H,t+1)=m(H,t)×n×f(H)/∑fi
其中f(H)是对应模式H所能匹配的样本(位串)的平均适应度(适配值)。
因为A(t)整个种群的平均适应度f(平均)=∑fi/n
所以∑fi=n×f(平均)
所以m(H,t+1)=m(H,t)×f(H)/f(平均)
可见,经复制操作后,下一代中特定模式的数量H增减,与该模式的平均适应度与种群的平均适应度的比值成正比。
即:
f(H)>f(平均)时,H的数量增加;反之减少。
种群A(t)中的任一模式H在复制中都将上述规律变化,这种模式的增减在复制中是并行进行的,即遗传算法中隐含的并行机制就在于此。
上式即是复制操作对模式H数量影响的定量描述。
进一步分析模式数量的增减规律,可设:
f(H)-f(平均)=cf(平均),c>0(常数)
所以m(H,t+1)=m(H,t)·(1+c)
从原始种群开始(t=0),则有:
m(H,t+1)=m(H,0)·(1+c)
可见模式数量的增减将呈指数形式。
结论:
虽然复制过程能按适者生存的原则,成功地以并行方式控制着模式数量以指数形式增减,但由于复制只是将某些高适配度的个体全盘复制,或淘汰某些低适配度的个体,而决不会产生新的模式结构,因而对性能的改进是有限的。
2.交叉对模式的影响
交叉是位串之间的有组织的而又是随机的信息交换,它能创造新的模式结构,但又能最低限度地破坏复制过程所选择的高适应度的模式。
用一个例子来考查一下交叉过程中模式遭破坏或生存的情况(即概率),以及交叉操作对模式的影响与什么量有关。
例如:
位串A=010110,L=6
所包含的其中的两个模式:
H1=*1***0H2=***11*
由于交换(叉)点的选择是等概率的。
所以选K=3,即:
A=010110H1=*1***0H2=***11*
由于H1的确定位在分隔符两侧,而H2的确定位在分隔符一侧(右边),所以,当A与A’交叉时,除非A’的确定位与模式H1的确定位相同,否则交叉后H1将遭到破坏,即交叉后的下一代不可能是H1的成员,或者说,下一代中不能隐含H1模式。
而H2的确定位均在交叉之列,不论A’为何串,都将传入下一代。
例如:
A’=101001
与A交叉后的下一代位串:
A1=010001A2=101110
显然,A1,A2均不是H1(被破坏了)的样本,但却是H2(存活了)的样本。
如果交叉的位置K=4,H2也可能遭到破坏,但由于交叉选择是等概率的,而:
H1在位置2,3,4,5交叉都遭破坏;
H2在位置4交叉将遭破坏
所以说H1比H2遭破坏的概率大多了,即H2的“生命力”强于H1。
显然,交叉操作对模式H的影响取决δ(H),即
△(H1)=6-2=4△(H2)=5-4=1
而交叉点L-1=6-1=5个可能位置上随机选取,
所以H1被破坏的概率Pd=△(H1)/L-1=4/5
H1存活的概率Ps=1–Pd=1/5
类似地:
H2被破坏的概率Pd=δ(H)/L-1=1/5
H2存活的概率Ps=1–Pd=4/5
一般地:
任何模式H的交叉存活概率的下限为:
Ps≥1-δ(H)/L-1
若考虑交叉本身的概率Pc,即在种群中随机抽取一对位串进行交叉操作的概率,则上式可改为:
Ps≥1-Pc·δ(H)/L-1
注意:
为什么称Ps是下限?
即在公式中的“>”是怎么产生的呢?
这就是说,即使交叉操作发生在意义长度内,模式H也有可能不破坏。
例如上例中:
A=010110A1=010001
而A’=111001A2=111110(H1的样本)
或A’=101000A1=010000(H1的样本)
A2=101110
所以H1没有被破坏,故Ps是下限。
综合考虑复制的交叉的共同作用,模式H的数量为:
m(H,t+1)≥m(H,t)·f(H)/f·[1-Pc·δ(H)/L-1]
t
也即:
m(H,t+1)≥m(H,0)·(1+c)·Ps
二模式H在下一代数量取决于f(H)/f(平均)和δ(H),即:
f(H)越大,δ(H)越小,将H的数量就越多。
3.变异时模式的影响
变异是对位串中的单个位置以概率Pm进行随机替换,因此可能破坏特定模式。
那么,该位置不变的概率为1-Pm。
一个模式H,在变异作用下不被破坏,即存活,则其中的确定位置都必须保持不变。
因此,模式H的O(H)个确定位置都必须存活,即模式H的存活概率为:
Ps=(1-Pm)的O(H)次方
由于Pm《1,所以Ps=(1-Pm)的O(H)次方≈1-O(H)·Pm
小结:
综合考虑复制、交叉、变异操作的共同作用,模式H在下一代中的数量为:
m(H,t-1)≥m(H,t)·f(H)/f(平均)[1-Pc·δ(H)/L-1](1-O(H)Pm)
或可近似认为:
忽略极小项Pc·δ(H)/L-1·O(H)·Pm
m(H,t+1)≥m(H,t)·f(H)/f(平均)·[1-Pc·δ(H)/(L-1)-O(H)·Pm]
结论:
定义距δ(H)短的,确定位数O(H)少的,平均适配度高的模式,其数量将随着代数的增加量指数增长——模式理论。
它有效地说明了最后得到的位串的性能得到了改善,并最终趋于最优点。
串号
种群
X值
f(x)
fi/∑fi
fi/fi(平均)
Ri
1
2
3
4
11111
01011
10000
10000
31
11
16
16
10
230
250
250
0.014
0.311
0.338
0.338
0.056
1.244
1.352
1.352
0
1
1
2
总计
740
1
4
4
平均值
185
0.25
1
1
最大值
25.0
0.338
1.352
2
表3-3第一次迭代数据
串号
复制种群
匹配对象
交叉点
新种群
X值
Fi(2
1
2
3
4
01011
10000
10000
10000
2
1
4
3
3
3
2
2
01000
10011
10000
10000
8
19
16
16
194
238
250
250
总计932
平均233
最大250
表3-4复制、交叉后数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 控制 理论 讲稿 遗传 算法