人工智能及其应用蔡自兴第四版_第1页
人工智能及其应用蔡自兴第四版_第2页
人工智能及其应用蔡自兴第四版_第3页
人工智能及其应用蔡自兴第四版_第4页
人工智能及其应用蔡自兴第四版_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、人 工 智 能1第5章 计算智能(2)Computational Intelligence进化计算人工生命2进化计算包括:遗传算法(genetic algorithms,GA) 进化策略(evolutionary strategies) 进化编程(evolutionary programming) 遗传编程(genetic programming)人类不满足于模仿生物进化行为,希望能够建立具有自然生命特征的人造生命和人造生命系统。人工生命是人工智能和计算智能的一个新的研究热点。35.1 遗传算法 遗传算法是模仿生物遗传学和自然选择机理,通过人工方式所构造的一类优化搜索算法,是对生物进化过程进行

2、的一种数学仿真,是进化计算的最重要的形式。遗传算法为那些难以找到传统数学模型的难题指出了一个解决方法。进化计算和遗传算法借鉴了生物科学中的某些知识,这也体现了人工智能这一交叉学科的特点。 45.1.1 遗传算法的基本机理 霍兰德的遗传算法通常称为简单遗传算法(SGA)。现以此作为讨论主要对象,加上适应的改进,来分析遗传算法的结构和机理。 编码与解码适应度函数 遗传操作 5.1 遗传算法51.编码与解码将问题结构变换为位串形式编码表示的过程叫编码;而相反将位串形式编码表示变换为原问题结构的过程叫解码或译码。把位串形式编码表示叫染色体,有时也叫个体。遗传算法的编码方法有二进制编码、浮点数编码方法、

3、格雷码、符号编码方法、多参数编码方法等。6二进制编码最常用的编码方法假设某一参数的取值范围是A,B,AB。用长度为l的二进制编码串来表示该参数,将A,B等分成2l-1个子部分,记每一个等分的长度为。参数编码的对应关系:解码 假设某一个体的编码是: X:xlxl-1xl-2x2x1, 则上述二进制编码所对应的解码公式为:00000000 00000000=0 A 00000000 00000001=1 A+ 11111111 11111111= -1 B7二进制编码的最大缺点之一是长度较大,对很多问题用其他主编码方法可能更有利符号编码方法是指个体染色体编码串中的基因值取自一个无数值含义、而只有代

4、码含义的符号集。例如,对于TSP问题,采用符号编码方法,按一条回路中城市的次序进行编码,一般情况是从城市w1开始,依次经过城市w2 , wn,最后回到城市w1,我们就有如下编码表示:由于是回路,记wn+1= w1。它其实是1,n的一个循环排列。要注意w1, w2, wn是互不相同的。82.适应度函数体现染色体的适应能力,对问题中的每一个染色体都能进行度量的函数,叫适应度函数(fitness function)对优化问题,适应度函数就是目标函数。TSP的目标是路径总长度为最短,路径总长度可作为TSP问题的适应度函数:93.遗传操作简单遗传算法的遗传操作主要有有三种:选择(selection)、交

5、叉(crossover)、变异(mutation)。改进的遗传算法大量扩充了遗传操作,以达到更高的效率。选择操作也叫复制(reproduction)操作,根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。一般地说,选择将使适应度较大(优良)个体有较大的存在机会,而适应度较小(低劣)的个体继续存在的机会也较小。10交叉操作交叉操作的简单方式是将被选择出的两个个体P1和P2作为父母个体,将两者的部分码值进行交换假设有八位长的二个体,产生一个在1到8之间的随机数c,假如现在产生的是3,将P1和P2的低三位交换 1 0 0 0 1 1 1 0 1 1 0 1 1 0 0 1 P1

6、 P2 1 1 0 0 0 111变异操作 返回变异操作的简单方式是改变数码串的某个位置上的数码二进制编码表示的简单变异操作是将0与1互换:0变异为1,1变异为0TSP的变异操作:随机产生一个1至n之间的数k,对回路中的第k个城市的代码wk作变异操作,又产生一个1至n之间的数w,替代wk ,并将wk加到尾部,得到:125.1.2 遗传算法的求解步骤 1. 遗传算法的特点 (1) 遗传算法是对参数集合的编码而非针对参数本身进行进化;(2)遗传算法是从问题解的编码组开始而非从单个解开始搜索;(3)遗传算法利用目标函数的适应度这一信息而非利用导数或其它辅助信息来指导搜索;(4)遗传算法利用选择、交叉

7、、变异等算子而不是利用确定性规则进行随机操作。5.1 遗传算法132. 遗传算法的框图(图5.2) (1) 初始化种群;(2) 计算种群上每个个体的适应度值;(3) 按由个体适应度值所决定的某个规则选 择将进入下一代的个体;(4) 按概率Pc进行交叉操作;(5) 按概率Pm进行变异操作;(6) 若没有满足某种停止条件,则转第(2)步, 否则进入下一步。(7) 输出种群中适应度值最优的染色体作为问题的满意解或最优解。 5.1 遗传算法14初始化种群变异操作计算适应度值选择操作交叉操作最优解输出 终止条件?图5.2 算法框图 返回5.1 遗传算法 否 是 开始结束(1)(2)(3)(4)(5)(6

8、)(7)15遗传算法的一般结构表示 Procedure: Genetic Algorithmsbegin t 0; initialize P(t);evaluate P(t); while (not termination condition ) do begin recombine P(t) to yield C(t); evaluate C(t); select P(t+1) from P(t) and C(t); t t+1; endend5.1 遗传算法163. 遗传算法求解举例5.1 遗传算法设 用SGA求 遗传算法归纳为五个基本组成部份方案表示 种群初始化 适应度函数 遗传操作 算

9、法参数 175.1.3 SGA及其模式定理回顾: (1)GA的基本原理与算法框架;(2)GA的基本遗传算子;问题:(1)基本遗传算法(SGA)的算法步骤;(2) GA的计算实例;(3) GA有效性的理论证明;5.1 遗传算法18SGA的算法步骤5.1 遗传算法(1)编码: 随机产生一个由确定长度的特征字符串组成的初始种群。(2)进化:对该字符串种群迭代的执行下面的步和步 ,直到满足停止标准: 计算种群中每个个体字符串的适应值; 应用复制、交叉和变异等遗传算子产生下一代种群。(3)解码:把在后代中出现的最好的个体字符串指定为遗传算法的执行结果,这个结果可以表示问题的一个解。 19产生初始种群计算

10、每个个体的适应值GEN:=GEN+1依概率选择遗传操作执行复制选择一个个体i:=i+1选择两个个体选择一个个体执行变异i:=0复制到新种群i:=i+1将两个后代插入新种群插入到新种群执行杂交指定结果是否是否变异复制交叉结束 GEN:=0 是否满足停止准则i=M?5.1 遗传算法20SGA的伪代码描述Procedure: Simple Genetic Algorithmsbegin t 0; initialize P(t);evaluate P(t); while (not termination condition ) do begin recombine P(t) to yield C(t)

11、; P(t) C(t); evaluate P(t); t t+1; endend5.1 遗传算法21一个简单的计算实例例:极大值问题 max f(x)=x2,x0,311. 编码:5位二进制数;2. 初始群体:群体规模为4个个体,随机产生; 假设为:01101,11000,01000,100113. 适应度计算: (适应值直接取 f(x) )4. 选择复制产生下一代群体;(选择概率按适应值大小采用轮盘赌的随机策略)5.1 遗传算法310f=x2个体编号初始群体基因译码适应度计算f(xi)/f(xi)f(xi)/f下一代群体复制数101101131690.140.581211000245760

12、.491.9723010008640.060.220410011193610.311.231225. 个体基因交叉;(一般交叉概率较大0.70.9)6. 个体基因变异(一般变异概率较小0.0010.01 )7. 转3直至算法终止。个体编号复制后的群体基因译码适应度计算交叉对象交叉位置交叉后的群体适应度计算1011011316924011001442110002457614110016253110002457643110117294100111936133100002565.1 遗传算法23模式的定义思考: (1)SGA优化搜索中遗传算子的作用?(2)怎样从理论上证明SGA能依概率搜索到优良解答

13、的有效性?模式:我们将群体中的个体即基因串中的相似样板称为“模式”。模式表示基因串某些特征位相同的结构。它描述的是一个串中的子集,在二进制编码的串中,模式是基于三个字符集(0,1,*)的字符串,符号* 代表任意字符,即0或1。例如模式*1*描述了一个四个元的子集010,011,110,111。一般一个模式代表了多个个体,一个个体符合多个模式;5.1 遗传算法24模式的阶与定义距模式阶:模式H中确定位置的个数成为模式H的模式阶,记作O(H)。例如O(0 1 1 * 1 * )4。 模式阶用来反映不同模式间确定性的差异,模式阶数越高,模式的确定性就越高,所匹配的样本个数就越少。定义距(长度):模式

14、H中的第一个确定位置和最后一个确定位置之间的距离称为模式的定义距,记作(H)。例如,(0 1 1 * 1 * * )4。在遗传查找中,即使阶数相同的模式,也会有不同的性质,而模式的定义距就反映了这种性质的差异。5.1 遗传算法25模式定理模式定理(Schema Theorem) :如果在给定的时间步t,一个特定的模式H有m个代表串包含在种群A(t)中,记为m(H,t) ,f(H)表示在时间步t模式H的串平均适应度,整个种群的平均适应度为 f ,l为二进制染色体基因串长,pc为交叉概率,pm为变异概率,则在基本遗传算法(SGA)的机制下有:结论2.3.1.1 若遗传算法只采用选择复制操作,有下式

15、成立,结论2.3.1.2 若遗传算法同时考虑选择复制与交叉操作,有下式成立,结论2.3.1.3 若遗传算法同时考虑选择复制、交叉与变异操作,有下式成立,5.1 遗传算法26模式定理的意义模式定理的意义:在遗传算子选择、交叉、变异的作用下,具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。积木块假说;SGA最新的理论研究:(1)浓度模型;(2)概率模型;5.1 遗传算法27GA与进化计算的发展进化计算(Evolutionary computing )灵感计算(inspired computing )自然计算(Nature computing )进化计算蚁群系统量子遗传算

16、法 人工免疫系统 人工内分泌系统 复杂自适应系统 285.2 进化策略进化策略(Evolution Strategies,ES)是一类模仿自然进化原理以求解参数优化问题的算法。它是由雷切伯格(Rechenberg)、施韦费尔(Schwefel)和彼得比纳特(Peter Bienert)于1964年提出的,并在德国共同建立的。295.2.1 进化策略的算法模型 寻求与函数极值关联的实n维矢量x。随机选择父矢量的初始种群。父矢量xi, i=1,p产生子代矢量xi。对误差 (i=1,p)排序以选择和决定保持哪些矢量。继续产生新的试验数据以及选择最小误差矢量。 5.2 进化策略305.2.2 进化策略

17、和遗传算法的区别 进化策略和遗传算法有着很强的相似性,它们都是一类模仿自然进化原理的算法。两者也存在着区别,其中最基本的区别是它们的研究领域不同。进化策略是一种数值优化的方法,它采用一个具有自适应步长和倾角的特定爬山方法。遗传算法从广义上说是一种自适应搜索技术。5.2 进化策略315.3 进化编程进化编程(Evolutionary Programming,EP),又称为进化规划(Evolutionary Planning),是由福格尔(Fogel)在1962年提出的一种模仿人类智能的方法。进化编程根据正确预测的符号数来度量适应值。通过变异,为父代种群中的每个机器状态产生一个子代。父代和子代中最

18、好的部分被选择生存下来。它的提出是受自然生物进化机制的启发。325.3.1 进化编程的机理与表示进化编程的过程,可理解为从所有可能的计算机程序形成的空间中,搜索具有高的适应度的计算机程序个体。进化编程设计强调种群行为的变化。进化编程系统的表示自然地面向任务级。一旦选定一种适应性表示,就可以定义依赖于该表示的变异操作,在具体的父辈行为上创建后代。 5.3 进化编程335.3.2 进化编程的步骤 进化编程分为三个步骤:产生出初始种群。迭代完成下述子步骤,直至满足选种标准为止:执行种群中的每个程序。应用变异等操作创造新程序种群。在后代中适应值最高的计算机程序个体被指定为进化编程的结果。5.3 进化编

19、程34变异和创造子代评估已存在的FSM用最好的状态机预测和添加符号选择父代初始化观测顺序是否初始化种群图5.6 进化编程的基本过程5.3 进化编程是否预测355.4 人工生命 自然界是生命之源。自然生命千千万万,千姿百态,千差万别,巧夺天工,奇妙无穷。人工生命(Artificial Life,AL)试图通过人工方法建造具有自然生命特征的人造系统。人工生命是生命科学、信息科学和系统科学等学科交叉研究的产物,其研究成果必将促进人工智能的发展。 365.4.1 人工生命研究的起源和发展 人类长期以来一直力图用科学技术方法模拟自然界,包括人脑本身。1943年麦卡络奇和皮茨提出了MP神经学网络模型。 人

20、工生命的许多早期研究工作也源于人工智能。 20世纪70年代以来,康拉德(Conrad)等提出不断完善的“人工世界”模型。 80年代90年代5.4 人工生命375.4.2 人工生命的定义和研究意义 人工生命是一项抽象地提取控制生物现象的基本动态原理,并且通过物理媒介(如计算机)来模拟生命系统动态发展过程的研究工作。通俗地讲,人工生命即人造的生命,非自然的生命。然而,要对人工生命做出严格的定义,却需要对问题进行深入研究。 5.4 人工生命38人工生命系统 1987年兰德提出的人工生命定义为:“人工生命是研究能够演示出自然生命系统特征行为的人造系统”。通过计算机或其它机器对类似生命的行为进行综合研究

21、,以便对传统生物科学起互补作用。兰德在计算机上演示了他们研制的具有生命特征的软件系统,并把这类具有生命现象和特征的人造系统称为人工生命系统。 5.4 人工生命39自然生命的共同特征和现象 自繁殖、自进化、自寻优自成长、自学习、自组织自稳定、自适应、自协调物质构造能量转换信息处理5.4 人工生命40研究人工生命的意义 人工生命是自然生命的模拟、延伸与扩展,其研究开发有重大的科学意义和广泛的应用价值。开发基于人工生命的工程技术新方法、新系统、新产品 为自然生命的研究提供新模型、新工具、新环境 延伸人类寿命、减缓衰老、防治疾病扩展自然生命,人工进化、优生优育 促进生命、信息、系统科学的交叉与发展5.4 人工生命415.4.3 人工生命的研究内容和方法 1. 人工生命的研究内容人工生命的研究内容大致可分为两类: (1) 构成生物体的内部系统,包括脑、神经系统、内分泌系统、免疫系统、遗传系统、酶系统、代谢系

温馨提示

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

评论

0/150

提交评论