人工智能_第三章_遗传算法、蚁群算法、粒子群算法教学文稿.ppt
《人工智能_第三章_遗传算法、蚁群算法、粒子群算法教学文稿.ppt》由会员分享,可在线阅读,更多相关《人工智能_第三章_遗传算法、蚁群算法、粒子群算法教学文稿.ppt(175页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能_第三章_遗传算法、蚁群算法、粒子群算法3.1 遗传算法 11/14/20222一、遗传算法概要式中,为决策变量,f(X)为目标函数,后两个式子为约束条件,U是基本空间,R是U的一个子集。对于一个求函数最大值的优化问题(求函数最小值也类同),般可描述为下述数学规划模型:满足约束条件的解X称为可行解,集合R表示由所有满足约束条件的解所组成的一个集合,叫做可行解集合。它们之间的关系如图所示。11/14/20226U基本空间R可行解集合X可行解11/14/20227对于上述最优化问题,目标函数和约束条件种类繁多,有的是线性的,有的是非线性的;有的是连续的,有的是离散的;有的是单峰值的,有的是
2、多峰值的。随着研究的深入,人们逐渐认识到在很多复杂情况下要想完全精确地求出其最优解既不可能,也不现实,因而求出其近似最优解或满意解是人们的主要着眼点之。11/14/20228求最优解或近似最优解的方法(1)枚举法。枚举出可行解集合内的所有可行解,以求出精确最优解。对于连续函数,该方法要求先对其进行离散化处理,这样就有可能产生离散误差而永远达不到最优解。另外,当枚举空间比较大时,该方法的求解效率比较低,有时甚至在目前最先进的计算工具上都无法求解。(2)启发式算法。寻求一种能产生可行解的启发式规则,以找到一个最优解或近似最优解。该方法的求解效率虽然比较高,但对每个需要求解的问题都必须找出其特有的启
3、发式规则,这个启发式规则无通用性,不适合于其他问题。11/14/20229(3)搜索算法。寻求一种搜索算法,该算法在可行解集合的一个子集内进行搜索操作,以找到问题的最优解或近似最优解。该方法虽然保证不了一定能够得到问题的最优解,但若适当地利用一些启发知识,就可在近似解的质量和求解效率上达到种较好的平衡。而遗传算法为解决这类问题提供了一个有效的途径和通用框架,开创了一种新的全局优化搜索算法。11/14/202210遗传算法中,将n维决策向量用n个记号Xi(nl,2,n)所组成的符号串X来表示:把每一个Xi看作一个遗传基因,它的所有可能取值称为等位基因,这样,X就可看做是由n个遗传基因所组成的一个
4、染色体。般情况下,染色体的长度n是固定的,但对一些问题n也可以是变化的。根据不同的情况,这里的等位基因可以是一组整数,也可以是某一范围内的实数值,或者是纯粹的一个记号。最简单的等位基因是由0和l这两个整数组成的。相应的染色体就可表示为一个二进制符号串。11/14/202211这种编码所形成的排列形式X是个体的基因型,与它对应的x值是个体的表现型。通常个体的表现型和其基因型是一一对应的,但有时也允许基因型和表现型是多对一的关系。染色休X也称为个体X。对于每一个个体X,要按照一定的规则确定出其适应度;个体的适应度与其对应的个体表现型X的目标函数值相关联,X越接近于目标函数的最优点,其适应度越大;反
5、之,其适应度越小。遗传算法中,决策变量X组成了问题的解空间。对问题最优解的搜索是通过对染色体X的搜索过程来进行的,从而由所有的染色体X就组成了问题的搜索空间。11/14/202212生物的进化是以集团为主体的。与此相对应,遗传算法的运算对象是由M个个体所组成的集合,称为群体。与生物一代一代的自然进化过程相类似,遗传算法的运算过程也是一个反复迭代的过程,第t代群体记做P(t),经过一代遗传和进化后,得到第t+l代群体,它们也是由多个个体组成的集合,记做P(t+1)。这个群体不断地经过遗传和进化操作,并且每次都按照优胜劣汰的规则将适应度较高的个体更多地遗传到下一代,这样最终在群体中将会得到一个优良
6、的个体X,它所对应的表现型X将达到或接近于问题的最优解X*。生物的进化过程主要是通过染色体之间的交叉和变异来完成的,遗传算法中最优解的搜索过程也模仿生物的这个进化过程,使用所谓的遗传算子(geneticoperators)作用于群体P(t)中,进行下述遗传操作,从而得到新一代群体P(t+1)。11/14/202213选择(selection):根据各个个体的适应度,按照一定的规则或方法,从第t代群体P(t)中选择出一些优良的个体遗传到下一代群体P(t+1)中。交叉(crossover):将群体P(t)内的各个个体随机搭配成对,对每对个体,以某个概率(称为交叉概率,crossoverrate)交
7、换它们之间的部分染色体。变异(mutation):对群体P(t)中的每一个个体,以某一概率(称为变异概率,mutationrate)改变某一个或某一些基因座上的基因值为其他的等位基因。11/14/202214二、遗传算法的运算过程使用上述三种遗传算子(选择算子、交叉算子、变异算子)的遗传算法的主要运算过程如下所述:步骤一:初始化。设置进化代数计数器t0;设置最大进化代数T;随机生成M个个体作为初始群体P(0)。步骤二:个体评价。计算群体P(t)中各个个体的适应度。步骤三:选择运算。将选择算子作用于群体。11/14/202215步骤四:交叉运算。将交叉算子作用于群体。步骤五:变异运算。将变异算于
8、作用于群体。群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。步骤六:终止条件判断。若tT,则:tt+1,转到步骤二。若tT,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。11/14/202216三、遗传算法的特点(1)遗传算法以决策变量的编码作为运算对象。传统的优化算法往往直接利用决策变量的实际值本身来进行优化计算,但遗传算法不是直接以决策变量的值,而是以决策变量的某种形式的编码为运算对象。这种对决策变量的编码处理方式,使得我们在优化计算过程中可以借鉴生物学中染色体和基因等概念,可以模仿自然界中生物的遗传和进化等机理,也使得我们可以方便地应用遗传操作算
9、子。特别是对一些无数值概念或很难有数值概念,而只有代码概念的优化问题,编码处理方式更显示出了其独持的优越性。11/14/202217(2)遗传算法直接以目标函数值作为搜索信息。传统的优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其他一些辅助信息才能确定搜索方向。而遗传算法仅使用由目标函数值变换来的适应度函数值,就可确定进一步的搜索方向和搜索范围,无需目标函数的导数值等其他一些辅助信息。这个特性对很多目标函数无法或是很难求导数的函数,或导数不存在的函数的优化问题,以及组合优化问题等,应用遗传算法时就显得比较方便,因为它避开了函数求导这个障碍。再者,直接利用目标函数值或个体适应度,
10、也可使得我们可以把搜索范围集中到适应度较高的部分搜索空间中,从而提高了搜索效率。11/14/202218(3)遗传算法同时使用多个搜索点的搜索信息。传统的优化算法往往是从解空间个的一个初始点开始最优解的这代搜索过程,单个搜索点所提供的搜索信息毕竟不多,所以搜索效率不高,有时其至使搜索过程陷入局部最优解而停滞不前。遗传算法从很多个体所组成的一个初始群体开始最优解的搜索过程,而不是从个单一的个体开始搜索。对这个群体所进行的选择、交叉、变异等运算,产生出的乃是新一代的群体,在这之中包括了很多群体信息。这些信息可以避免搜索一些不必搜索的点,所以实际上相当于搜索了更多的点,这是遗传算法所特有的一种隐含并
11、行性。11/14/202219(4)遗传算法使用概率搜索技术。传统的优化算法往往使用的是确定性的搜索方法,一个搜索点到另一个搜索点的转移有确定的转移方法和转移关系,这种确定性往往也有可能使得搜索永远达不到最优点,因而也限制了算法的应用范围。遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一种概率的方式来进行的,从而增加了其搜索过程的灵活性。虽然这种概率特性也会使群体中产生些适应度不高的个体,但随着进化过程的进行,新的群体中总会更多地产生出许多优良的个体,实践和理论都已证明了在定条件下遗传算法总是以概率1收敛于问题的最优解。当然,交叉概率和变异概率等参数也会影响算法的搜索效果和
12、搜索效率,所以如何选择遗传算法的参数在其应用中是一个比较重要的问题。而另一方面,与其他一些算法相比遗传算法的鲁棒性又会使得参数对其搜索效果的影响会尽可能地低。11/14/202220四、遗传算法的发展遗传算法起源于对生物系统所进行的计算机模拟研究。早在上世纪40年代,就有学者开始研究如何利用计算机进行生物模拟的技术,他们从生物学的角度进行了生物的进化过程模拟、遗传过程模拟等研究工作。进入60年代后,美国密执安大学的Ho11and教授及其学生们受到这种生物模拟技术的启发,创造出了一种基于生物遗传和进化机制的适合于复杂系统优化计算的自适应概率优化技术遗传算法。下面是在遗传算法的发展进程中一些关键人
13、物所做出的一些主要贡献。11/14/2022211、JHHolland60年代,Ho11and提出在研究和设计人工自适应系统时,可以借鉴生物遗传的机制,以群体的方法进行自适应搜索,并且充分认识到了交叉、变异等运算策略在自适应系统中的重要性。70年代初,Ho11and教授提出了遗传算法的基本定理模式定理(schemaTheorem),从而奠定了遗传算法的理论基础。模式定理揭示出了群体中的优良个体(较好的模式)的样本数将以指数级规律增长,因而从理论上保证了遗传算法是一个可以用来寻求最优可行解的优化过程。1975年,Ho11and出版了第一本系统论述遗传算法和人工自适应系统的专著自然系统和人工系统的
14、自适应性(Adaptationinnaturalandartificialsystem)。80年代,Holland教授实现了第一个基于遗传算法的机器学习系统分类器系统(C1assifiersystem,简称CS),开创了基于遗传算法的机器学习的新概念,为分类器系统构造出了一个完整的框架。11/14/2022222、JDBagley1967年,Ho11and的学生Bagley在其博士论文中首次提出“遗传算法”一词,并发表了遗传算法应用方面的第一篇论文。他发展了复制、交叉、变异、显性、倒位等遗传算子,在个体编码上使用了双倍体的编码方法。这些都与目前遗传算法中所使用的算子和方法相类似。他还敏锐地意识
15、到在遗传算法执行的不向阶段可以使用不同的选择率,这将有利于防止遗传算法的早熟现象,从而创立了自适应遗传算法的概念。11/14/2022233、KADeJongl975年,DeJong在其博士论文中结合模式定理进行了大量的纯数值函数优化计算实验,树立了遗传算法的工作框架,得到了一些重要且具有指导意义的结论。例如,对于规模在50100的群体,经过l020代的进化,遗传算法都能以很高的概率找到最优或近似最优解。他推荐了在大多数优化问题中都较适用的遗传算法的参数,还建立了著名的DeJong五函数测试平台,定义了评价遗传算法性能的在线指标和离线指标。4、DJDeJong1989年,DeJong出版了专著
16、搜索、优化和机器学习中的遗传冲法(GeneticAlgorithmsinSearch,OptimizationandMachineLearning)。该书系统总结了遗传算法的主要研究成果,全面而完整地论述了遗传算法的基本原理及其应用。可以说这本书奠定了现代遗传算法的科学基础,为众多研究和发展遗传算法的学者所瞩目。11/14/2022245、LDavis1991年,Davis编辑出版了遗传算法手册(HandbookofGeneticAlgorithms)书,书中包括了遗传算法在科学计算、工程技术和社会经济中的大量应用实例。这本书为推广和普及遗传算法的应用起到了重要的指导作用。6JRKoza199
17、2年,Koza将遗传算法应用于计算机程序的优化设计及自动生成,提出了遗传编程(GeneticProgramming,简称GP)的概念。他将一段LISP语言程序作为个体的基因型,把问题的解编码作为一棵树,基于遗传和进化的概念,对由树组成的群体进行遗传运算,最终自动生成性能较好的计算机程序。Koza成功地把他提出的遗传编程的方法应用于人工智能、机器学习、符号处理等方面。11/14/202225五、遗传算法的应用(1)函数优化。函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用算例。很多人构造出了各种各样的复杂形式的测试函数,有连续函数也有离散函数,有凸函数也有凹函数,有低维函数也有
18、高维函数,有确定函数也有随机函数,有单峰值函数也有多峰值函数等。用这些几何特性各具特色的函数来评价遗传算法的性能,更能反映算法的本质效果。而对于一些非线性、多模型、多目标的函数优化问题,用其他优化方法较难求解,而遗传算法却可以方便地得到较好的结果。11/14/202226(2)组合优化。随着问题规模的增大,组合优化问题的搜索空间也急剧扩大,有时在目前的计算机上用枚举法很难或甚至不可能求出其精确最优解。对这类复杂问题,人们已意识到应把主要精力放在寻求其满意解上,而遗传算法是寻求这种满意解的最佳工具之一。实践证明,遗传算法对于组合优化中的NP完全问题非常有效。例如,遗传算法已经在求解旅行商问题、背
19、包问题、装箱问题、图形划分问题等方面得到成功的应用。11/14/202227(3)生产调度问题。生产调度问题在很多情况下所建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解,也会因简化得太多而使得求解结果与实际相差甚远。目前在现实生产中也主要是靠一些经验来进行调度。现在遗传算法已成为解决复杂调度问题的有效工具,在单件生产车间调度、流水线生产车间调度、生产规划、任务分配等方面遗传算法都得到了有效的应用。11/14/202228(4)自动控制。在自动控制领域中有很多与优化相关的问题需要求解,遗传算法已在其中得到了初步的应用,并显示出了良好的效果。例如用遗传算法进行航空控制系统的优化、
20、使用遗传算法设计空间交会控制器、基于遗传算法的模糊控制器的优化设计、基于遗传算法的参数辨识、基于遗传算法的模糊控制规则的学习、利用遗传算法进行人工种经网络的结构优化设计和权值学习等,都显示出了遗传算法在这些领域中应用的可能性。11/14/202229(5)机器人学。机器人是一类复杂的难以精确建模的人工系统,而遗传算法的起源就来自于对人工自适应系统的研究,所以机器人学理所当然地成为遗传算法的一个重要应用领域。例如,遗传算法已经在移动机器人路径规划、关节机器人运动轨迹规划、机器人逆运动学求解、细胞机器人的结构优化和行为协调等方面得到研究和应用。11/14/202230(6)图像处理。图像处理是计算
21、机视觉中的一个重要研究领域。在图像处理过程中,如扫描、持征提取、图像分割等不可避免地会存在一些误差,这些误差会影响图像处理的效果。如何使这些误差最小是使机器视觉达到实用化的重要要求。遗传算法在这些图像处理中的优化计算方面找到了用武之地。目前已在模式识别、图像恢复、图像边缘特征提取等方面得到了应用。11/14/202231人工生命与遗传算法有着密切的关系,基于遗传算法的进化模型是研究人工生命现象的重要基础理论。虽然人工生命的研究尚处于启蒙阶段,但遗传算法已在其进化模型、学习模型、行为模型、自组织模型等方面显示出了初步的应用能力,并且必将得到更为深入的应用和发展。人工生命与遗传算法相辅相成,遗传算
22、法为人工生命的研究提供了一个有效的工具,人工生命的研究也必将促进遗传算法的进一步发展。(7)人工生命。人工生命是用计算机、机械等人工媒体模拟或构造出的具有自然生物系统特有行为的人造系统。自织织能力和自学习能力是人工生命的两大主要特征。11/14/202232(8)遗传编程。Koza发展了遗传编程的概念,他使用了以LISP语言所表示的编码方法,基于对一种树型结构所进行的遗传操作来自动生成计算机程序。虽然遗传编程的理论尚未成熟,应用也有一些限制,但它已成功地应用于人工智能、机器学习等领域。11/14/202233(9)机器学习。学习能力是高级自适应系统所应具备的能力之一。基于遗传算法的机器学习,特
23、别是分类器系统,在很多领域中都得到了应用。例如,遗传算法被用于学习模糊控制规则,利用遗传算法来学习隶属度函数,从而更好地改进了模糊系统的性能;基于遗传算法的机器学习可用来调整人工神经网络的连接权,也可用于人工神经网络的网络结构优化设计;分类器系统也在学习式多机器人路径规划系统中得到了成功的应用。11/14/2022343.2 基本遗传算法 11/14/202235一、基本遗传算法的构成要素基于对自然界中生物遗传与进化机理的模仿,针对不向的问题,很多学者设计了许多不同的编码方法来表示问题的可行解,开发出了许多种不同的遗传算子来模仿不同环境下的生物遗传特。这样,由不同的编码方法和不同的遗传算子就构
24、成了各种不同的遗传算法。但这些遗传算法都有共同的特点,即通过对生物遗传和进化过程中选择、交叉、变异机理的模仿,来完成对问题最优解的自适应搜索过程。11/14/202236基于这个共同特点,Goldberg总结出了一种统一的最基本的遗传算法基本遗传算法(SimpleGeneticAlgorithms,简称SGA)。基本遗传算法只使用选择算子、交叉算子和变异算子这三种基本遗传算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。11/14/2022371、染色体编码方法基本遗传算法使用固定长度的二进制符号串来表示群
25、体中的个体,其等位基因是由二值符号集0,1所组成的。初始群体中各个个体的基因值可用均匀分布的随机数来生成,如:X100111001000101101就可表示一个个体,该个体的染色体长度是n18。11/14/2022382、个体适应度评价基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的机会多少。为正确计算这个概率,这里要求所有个体的适应度必须为正数或零。这样,根据不同种类的问题,必须预先确定好由目标函数值到个体适应度之间的转换规则,特别是要领先确定好当目标函数值为负数时的处理方法。11/14/2022393、遗传算子选择运算使用比例选则算子;交叉运算使用单点交叉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 第三 遗传 算法 粒子 教学 文稿
限制150内