遗传算法的数学基础(共22页).doc

上传人:飞****2 文档编号:13815294 上传时间:2022-05-01 格式:DOC 页数:22 大小:211KB
返回 下载 相关 举报
遗传算法的数学基础(共22页).doc_第1页
第1页 / 共22页
遗传算法的数学基础(共22页).doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《遗传算法的数学基础(共22页).doc》由会员分享,可在线阅读,更多相关《遗传算法的数学基础(共22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上第3章 遗传算法的数学基础 遗传算法在机理方面具有搜索过程和优化机制等属性,数学方面的性质可通过模式定理和构造块假设等分析加以讨论,Markov链也是分析遗传算法的一个有效工具。遗传算法的选择操作是在个体适应度基础上以概率方式进行的,在概率选择方式上与模拟退火法有些类似。 本章将较全局地介绍遗传算法的基础数学理论和分析工具,包括验证基础遗传算法(SGA)的有效性的模式定理,分析遗传算法过程的Walsh模式变换方法,遗传算法的欺骗问题以及遗传算法的动态分析工具Markov链分析。3.1 模式定理1. 模式我们将种群中的个体即基因串中的相似样板称为“模式”,模式表示基因串

2、中某些特征位相同的结构,因此模式也可能解释为相同的构形,是一个串的子集。在二进制编码中,模式是基于三个字符集0,1,*的字符串,符号* 代表0或1。例1 *1*表示四个元的子集010 011 110 111对于二进制编码串,当串长为L时,共有3L个不同的模式。例2 串长L=3,则其模式共有* *1* *0* *1 *0 1* 0* *10 *00 *01 1*1 1*0 0*1 0*0 11* 10* 01* 00* 111 110 101 011 001 010 100 000 共27个1+2*3+22*3+23=33遗传算法中串的运算实际上是模式的运算。如果各个串的每一位按等概率生成0或1

3、,则模式为n的种群模式种类总数的期望值为:种群最多可以同时处理个模式,见下例例 一个个体(种群中只有一个),父个体011 要通过变异变为子个体001,其可能影响的模式为:被处理的模式总数为8个,8=1*23如果独立的考虑种群中的各个串,则仅能得到n条信息,然而当把适应值与各个串结合考虑,发掘串群体的相似点,就可得到大量的信息来帮助指导搜索,相似点的大量信息包含在规模不大的种群中。2. 模式阶和定义距 定义1:模式阶 模式H中确定位置的个数成为模式H的模式阶,记作O(H) 例 O(011*1*0)=5定义2 定义阶 模式中第一个确定位置和最后一个确定位置之间的距离,记作 例 3. 模式定理 假定

4、在给定时间步t(即第t代),种群A(t)中有m个个体属于模式H,记为m=m(H,t),即第t代时,有m个个体属于H模式。在再生阶段(即种群个体的选择阶段),每个串根据它的适应值进行复制(选择),一个串Ai被复制(选中)的概率为:n表示种群中个体总数当采用非重叠的n个串的种群替代种群A(t),可以得到下式:其中:,表示在t 时模式H的平均适应度若用表示种群平均适应度,则前式可表示为:上式表明:一个特定的模式按照其平均适应度值与种群的平均适应度值之间的比率生长,换句话说就是:那些适应度值高于种群平均适应度值的模式,在下一代中将会有更多的代表串处于A(t+1)中,因为在时有m(H,t+1)m(H,t

5、) 假设从t=0开始,某一特定模式适应度值保持在种群平均适应度值以上,c为常数c0, 则模式选择生长方程为:上式表明,在种群平均值以上(以下)的模式将按指数增长(衰减)的方式被复制。下面讨论交叉对模式H的影响:例:对串A分别在下面指定点上与H1模式和H2模式进行交叉 A H1 *1*0 (被破坏概率:;生存率:1/6) H2 *10* (被破坏概率:;生存率:5/6)显然A与H1交叉后, H1被破坏,而与H2交叉时, H2不被破坏。一般地有 :模式H被破坏的概率为,故交叉后模式H生存的概率为()考虑到交叉本身是以随机方式进行的,即以概率Pc进行交叉,故对于模式H的生存概率Pc可用下式表示:同时

6、考虑选择交叉操作对模式的影响,(选择交叉互相独立不影响)则子代模式的估计:上式表明模式增长和衰减依赖于两个因素:一是模式的适应度值f(H)与平均适应度值的相对大小;另一个是模式定义阶的大小(当Pc一定, L一定时)。下面再考察变异操作对模式的影响:变异操作是以概率Pm随机地改变一个位上的值,为了使得模式H可以生存下来,所有特定的位必须存活。因为单个等位基因存活的概率为(1Pm),并且由于每次变异都是统计独立的,因此,当模式H中O(H)个确定位都存活时,这时模式H才能被保留下来,存活概率为:(为0.01以下)上式表明O(H)个定位值没有被变异的概率。由此我们可得到下式在t+1代种群中存在模式H的

7、个体数目在t代种群中存在模式H的个体数目在t代种群中包含模式H的个体平均适应度t代种群中所有个体的平均适应度个体长度交叉概率变异概率对于k点交叉时,上式可表示为:模式定理:在遗传算子选择、交叉和变异的作用下,具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。4. 积木块假设(building block hypochesis) 遗传算法通过短定义距、低阶以及高适应度的模式(积木块),在遗传操作作用下相互结合,最终接近全局最优解。满足这个假设的条件有两个:(1)表现型相近的个体基因型类似(2)遗传因子间相关性较低积木块假设指出,遗传算法具备寻找全局最优解的能力,即积木块

8、在遗传算子作用下,能生成低阶、短距、高平均适应度的模式,最终生成全局最优解。模式定理还存在以下缺点:(1) 模式定理只对二进制编码适用(2) 模式定理只是指出具备什么条件的木块会在遗传过程中按指数增长或衰减,无法据此推断算法的收敛性(3) 没有解决算法设计中控制参数选取问题3.2 Walsh模式变换1980年,密歇根大学的A.D.Bethke博士论文“作为函数优化器的遗传算法”,首次应用Walsh函数进行遗传算法的模式处理,采用Walsh函数的离散形式有效地计算模式的平均适应度,从而对遗传算法的优化过程的特征进行分析。3.3 非均匀Walsh模式变换3.4 欺骗问题在遗传算法中,将所有妨碍评价

9、值高的个体生成,从而影响遗传算法正常工作的问题统称为欺骗问题(deceptive problem),根据模式定理,如果低阶、高适应度模式中包含了最优解的话,遗传算法就可能找出它来,但是如果低阶、高适应度模式中未包含最优串的具体取值,则遗传算法只能找出次优解。定义 竞争模式 若模式H和H中,*位置是完全一致的,但任一确定位的编码均不同,则称H和H互为竞争模式。例 10*与01*是竞争模式 10*与11*不是竞争模式定义 欺骗性 假定f(x)的最大值对应的x集合为x*,H为包含x*的m阶模式, H的竞争模式为H,而且f(H)f(H),则f为m阶欺骗。例 对于一个三位二进制编码的模式,如果f(111

10、)为最大值,下列12个不等式中任意一个不等式成立,则存在欺骗问题。 模式阶数为1时:f(*1)f(*0),f(*1*)f(*0*),f(1*)f(0*) 模式阶数为2时:f(*11)f(*00),f(1*1)f(0*0),f(11*)f(00*) f(*11)f(*01),f(1*1)f(0*1),f(11*)f(01*) f(*11)f(*10),f(1*1)f(1*0),f(11*)H(1*),则欺骗性存在。该条件可化为:下面以前一种为例进行讨论,设则有:r1:称为类欺骗问题,见图1,求最优化时较难c=2,N=2),然后将它们分成N个子种群,每个子种群包括n各样本,对每个子种群独立的运行各

11、自的遗传算法,记它们为GAi(i=1,2,.N)。这N个遗传算法最好在设置特性上有较大差异,这样就可以为将来的高层遗传算法产生更多种类的优良模式。在每个子种群的遗传算法运行到一定代数后,将N个遗传算法的结果种群记录到二维数组R1.N,1n中,则Ri,j(i=1N,j=1n)表示GAi的结果种群的第j个个体。同时将N各结果种群的平均适应度值记录到数组A1.N中,Ai表示GAi的结果种群平均适应度。高层遗传算法与普通遗传算法的操作相类似,也可以分为以下三个步骤:1.选择(种群之内选择)基于数组A1.N,即N个遗传算法的平均适应度值,对数组R代表结果种群进行选择操作,一些结果种群由于它们的平均适应度

12、值高而被复制,甚至复制多次;另一些结果种群由于它们的种群平均适应度值低而被淘汰。2. 交叉(种群之间交叉)如果Ri,1.n和Rj,1.n被随机地匹配到一起,而且从位置x进行交叉()则Ri,x+1.n和Rj,x+1.n相互交换相应的部分。这一步骤相当于交换GAi和GAj中结果种群的n-x个个体。3.变异以很小的概率将少量随机生成的新个体替换R1N,1n中随机抽取的个体。至此,高层遗传算法的第一轮运行结束,N各遗传算法GAi(i=1N)可以从相应于新的R1.N,1n种群继续各自的操作。分层遗传算法的流程图如下:4.2 CHC算法CHC算法是shelman于1991年提出的遗传算法的缩写,第一个C代

13、表(Cross generational elitist selection)策略,H 代表异物种重组(Heterogeneous recombination),第二个C代表大变异(Cataclysmic mutation)。CHC算法与基本遗传算法SGA不同点在于:SGA的遗传操作比较单纯,简单地实行并行处理;而CHC算法牺牲这种单纯性,换取遗传操作的较好效果,并强调优良个体的保留。下面分别介绍其遗传操作的改进之处。1. 选择通常遗传算法是依据个体的适应度复制个体完成选择操作的,而在CHC算法中,上世代种群于通过新的交叉方法产生的个体种群混合起来,从中按一定概率选择较优的个体。 这一策略成为

14、跨世代精英选择。其明显特征表现在:(1) 健壮性 由于这一选择策略,即使当交叉操作产生较劣个体偏多时,由于原种群多数个体残留,不会引起个体的评价值降低。(2) 遗传多样性保持由于大个体群操作,可以更好的保持遗传过程中的遗传多样性。(3) 排序方法克服了比例适应度计算的尺度计算2.交叉 CHC算法使用的重组操作是对均匀交叉的一种改进。均匀交叉对父个体位值的各位位置以相同概率实行交叉操作,这里改进之处是:当两个父个体的位置相异的位数为m时,从中随机选取m/2个位置,实行父个体位置的互换。显然,这样的操作对模式具有很强的破坏性,因此,确定一阈值,当个体间的海明距离低于该阈值时,不进行交叉操作。并且,

15、与种群进化收敛的同时,逐渐地减小该阈值。3.变异CHC算法在进化前期不采取变异操作,当种群进化到一定的收敛时期,从优秀个体中选择一部分个体进行初始化。初始化的方法是选择一定比例的基因座,随机的决定它们的位置。这个比例值称为扩散率,一般取0.35。4.3 messy GA根据积木块假设,SGA中,定义距长的模式容易受到破坏,只有从小积木块的模式中才能最终构成最优解,这对进化模拟而言是十分不利的。为克服这一缺点,Goldberg等在1989年提出了一种变长度染色体遗传算法,该算法在不影响模式定义距的情况下,是优良的模式得以增殖。在生物进化过程中,其染色体长度比不是固定不变的,而是随着进化过程也在慢

16、慢的变化。另一方面,在遗传算法的实际应用中,有时为了简化描述问题的解, 也需要使用不同长度的编码串。例如,用遗传算法对模糊控制器规则库进行优化设计时,事先一般不知道规则数目,这样一个规则库对应一个个体,个体的染色体长度可以描述为变化的。用染色体算法对人工神经网络结构进行优化设计时,如果各层的节点数是未知的,同样,个体染色体长度也可以描述为变化的。变长染色体的编码采用二元编制,同时用一个二元数组表示,二元数组的第一位为固定座序号,第二位是基因座上的数值。变长度染色体中可能在交叉操作中出现缺失位(缺失位上的值用0表示)和重复位(重复位用左边的值表示)。例. X1 (1,0) (2,1) (3,1)

17、 (4,0) (5,1)X2 (1,1) (2,1) (3,0)X1 (1,0) (2,1) (3,1) (4,0) (2,1) (3,0)X2 (1,1) (5,1)X1染色体为 0 1 1 0 X2染色体为 1 0 0 0 1(位码已变)X1染色体为 0 1 1 0 1 X2染色体为 1 1 0 其交叉操作是切断和拼接两部分完成的。4.4自适应遗传算法遗传算法的参数中交配概率Pc和变异概率Pm的选择是影响遗传算法行为和性能的关键所在,直接影响算法的收敛性,Pc越大,新个体产生速率就越快。然而,Pc过大时遗传模式被破坏的可能也越大,使得具有高适应度的个体结构很快就会被破坏,但是如果Pc过小,

18、就不易产生新的个体结构;若Pm取值过大,那么遗传算法就变成了纯粹的随机搜索算法,Pc和Pm的确定在实际应用中是个繁琐和困难的事情。Srinvivas等提出的自适应遗传算法(Adaptive GA),Pc和Pm能够随适应度自动改变:1. 当种群个体适应度趋于一致或趋于局部最优时,使Pc,Pm增大,反之减小。2. 对于适应度高于种群平均适应度的个体,使Pc,Pm减小,反之增大。即好的个体尽量保持,差的个体尽量被替代而淘汰当Pc,Pm恰当时,AGA算法能够在保持群体多样性的同时保证遗传算法的收敛性。Pc,Pm可按如下简单公式计算:(多有) K:是要选定的上式虽然简单但存在问题,当f或f趋于fmax时

19、,Pc,Pm趋于0,f越小则Pc,Pm大。这种调整方法对于种群处于进化后期比较合适,但在进化初期是不当的,这会使初期较优的个体处于几乎不变的状态,从而以使进化走向局部最优解。为此对前式假如作如下修改便使f或f趋于fmax时,Pc,Pm不会为0。4.5 基于小生境技术的遗传算法生物学上,小生境(niche)是指特定环境中的一种组织功能。在自然界中,往往特征、性状相似的物种相聚在一起,并在同类中交配繁殖后代。在SGA中,交配完全是随机的,虽然这种随机化的交配形式在寻优的初级阶段保持了解的多样性,但在进化的后期,大量个体集中于某一极值点上,它们的后代造成近亲繁殖。在用遗传算法求解多峰值函数的优化计算

20、时,经常是只能找到个别的几个最优解,甚至往往的得到的是局部最优解。我们希望优化算法能够找出全部最优解,引进小生境的概念,有助于实现这样的目的。小生境技术就是将每一类个体划分为若干类,每个类中选出若干适应度较大的个体作为一个类的优秀代表组成一个种群,再在种群中以及不同种群之间通过杂交、变异产生新一代个体群。小生境技术特别适合于复杂多峰函数的优化问题。小生境的模拟方法主要建立在常规选择操作的改进基础上。1.1970年,Cavichio:当新产生的子代个体的适应度越过其父代个体的适应度时,所产生的子代个体才能替代父代个体而遗传到下一代个体中,否则父代个体仍保留在下一代种群中。预选择机制的选择策略。2

21、. 1975年,Do Jong :排列机制的选择策略一个有限的生存空间中,各种不同的生物为了能够延续生存,它们之间必须相互竞争有限的资源设计一个排挤因子CF(一般取2或3),由种群中随机选择的1/CF个个体组成排挤成员,然后依据新产生的个体与排挤成员的相似性来排挤一些与排挤成员相类似的个体,个体之间的类似性是由海明距离来度量。随着排挤过程的进行,群体中的个体逐渐被分类,从而形成一个个小的生成环境,并维持群体的多样性。3共享法的选择策略(暂略,较难)4.6 混合遗传算法众所周知,梯度法、模拟退火法等一些优化算法具有很强的局部搜索能力,而另一些含有问题相关的启发知识的启发式算法的运行效率也比较高。

22、如果融合这些优化方法的思想,构成一个新的混合遗传算法(hybrid genetic algorithm),是提高遗传算法运行效率和求解质量的一个有效手段。目前,混合遗传算法体现在两个方面:一是引入局部搜索过程,二是增加编码变换操作过程。在构成混合遗传算法时,De Jong提出下面三个基本原则;1. 尽量采用原有算法的编码(这个原有指遗传原有)2. 利用原有算法全局搜索的优点3. 改进遗传算子第五章 进化计算初步进化计算有三个分支:(1)遗传算法(GA)(2)进化规划(Evolutionary Programing )(3)进化策略(Evolutionary Strategy)本章将讨论进化计算

23、的理论框架及分支的构成技术,主要介绍遗传程序设计技术。5.1 进化计算理论的基本框架进化计算是指以进化原理为仿真依据,在计算机上实现的具有进化机制的算法和程序。目前进化计算侧重于算法的研究,因此有时称为进化算法(Evolutionary Algorithm)若有性质来区分, 现有的进化算法可细分为:(1) 具有代表性的、最基本的遗传算法(genetic algorithm)(第二章)(2) 侧重于数值分析的进化策略(evolutionary strategy)(5.2节)(3) 介于数值分析和人工智能间的进化规划(evolutionary strategy)(5.3节)(4) 偏向进化自组织和

24、系统动力学特性的进化动力学(evolutionary dynamics)(5) 偏向以程式表现人工智能行为的遗传程序设计(genetic programming)(5.4节)(6) 适应动态环境学习的分类系统(classifier system)(第8章)(7) 用以观察复杂系统交互的各种生态模拟系统(echo system and etc)(8) 研究人工生命(artifical life)的元胞自动机(cellualar automata)(9) 模拟蚂蚁群体行为的蚁元系统(ant system)(10.3节)基因型与表现型之间的关系是进化计算中的一个基本关系,在其复杂的非线性关系中“一因

25、多果”和“一果多因”是突出的两个特点。 表现型的变化是对对象遗传结构和当时环境条件交互作用所致的结果,非线性效果很明显,甚至相差很大的遗传结构可能会导致类似的行为。这样在研究基因型表现型相互关系及其在进化过程中的规律时就必须充分利用非线性系统工具和随机过程的统计测度理论,动力学机制也是必须加以研究的动态属性。适应度状态图描述了适应度和基因型间的关系,自适应状态图则勾画了适应度与表现型之间的联系状况。在进化计算中算子占有重要的地位,相应的操作也应反映动态的机制。因此,进化机制体系可归纳为: 进化计算=进化算子+进化操作+进化策略+进化计算理论这里进化算子可以有多种形式,进化策略可容纳较为复杂的非

26、线性动力学机制。进化计算作为完整的体系,应包括最优性、统计分析、选择策略和相应判据等内容。5.2 进化策略20世纪60年代初,柏林工业大学的学生I.Rechenberg和H.P.Schwefel等在进行风洞实验时,由于设计中 描述物体形状的参数难以用传统方法优化,因此利用生物变异的思想来随即改变参数值,获得了较好的效果。随后,他们对这种方法进行了深入的研究和发展,形成了进化计算的另一个分支进化策略(Evolutionary Strategy,EA).1. (1+1)-ES 早期进化策略的种群只含有一个个体,而且只使用变异操作。在每一进化代,变异后的个体与其父个体进行比较,选择两者之优。 这种进

27、化策略称为(1+1)-ES或二元ES。设初期个体为,它可以代表问题解空间的一个向量。第k代(k=1,2.)的个体可以作为其父个体即为k-1代的子个体:其中为独立正态随机变量。子个体与亲代个体进行比较选择最优者作为当代个体,对于最小化问题,有:(1+1)-ES存在很多弊端,如有时收敛不到最优解、效率较低等。它的改进即增加种群内个体的数量,从而演化为。2. ,1997年由Schwefel提出,其基本做法是:种群内含有个个体,随即选取一个个体进行变异,然后取代种群中最差的个体。与(1+1)-ES的相似之处是,每次只产生一个后代。为了进一步提高效率,又发展成为和,并引进了交叉操作。3. 进化策略的主要特点(与GA比较)(1)GA需要将原问题的解空间映射到位串空间中,强调个体基因的变化对其适应度的影响;ES直接在解空间上操作,强调进化过程中从父代到后代行为的自适应性和多样性,强调演化过程中搜索方向和步长的自适应调节。 (2)ES的适应度直接取自他所对应的目标函数,变异是其主要搜索策略,交叉则是辅助;GA则不同。 (3)ES主要适合求解数值优化问题。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁