《遗传算法原理》PPT课件.ppt
《《遗传算法原理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《遗传算法原理》PPT课件.ppt(96页珍藏版)》请在三一办公上搜索。
1、遗传算法,报告提纲,一、遗传算法概述 二、遗传算法原理三、遗传算法的应用,一、遗传算法概述,1、智能优化算法 2、基本遗传算法 3、遗传算法的特点,1、智能优化算法,智能优化算法又称为现代启发式算法,是一种具有全局优化性能、通用性强、且适合于并行处理的算法。这种算法一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以在一定的时间内找到最优解或近似最优解。,常用的智能优化算法,(1)遗传算法(Genetic Algorithm,简称GA)(2)模拟退火算法(Simulated Annealing,简称SA)(3)禁忌搜索算法(Tabu Search,简称TS),智能优化算法的特点,它们的共
2、同特点:都是从任一解出发,按照某种机制,以一定的概率在整个求解空间中探索最优解。由于它们可以把搜索空间扩展到整个问题空间,因而具有全局优化性能。,返回,遗传算法起源,遗传算法是由美国的J.Holland教授于1975年在他的专著自然界和人工系统的适应性中首先提出的,它是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。,遗传算法的搜索机制,遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和突变)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。,返回,
3、2、基本遗传算法,基本遗传算法(Simple Genetic Algorithms,简称SGA,又称简单遗传算法或标准遗传算法),是由Goldberg总结出的一种最基本的遗传算法,其遗传进化操作过程简单,容易理解,是其它一些遗传算法的雏形和基础。,基本遗传算法的组成,(1)编码(产生初始种群)(2)适应度函数(3)遗传算子(选择、交叉、突变)(4)运行参数,编码,GA是通过某种编码机制把对象抽象为由特定符号按一定顺序排成的串。正如研究生物遗传是从染色体着手,而染色体则是由基因排成的串。SGA使用二进制串进行编码。,函数优化示例,求下列一元函数的最大值:,x-1,2,求解结果精确到6位小数。,S
4、GA对于本例的编码,由于区间长度为3,求解结果精确到6位小数,因此可将自变量定义区间划分为3106等份。又因为221 3106 222,所以本例的二进制编码长度至少需要22位,本例的编码过程实质上是将区间-1,2内对应的实数值转化为一个二进制串(b21b20b0)。,几个术语,基因型:,表现型:0.637197,编码,解码,个体(染色体),基因,初始种群,SGA采用随机方法生成若干个个体的集合,该集合称为初始种群。初始种群中个体的数量称为种群规模。,适应度函数,遗传算法对一个个体(解)的好坏用适应度函数值来评价,适应度函数值越大,解的质量越好。适应度函数是遗传算法进化过程的驱动力,也是进行自然
5、选择的唯一标准,它的设计应结合求解问题本身的要求而定。,选择算子,遗传算法使用选择运算来实现对群体中的个体进行优胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群体。SGA中选择算子采用轮盘赌选择方法。,轮盘赌选择方法,轮盘赌选择又称比例选择算子,它的基本思想是:各个个体被选中的概率与其适应度函数值大小成正比。设群体大小为n,个体i 的适应度为 Fi,则个体i 被选中遗传到下一代群体的概率为:,轮盘赌选择方法的实现步骤,(1)计算群体中所有个体的适应度函数值(需要解码);(2
6、)利用比例选择算子的公式,计算每个个体被选中遗传到下一代群体的概率;(3)采用模拟赌盘操作(即生成0到1之间的随机数与每个个体遗传到下一代群体的概率进行匹配)来确定各个个体是否遗传到下一代群体中。,交叉算子,所谓交叉运算,是指对两个相互配对的染色体依据交叉概率 Pc 按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的主要方法。SGA中交叉算子采用单点交叉算子。,单点交叉运算,交叉前:交叉后:,交叉点,突变算子,所谓突变运算,是指依据突变概率 Pm 将个体编码串中的某些基因值用其它基因值来替换,从而形成一个
7、新的个体。遗传算法中的突变运算是产生新个体的辅助方法,它决定了遗传算法的局部搜索能力,同时保持种群的多样性。交叉运算和突变运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。SGA中突变算子采用基本位突变算子。,基本位突变算子,基本位突变算子是指对个体编码串随机指定的某一位或某几位基因作突变运算。对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行突变操作的某一基因座上的原有基因值为0,则突变操作将其变为1;反之,若原有基因值为1,则突变操作将其变为0。,基本位突变算子的执行过程,突变前:0000010000突变后:1000010000,突变点,运行参数,(1)M:种群规模(2)T
8、:遗传运算的终止进化代数(3)Pc:交叉概率(4)Pm:突变概率,SGA的框图,返回,3、遗传算法的特点,(1)群体搜索,易于并行化处理;(2)不是盲目穷举,而是启发式搜索;(3)适应度函数不受连续、可微等条件的约束,适用范围很广。,返回,二、遗传算法原理,1、遗传算法的数学基础 2、遗传算法的收敛性分析 3、遗传算法的改进,返回,1、遗传算法的数学基础,(1)模式定理(2)积木块假设,返回,模式,模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征位相同的结构。在二进制编码中,模式是基于三个字符集(0,1,*)的字符串,符号*代表任意字符,即 0 或者 1。模式示例:10*1,两个
9、定义,定义1:模式 H 中确定位置的个数称为模式 H 的阶,记作O(H)。例如O(10*1)=3。定义2:模式 H 中第一个确定位置和最后一个确定位置之间的距离称为模式 H 的定义距,记作(H)。例如(10*1)=4。,模式的阶和定义距的含义,模式阶用来反映不同模式间确定性的差异,模式阶数越高,模式的确定性就越高,所匹配的样本数就越少。在遗传操作中,即使阶数相同的模式,也会有不同的性质,而模式的定义距就反映了这种性质的差异。,模式定理,模式定理:具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。模式定理保证了较优的模式(遗传算法的较优解)的数目呈指数增长,为解释遗传算
10、法机理提供了数学基础。,模式定理,从模式定理可看出,有高平均适应度、短定义距、低阶的模式,在连续的后代里获得至少以指数增长的串数目,这主要是因为选择使最好的模式有更多的复制,交叉算子不容易破坏高频率出现的、短定义长的模式,而一般突变概率又相当小,因而它对这些重要的模式几乎没有影响。,返回,积木块假设,积木块假设:遗传算法通过短定义距、低阶以及高平均适应度的模式(积木块),在遗传操作下相互结合,最终接近全局最优解。模式定理保证了较优模式的样本数呈指数增长,从而使遗传算法找到全局最优解的可能性存在;而积木块假设则指出了在遗传算子的作用下,能生成全局最优解。,返回,2、遗传算法的收敛性分析,遗传算法
11、要实现全局收敛,首先要求任意初始种群经有限步都能到达全局最优解,其次算法必须由保优操作来防止最优解的遗失。与算法收敛性有关的因素主要包括种群规模、选择操作、交叉概率和突变概率。,种群规模对收敛性的影响,通常,种群太小则不能提供足够的采样点,以致算法性能很差;种群太大,尽管可以增加优化信息,阻止早熟收敛的发生,但无疑会增加计算量,造成收敛时间太长,表现为收敛速度缓慢。,选择操作对收敛性的影响,选择操作使高适应度个体能够以更大的概率生存,从而提高了遗传算法的全局收敛性。如果在算法中采用最优保存策略,即将父代群体中最佳个体保留下来,不参加交叉和突变操作,使之直接进入下一代,最终可使遗传算法以概率1收
12、敛于全局最优解。,交叉概率对收敛性的影响,交叉操作用于个体对,产生新的个体,实质上是在解空间中进行有效搜索。交叉概率太大时,种群中个体更新很快,会造成高适应度值的个体很快被破坏掉;概率太小时,交叉操作很少进行,从而会使搜索停滞不前,造成算法的不收敛。,突变概率对收敛性的影响,突变操作是对种群模式的扰动,有利于增加种群的多样性。但是,突变概率太小则很难产生新模式,突变概率太大则会使遗传算法成为随机搜索算法。,遗传算法的本质,遗传算法本质上是对染色体模式所进行的一系列运算,即通过选择算子将当前种群中的优良模式遗传到下一代种群中,利用交叉算子进行模式重组,利用突变算子进行模式突变。通过这些遗传操作,
13、模式逐步向较好的方向进化,最终得到问题的最优解。,返回,3、遗传算法的改进,遗传欺骗问题:在遗传算法进化过程中,有时会产生一些超常的个体,这些个体因竞争力太突出而控制了选择运算过程,从而影响算法的全局优化性能,导致算法获得某个局部最优解。,遗传算法的改进途径,(1)对编码方式的改进(2)对遗传算子 的改进(3)对控制参数的改进(4)对执行策略的改进,对编码方式的改进,二进制编码优点在于编码、解码操作简单,交叉、突变等操作便于实现,缺点在于精度要求较高时,个体编码串较长,使算法的搜索空间急剧扩大,遗传算法的性能降低。格雷编码克服了二进制编码的不连续问题,浮点数编码改善了遗传算法的计算复杂性。,对
14、遗传算子 的改进,排序选择 均匀交叉 逆序突变,(1)对群体中的所有个体按其适应度大小进行降序排序;(2)根据具体求解问题,设计一个概率分配表,将各个概率值按上述排列次序分配给各个个体;(3)以各个个体所分配到的概率值作为其遗传到下一代的概率,基于这些概率用赌盘选择法来产生下一代群体。,对遗传算子 的改进,排序选择 均匀交叉 逆序突变,(1)随机产生一个与个体编码长度相同的二进制屏蔽字P=W1W2Wn;(2)按下列规则从A、B两个父代个体中产生两个新个体X、Y:若Wi=0,则X的第i个基因继承A的对应基因,Y的第i个基因继承B的对应基因;若Wi=1,则A、B的第i个基因相互交换,从而生成X、Y
15、的第i个基因。,对遗传算子 的改进,排序选择 均匀交叉 逆序突变,突变前:3 4 8|7 9 6 5|2 1突变后:3 4 8|5 6 9 7|2 1,对控制参数的改进,Schaffer建议的最优参数范围是:M=20-100,T=100-500,Pc,Pm。,对控制参数的改进,Srinvivas等人提出自适应遗传算法,即PC和Pm能够随适应度自动改变,当种群的各个个体适应度趋于一致或趋于局部最优时,使二者增加,而当种群适应度比较分散时,使二者减小,同时对适应值高于群体平均适应值的个体,采用较低的PC和Pm,使性能优良的个体进入下一代,而低于平均适应值的个体,采用较高的PC和Pm,使性能较差的个
16、体被淘汰。,对执行策略的改进,混合遗传算法免疫遗传算法小生境遗传算法单亲遗传算法并行遗传算法,返回,三、遗传算法的应用,1、遗传算法的应用领域 2、遗传算法的应用示例 3、我的研究,1、遗传算法的应用领域,(1)组合优化(2)函数优化(3)智能控制(4)图像处理(5)机器学习(6)人工生命,返回,遗传算法应用于组合优化,组合优化是指在给定约束条件下,求解目标函数的最优值。随着问题规模的增大,组合优化问题的搜索空间也急剧扩大,有时在计算机上用枚举法很难甚至不可能求出其最优解。实践证明,遗传算法已经在求解旅行商问题、背包问题、装箱问题、布局优化、网络路由等具有NP难度的组合优化问题上取得了成功的应
17、用。如旅行商问题,我们给定一组n个城市和他们两两之间的直达距离,通过遗传算法我们可以寻找一条闭合的旅程,使得每个城市刚好经过一次且总的履行距离最短。再如车间作业调度问题,车间作业是指利用车间资源对某一对象进行生产的过程,作业调度实际上就是对车间作业进行有效排序,使某个目标函数最小。比方一台机床有多个工具,加工多种工件,各工件有确定的加工期限约束,需要制定一个月的加工计划保证完成所有的加工任务。由于JSP具有离散、动态、多变量耦合等属性,应用遗传算法具有一定难度,主要体现在遗传编码方法上。,返回,函数优化,工程上经常会遇到在多准则或多设计目标下设计和决策的问题,如果这些目标是相背的,需要找到满足
18、这些目标的最佳设计方案。通常的做法是根据某有效函数将多目标合成单一目标来进行优化。但大多数情况下,在优化之前这种效用函数是难以确切知道的。法国经济学V.Pareto(1848-1923)最早研究经济领域内的多目标优化问题,他的理论称为Pareto最优化理论。J.Horn和N.Nafpliotis提出了关于用遗传算法解决多目标问题的基本算法思想,遗传算法界称为NPGA。,返回,智能控制,许多控制领域问题,当考虑到系统优化、自适应、自组织和自学习等方面的要求时,一般存在许多常规方法难以凑效的困难。例如,当有非连续评价函数、缺少初始信息、模型参数和结构或控制过程中的随机性、不确定性等复杂因素出现时,
19、现有的控制理论和方法往往因需要求导信息、对初始条件的敏感性、对高品质的领域知识依赖性而难以得到很好的应用。1971年从研究自学习控制系统入手,将智能控制概括为自动控制与人工智能的交集;1977年,Saridis以智能机器人的控制为主要研究背景,从研究机器智能的角度提出了智能控制是自动控制、人工智能及运筹学的交集,并提出了分级递阶智能控制的结构和方法;Astrom提出的专家智能则是将专家对被控对象和控制过程的知识、经验等融入控制器的设计与控制决策中。早期的智能控制研究受到传统控制理论的影响,大部分着眼点仍然基于系统已有的先验知识来解决问题,而不是自动获取知识。模糊控制基于模糊集理论,模拟人的近似
20、推理和决策过程。1974年Mamdani成功地将它应用于高炉和蒸汽机的控,智能控制,制,随后获得了迅猛的发展。模糊控制的主要困难在于控制规则的获取以及控制系统的稳定性问题。20世纪80年代中期以来,神经网络得到重新重视和发展。它主要模拟人脑的形象思维以及学习获取知识的能力。神经网络应用于控制问题,由于其高度依赖于生产现场所提供的大量训练样本,且训练算法的可实现性、实时性要求等因素,影响了其实用性。此外,对复杂问题的神经网络结构最优设计一直缺乏有效的方法。90年代以来,模糊理论、神经网络、专家系统、遗传算法和混沌方法等在许多控制领域得到了应用和发展,并且更重视这些方法相互融合,形成所谓的混合软计
21、算。遗传算法借助搜索机制的随机性,能够搜索问题域的全局最优解,并且对噪声和变化表现出很好的鲁棒性和自适应能力。遗传算法在控制领域的应用大致分为两大类:一类是离线设计和分析;另一类是在线自适应性调整。前者遗传算法作为优化器,对于已知的控制对象寻求合适的控制规则以满足控制品质方面的要求,或者对于特定的控制器结构搜索最优参数。后者遗传算法作为一种学习机制来确定未知的或非稳定系统的特征,或者对控制器进行自适应性调整。,返回,图像处理,图像处理和模式识别是计算机视觉中的一个重要领域。在图像处理过程中,如扫描、特征提取、图像分割等不可避免地会产生一些误差,这些误差会影响到图像处理和识别的效果。如何使这些误
22、差最小是使计算机视觉达到实用化的重要要求。遗传算法在图像处理中的优化计算方面是完全可以胜任的,目前已在图像校准、图像分割、几何形状识别、图像压缩、三维重建优化以及图像检索等方面得到了应用。,返回,机器学习,机器学习以复杂系统为对象,研究机器如何获取新知识或改善已有知识的问题,属于人工智能研究中较年轻的分支。由于20世纪40年代计算机的产生,使机器学习的实现有了可能,并且在50年代中期到60年代中期成了机器学习的热烈时期,这一时期主要研究各类自适应系统,并已开始研究神经网络模型和人工进化系统。60年代中期到70年代中期转入低潮,主要研究侧重于基于概念的学习和基于归纳的学习;70年代中期到80年代
23、中期又得到了迅速地发展,特别是专家系统的成功应用。不同的学习策略和各种学习方法相继问世,示例归约学习成为研究主流,如出现了影响很大的示例学习方法:ID系列和AQ系列。此外,自动知识获取成为机器学习的应用研究目标,遗传算法应用于机器学习的思想已经被提出。最近10多年机器学习的研究和发展又进入了一个暂新时期。1986年,神经网络重新兴起,基于连接机制的学习开始向传统的符号学习挑战。神经网络将知识的表达蕴涵于网络连接中,处理隐层和反向传播算法的发展,显示出很强的学习能力,因而,广泛应用于模式识别、自动控制、信号处理、语音识别等许多领域。随着各种改进型学习算法不断地被提出,显著地改善了机器学习系统的性
24、能。而此前的符号学习试图将知识由一个知识库包含和解释,其学习能力非常局限,只能适用于知识表达相对简单的系统。,机器学习,迄今,自然界只有人类才真正具有完善的学习能力,机器学习系统实际上是对人的学习机制的一种抽象和模拟,是一种理想的学习模型。基于符号学习和学习系统如监督型学习系统、条件反射型学习系统、类比式学习系统、推理学习系统等,只具备一些较初级的学习能力。近年来,由于遗传算法的发展,基于进化机制的遗传学习成为一种新机器学习方法,它将知识表达为另一种符号形式-遗传基因,通过模拟生物的进化过程,实现专门领域知识的合理增长型学习,所以有的学者将之称为次符号学习方法。机器学习成为遗传算法的经典领域之
25、一,归功于密歇根大学Holland等早期的工作。他们将基于遗传的机器学习方法发展成为CSI的分类系统学习方法,奠定了遗传算法重要的思想基础,后来被归纳为“密歇根方法”。1991年,De Jong等提出了“匹茨堡方法”。1994年,日本名古屋大学的市桥等结合两种方法的优点提出了“名古屋方法”,这些方法都分别在复杂机器学习系统获得了成功的应用。此外,遗传程序设计方法应用于机器发现系统的研究及结合不同学习方法交互作用的混合学习方法也开始受到重视。,返回,人工生命,生物的多种特性与功能已经给科学研究者很多启示,人工神经网络可以说是受到人的神经元的启发,而遗传算法、进化计算更是根据生物的遗传、进化机制演
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传算法原理 遗传 算法 原理 PPT 课件
链接地址:https://www.31ppt.com/p-5612286.html