第八章 遗传算法_第1页
第八章 遗传算法_第2页
第八章 遗传算法_第3页
第八章 遗传算法_第4页
第八章 遗传算法_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第1页,共54页,2023年,2月20日,星期三

GA的基本思想来源于Darwin的进化论和Mendel的遗传学说。Darwin的进化论认为每一物种在不断的发展过程中都是越来越适应环境。物种的每个个体的基本特征被后代所继承,但后代又不完全同于父代,这些新的变化,若适应环境,则被保留下来。在某一环境中也是那些更能适应环境的个体特征能被保留下来,这就是适者生存的原理。遗传算法的由来2第2页,共54页,2023年,2月20日,星期三达尔文进化论3第3页,共54页,2023年,2月20日,星期三同样的,人类也是一代比一代聪明,可以说人类近百年创造的文明比人类前面几千年创造的文明还要多。4第4页,共54页,2023年,2月20日,星期三因此:我们得到的结论是:

生物一代比一代优生物虽然一代比一代优,但并不是说后一代与前一代没有任何的关系,后一代或多或少总与前一代有些相同,也有一些不同。生物的后一代总是或多或少的继承了前一代的一些特性,这就叫遗传。而后一代又不完全像前一代,这叫变异。生物在进化的过程中既有遗传,又有变异,生物就是在这样的遗传、变异的作用那个下,一代一代的繁衍下去,而且得到的是一代比一代优。5第5页,共54页,2023年,2月20日,星期三8.1遗传算法的基本概念

1.个体与种群

●个体就是模拟生物个体而对问题中的对象(一般就是问题的解)的一种称呼,一个个体也就是搜索空间中的一个点。

种群(population)就是模拟生物种群而由若干个体组成的群体,它一般是整个搜索空间的一个很小的子集。6第6页,共54页,2023年,2月20日,星期三

2.适应度与适应度函数

适应度(fitness)就是借鉴生物个体对环境的适应程度,而对问题中的个体对象所设计的表征其优劣的一种测度。

●适应度函数(fitnessfunction)就是问题中的全体个体与其适应度之间的一个对应关系。它一般是一个实值函数。该函数就是遗传算法中指导搜索的评价函数。

7第7页,共54页,2023年,2月20日,星期三3.染色体与基因

染色体(chromosome)就是问题中个体的某种字符串形式的编码表示。字符串中的字符也就称为基因(gene)。例如:个体染色体9

----

1001染色体长度l=4(2,5,6)----010101110l=38第8页,共54页,2023年,2月20日,星期三遗传算法基本概念和术语进化(evolution)生物在其延续生存的过程中,逐渐适应其生存环境,使得其品质不断得到改良,这种生命现象称为进化。生物的进化是以种群的形式进行的。9第9页,共54页,2023年,2月20日,星期三4.遗传操作亦称遗传算子(geneticoperator),就是关于染色体的运算。遗传算法中有三种遗传操作:

选择-复制(selection-reproduction)

交叉(crossover,亦称交换、交配或杂交)

变异(mutation,亦称突变)

10第10页,共54页,2023年,2月20日,星期三遗传算法基本概念和术语选择(selection)按照一定概率随机地选择两对个体进行繁殖(即生成后继状态)

遗传算法在很大程度上是一种偶然性现象,随机过程在其中起重要作用。一般而言,选择的过程是一种基于适应度的优胜劣汰的过程。11第11页,共54页,2023年,2月20日,星期三复制(又称繁殖)是从一个旧种群(oldpopulation)中选择生命力强的个体位串(或称字符串)产生新种群的过程。或者说,复制是个体位串根据其目标函数(即适应度函数)拷贝自己的过程。根据位串的适应度值拷贝位串意味着,具有较高适应度值的位串更有可能在下一代中产生一个或多个后代。显然,这个操作是模仿自然选择现象,将达尔文的适者生存理论应用于位串的复制,适应度值是该位串被复制或被淘汰的决定因素。8.1遗传算法基本原理12第12页,共54页,2023年,2月20日,星期三

选择-复制通常做法是:对于一个规模为N的种群S,按每个染色体xi∈S的选择概率P(xi)所决定的选中机会,分N次从S中随机选定N个染色体,并进行复制。

这里的选择概率P(xi)的计算公式为13第13页,共54页,2023年,2月20日,星期三遗传算法基本概念和术语交叉(crossover)

有性生殖生物在繁殖下一代时,两个同源染色体通过交叉而重组,亦即在两个染色体的某一相同位置处DNA被切断,其前后两串分别交叉组合形成两个新的染色体。这个过程又称基因重组(recombination),俗称“杂交”。14第14页,共54页,2023年,2月20日,星期三

交叉就是互换两个染色体某些位上的基因。

s1′=01000101,s2′=10011011可以看做是原染色体s1和s2的子代染色体。

例如,设染色体s1=01001011,s2=10010101,

交换其后4位基因,即15第15页,共54页,2023年,2月20日,星期三遗传算法基本概念和术语变异(mutation)

在细胞进行复制时可能以很小的概率产生某些复制差错,从而使DNA发生某种变异,产生出新的染色体,这些新的染色体表现出新的性状。16第16页,共54页,2023年,2月20日,星期三变异就是改变染色体某个(些)位上的基因。(0变为1或1变为0)例如,设染色体s=11001101将其第三位上的0变为1,即

s=11001101→11101101=s′。

s′也可以看做是原染色体s的子代染色体。其中变异的位置是随机的。17第17页,共54页,2023年,2月20日,星期三遗传学相关概念遗传学遗传算法数学1个体要处理的基本对象、结构也就是可行解2群体个体的集合被选定的一组可行解3染色体个体的表现形式可行解的编码4基因染色体中的元素编码中的元素5基因位某一基因在染色体中的位置元素在编码中的位置6适应值个体对于环境的适应程度,或在环境压力下的生存能力可行解所对应的适应函数值7种群被选定的一组染色体或个体根据入选概率定出的一组可行解8选择从群体中选择优胜的个体,淘汰劣质个体的操作保留或复制适应值大的可行解,去掉小的可行解18第18页,共54页,2023年,2月20日,星期三遗传学相关概念遗传学遗传算法数学9交叉一组染色体上对应基因段的交换根据交叉原则产生的一组新解10交叉概率染色体对应基因段交换的概率(可能性大小)闭区间[0,1]上的一个值,一般为0.65~0.9011变异染色体水平上基因变化编码的某些元素被改变12变异概率染色体上基因变化的概率(可能性大小)开区间(0,1)内的一个值,一般为0.001~0.0113进化、适者生存个体进行优胜劣汰的进化,一代又一代地优化目标函数取到最大值,最优的可行解19第19页,共54页,2023年,2月20日,星期三函数极值的求解问题由《数学分析》可知,一个在闭区间[a,b]上连续的函数必存在最大最小值,而且最大最小值可以通过以下方式得到:求出y=f(x)这个函数在[a,b]上所有的导数为0的点、不可导点、区间的端点。计算所有以上点的函数值,进行比较,则最大的必定是最大值点、最小的必定是最小值点。对于导数为0的点,还可以通过二阶导数来判断是极小还是极大值。20第20页,共54页,2023年,2月20日,星期三求函数的极值很显然:利用导数求函数的极值只能针对那些简单的函数才可以那样做,如果函数比较复杂,则无法利用求导数的方法求函数的极值。求导数可能比较困难;即使求出导数,求导数为0的点也相当的困难。是否不需要利用函数的导数,也可以求函数的极值???关于不需要利用导数就可以直接求函数的极值的方法,现在有几种比较好的算法,遗传算法就是其中的一种,它不需要利用导数,只要有函数的表达式就可以求函数的极值。21第21页,共54页,2023年,2月20日,星期三我们得到的结论是:

生物一代比一代优目的:模仿生物遗传的方式设计一个求解函数极值的算法。例如:求y=x2的最小值任取一些值25-48-1012称为第一代,其实就是自变量x的任意一些值。它们的函数值分别为4251664100144.22第22页,共54页,2023年,2月20日,星期三生物有染色体,根据染色体进行遗传与变异,从而得到下一代。人为的构造这些染色体,用5位二进制表示,第一位表示正负号,0表示正、1表示负。

25-48-1012000100010110100010001101001100

遗传(杂交)00001001101010001000110000111016-48-81623第23页,共54页,2023年,2月20日,星期三遗传(杂交)000010011010100010001100001110变异得到第二代,产生变异的概率很小,一般变异的概率8%,即每一位的0或1都有8%的可能编码1或者0第二代:00001001001010001000110000111014-48-816对应的函数值

116166464169第二代比第一代好24第24页,共54页,2023年,2月20日,星期三第二代:000010010010100010001100001110

遗传(杂交)000000010110100010001101001100

变异第三代:00000001011010001010110100110005-410-1012就已经得到了函数的最小值点x=0,结束。25第25页,共54页,2023年,2月20日,星期三以上就是遗传算法求解最优问题的简单设计,是模仿生物的遗传机制而设计的算法,是最基本形式的遗传算法。遗传算法的不同形式:(对基本遗传做出一些改动)由于遗传算法是模拟生物的遗传与变异机制而设计的,而生物的遗传与变异是通过染色体来进行,所以遗传算法必须编码,因此,不同的编码机制就得到不同形式的遗传算法,从而,不同的遗传算法的第一个区别就是编码不同。26第26页,共54页,2023年,2月20日,星期三第一:编码不同得到的遗传算法就不一样。例如:上面这个例子是用5位编码,其实,我们也可以采用6位编码、也可以采用7位或100位编码都可以。习题:采用6位编码采用不同的编码方法就得到不同的遗传算法。问题:采用什么编码好呢?这个问题到现在为止还没有答案,很多对遗传算法进行研究的人,就是对各种各样的编码方法进行研究,看哪种编码更好。27第27页,共54页,2023年,2月20日,星期三遗传算法是模拟生物的遗传与变异机制而设计的,遗传算法的两个基本运算就是遗传杂交、变异。因此不同的选择遗传杂交方式与不同的变异方式就得到不同的遗传算法。第二:不同的杂交方法得到不同的遗传算法。例如:上面例子是每个个体都参与杂交。其实,我们知道自然界中的法则是优胜劣汰。并不是每个个体都能找到伴侣。只有那些好的,才能找到伴侣,同样的,这里也可以这样做。先看哪些个体是好的,哪些个体是差的,让好的个体多杂交,把那些差的直接淘汰。

哪些个体是好的,哪些个体是差的,怎么区分呢?28第28页,共54页,2023年,2月20日,星期三

求函数的最小值?25-48-1012000100010110100010001101001100函数值分别为4251664100144因为是要求函数的最小值,所以显然函数值越小越好,函数值越大越不好。所以最好的点是2,最差的点是12,因此,可以直接淘汰12,而让2这个点多杂交一次,因此杂交这一步可以这样做:

25-48-10200010001011010001000110100001029第29页,共54页,2023年,2月20日,星期三上面只是给出了遗传算法的一种基本的形式,而不同的编码方法与不同的杂交策略可以变形出各种各样的遗传算法。同样,还有不同的变异方式也得到不同的算法。30第30页,共54页,2023年,2月20日,星期三在进行遗传算法操作时:上面第一种方法是两两交叉遗传,而第二种做法是先淘汰最差,用一个最好的去代替最差,再进行交叉遗传,也可以删除两个最差,用两个好一点的取代。

25-48-1012000100010110100010001101001100淘汰一个最差的

25-48-102000100010110100010001101000010淘汰两个最差的

25-482200010001011010001000000100001031第31页,共54页,2023年,2月20日,星期三到底淘汰几个最差的???又用哪些好的取代差的,这些是可以有不同的数目的,这些数就叫控制参数。选择不同的控制参数(控制策略),算法就不一样。例如不删除最差,每个都一样的交叉遗传,与删除最差,用好的代替差的,算法不一样。还有一个控制参数就是在进行变异操作时,选多少个进行变异,有选8%的个体进行变异,也有选5%的个数进行变异。这个百分数通常称为变异率。32第32页,共54页,2023年,2月20日,星期三可以把遗传算法的基本形式描述为:Begin生成初始种群,选择适当的编码方式;通过计算群体中各个体的适应度对群体进行评价;While未达到要求的目标dobegina.选择繁殖下一代群体的各个体

b.执行杂交操作

c.执行变异操作

d.对群体进行评价

endend33第33页,共54页,2023年,2月20日,星期三例1.设f(x)=-x2+2x+0.5,求max

f(x),x[-1,2]。遗传算法的实际应用我们将通过这个简单的求最值问题来详细给出遗传算法的整个过程。(1)编码和产生初始群体首先需要确定编码的策略,也就是说如何把[-1,2]

区间内的数用计算机语言表示出来。编码就是从表现型到基因型的映射,编码时要注意以下三个原则:完备性:问题空间中所有点(潜在解)都能成为GA编码空间中的点(染色体位串)的表现型;健全性:GA编码空间中的染色体位串必须对应问题空间中的某一潜在解;非冗余性:染色体和潜在解必须一一对应.34第34页,共54页,2023年,2月20日,星期三编码我们采用二进制形式来解决编码问题,即将某个变量值代表的个体表示为一个{0,1}二进制串。串的长度取决于求解的精度,例如假设求解精度为保留六位小数,由于区间[-1,2]的长度为3,则必须将该区间分为3106

等分。因为221<3106<222,所以编码所用的二进制串至少需要22位。二进制串(b21b20b19…b1b0)与[a,b]

内实数的一一映射:二进制串十进制数[a,b]

内实数b21b20b19…b1b035第35页,共54页,2023年,2月20日,星期三编码转化到[-1,2]

内的实数为:例.二进制串a=<1000101110110101000111>

其对应的十进制数为:36第36页,共54页,2023年,2月20日,星期三产生初始群体随机的产生一个初始群体。pop1={<1101011101001100011110>,%a1<1000011001010001000010>,%a2<0001100111010110000000>,%a3<0110101001101110010101>}%a4这里假设初始群体的个体数为4。转化成[-1,2]

之间的十进制数即为:下面就需要解决每个染色体个体的适应值pop1={

1.523032,0.574022,-0.697235,0.247238}37第37页,共54页,2023年,2月20日,星期三适应函数(2)定义适应函数和适应值由于目标函数f(x)

在[-1,2]

内的值有正有负,所以必须通过建立适应函数与目标函数的映射关系,保证映射后的适应值非负,而且目标函数的优化方向应对应于适应值增大的方向,也为以后计算各个体的入选概率打下基础。定义适应函数:为了便于计算,这里的Fmin

采用了一个特定的输入值例:如果取Fmin=-1,则f(x)=1对应的适应值为g(x)=238第38页,共54页,2023年,2月20日,星期三适应函数和适应值上述随机产生的初始群体,取Fmin=-1,则它们的目标函数值和适应值分别为:f(pop1)={

1.226437,1.318543,-1.380607,0.933350}g(pop1)={

2.226437,2.318543,0,1.933350}39第39页,共54页,2023年,2月20日,星期三选择标准(3)确定选择标准用适应值比例来作为入选概率。设给定的规模为n

的群体pop={a1,a2,...,an

},个体ai

的适应值为g(ai),则其入选概率为上述随机产生的初始群体,它们的入选概率分别为:p(pop1)=g(pop1)/sum(g(pop1))={0.343675,0.357892,0,0.298433}40第40页,共54页,2023年,2月20日,星期三产生种群(4)产生种群将入选概率大的个体选入种群,淘汰概率小的个体,并用概率最大的个体补入种群,得到与原群体大小同样的种群。newpop1={<1101011101001100011110>,%a1<1000011001010001000010>,%a2<1000011001010001000010>,%a2<0110101001101110010101>}%a4在上述随机产生的初始群体中,淘汰掉a3,再加入a2,得到新的种群:41第41页,共54页,2023年,2月20日,星期三交叉(5)交叉交叉也就是将一组染色体上对应的基因段交换得到新的染色体,然后得到新的染色体组,组成新的群体。将前面得到的newpop1

的四个个体两两配对,重复的不配对,进行交叉(可以在任一位进行交叉):<1101011101001100011110>

<1101011101010001000010>

<1000011001010001000010>

<1000011001001100011110><1000011001010001000010>

<1000011001010010010101><0110101001101110010101>

<0110101001101101000010>新的群体jchpop142第42页,共54页,2023年,2月20日,星期三变异(6)变异变异就是通过一个小概率改变染色体位串上的某个基因。现把jchpop1

中第3个个体中的第9位改变,就产生了变异,得到了新的群体pop2

:pop2={

<1101011101010001000010>,<1000011001001100011110>,<1000011011010010010101>,<0110101001101101000010>}然后重复上述的选择、交叉、变异,直到满足终止条件为止43第43页,共54页,2023年,2月20日,星期三终止条件(7)终止条件遗传算法的终止条件有两类常见条件:采用设定最大(遗传)代数的方法,一般可设定为50代,此时就可能得出最优解.此种方法简单易行,但可能不是很精确(Matlab程序参见附录1)根据个体的差异来判断,通过计算种群中基因多样性测度,即所有基因位相似程度来进行控制44第44页,共54页,2023年,2月20日,星期三遗传算法的收敛性遗传算法通过对这些操作的适当设计和运行,可以实现兼顾全局搜索和局部搜索的所谓均衡搜索均衡搜索的具体实现图示45第45页,共54页,2023年,2月20日,星期三遗传算法的收敛性遗传算法虽然可以实现均衡的搜索,并且在许多复杂问题的求解中往往能得到满意的结果,但是该算法的全局优化收敛性的理论分析尚待解决。目前普遍认为,标准遗传算法并不保证全局最优收敛。但是,在一定的约束条件下,遗传算法可以实现这一点。定理1

如果变异概率为,交叉概率为,同时采用比例选择法(按个体适应度占群体适应度的比例进行复制),则标准遗传算法的变换矩阵P

是基本的。46第46页,共54页,2023年,2月20日,星期三遗传算法的收敛性定理2

标准遗传算法(参数如定理1)不能收敛至全局最优解。标准遗传算法是不能收敛至全局最最优解,对标准遗传算法作一些改进,就能够保证其收敛性。

最佳个体保存方法(elitistmodel)的思想是把群体中适应度最高的个体不进行配对交叉而直接复制到下一代中。设时刻t

(第t

代)时,群体中a*(t)为最佳个体,并设A(t+1)为新一代群体,若A(t+1)中不存在a*(t),则把a*(t)作为A(t+1)中的第n+1

个个体(其中,n为群体大小)47第47页,共54页,2023年,2月20日,星期三最佳个体保存方法该方法的优点:确保进化过程中某一代的最优解不被交叉和变异操作所破坏。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论