遗传算法机器人与智能技术室课件.ppt
《遗传算法机器人与智能技术室课件.ppt》由会员分享,可在线阅读,更多相关《遗传算法机器人与智能技术室课件.ppt(55页珍藏版)》请在三一办公上搜索。
1、目录,第一章绪论第二章搜索技术第三章知识表示第四章推理技术 第五章 机器学习第六章计算智能 第七章数据挖掘第八章 智能体技术,可求解与难求解问题遗传算法群智能算法,现实世界中的问题分类,6.1 可求解与难求解问题,计算机在有限时间内能够求解的(可求解问题)计算机在有限时间内不能求解的(难求解问题)计算机完全不能求解的(不可计算问题),计算复杂性是指问题的一种特性,即利用计算机求解问题的难易性或难易程度,其衡量标准:计算所需的步数或指令条数(即时间复杂度)计算所需的存储空间大小(即空间复杂度)-通常表达为关于问题规模n的一个函数 O(f(n),问题的计算复杂性,20!=1.2161017203=
2、8000,O(n3)与O(3n)的差别 O(n!)与O(n3)的差别,O(bn),O(n!),O(1),O(log n),O(n),O(n log n),O(nb),6.1 可求解与难求解问题,P类问题,NP类问题,NPC类问题,P类问题:多项式问题(Polynomial Problem),指计算机可以在有限时间内求解的问题,即:P类问题是可以找出一个呈现O(na)复杂性算法的问题,其中a为常数。NP类问题:非确定性多项式问题(Non-deterministic Polynomial)。有些问题,其答案是无法直接计算得到的,只能通过间接的猜算或试算来得到结果,这就是非确定性问题(Non-det
3、erministic)。虽然在多项式时间内难于求解但不难判断给定一个解的正确性的问题,即:在多项式时间内可以由一个算法验证一个解是否正确的非确定性问题,就是NP类问题。NPC问题:完全非确定性多项式问题(NP-Complete)。如果NP问题的所有可能答案都可以在多项式时间内进行正确与否的验算的话就叫做完全非确定性多项式问题,即NP-Complete问题。,6.1 可求解与难求解问题,6.1 可求解与难求解问题,旅行商问题 对于销售员旅行问题(Travelling Salesman Problem,TSP),设有n个城市,城市I和城市j之间的距离为d(i,j),要求找到一条遍访每个城市一次而且
4、恰好一次的旅行线路,使其路径总长度为最短。,NPC类问题求解,穷举法或称遍历法:对解空间中的每一个可能解进行验证,直到所有的解都被验证是否正确,便能得到精确的结果-精确解,可能是O(n!)或O(an),近似解求解算法-近似解,应该是O(na),=|近似解 精确解|满意解:充分小时的近似解,TSP问题的遍历算法,TSP问题的贪心算法,仿生学算法,进化算法,遗传算法,蚁群算法,蜂群算法,6.1 可求解与难求解问题,6.2 遗传算法,生物群体的生存过程普遍遵循达尔文的物竞天择、适者生存的进化准则;生物通过个体间的选择、交叉、变异来适应大自然环境。,6.2 遗传算法,生物染色体用数学方式或计算机方式来
5、体现就是一串数码,仍叫染色体,有时也叫个体;适应能力用对应一个染色体的数值来衡量;染色体的选择或淘汰问题是按求最大还是最小问题来进行。遗传算法(Genetic AlgorichmsGA)是模仿生物遗传学和自然选择机理,通过人工方式构造的一类优化搜索算法,是对生物进化过程进行的一种数学仿真,是进化计算的一种最重要形式。,6.2 遗传算法,遗传算法提出:于20世纪60年代由密歇根(Michigan)大学Hollstien,Bagleyh和Rosenberg等人在其博士论文中首先加以研究;1975年,美国J.H.Holland教授在其著作“Adaptation in Natural and Arti
6、ficial Systems”中系统地阐述了遗传算法,给出了遗传算法的基本定理和大量的数学理论证明。遗传算法发展:David E.Goldberg教授1989年出版了“Genetic Algorichms”一书,这一著作通常被认为是遗传算法的方法、理论及应用的全面系统的总结。从1985年起,国际上开始陆续举行遗传算法的国际会议,后来又更名为进化计算。参加进化计算国际会议的人数及收录文章的数量、广度和深度逐年扩大。从此,进化计算逐渐成为人们用来解决高度复杂问题的新思路和新方法。,6.2 遗传算法,遗传算法特点:遗传算法是一种基于空间搜索的算法,它通过自然选择、遗传、变异等操作以及达尔文适者生存的
7、理论,模拟自然进化过程来寻找所求问题的解答。遗传算法具有以下特点:(1)遗传算法是对参数集合的编码而非针对参数本身进行进化;(2)遗传算法是从问题解的编码组开始而非从单个解开始搜索;(3)遗传算法利用目标函数的适应度这一信息而非利用导数或其它辅助信息来指导搜索;(4)遗传算法利用选择、交叉、变异等算子而不是利用确定性规则进行随机操作。,6.2 遗传算法,6.2.1 遗传算法的基本原理 霍兰德提出的遗传算法通常称为简单遗传算法(SGA)。编码与解码 许多应用问题的结构很复杂,但可以化为简单的位串形式编码表示。将问题结构变换为位串形式编码表示的过程叫编码;而相反将位串形式编码表示变换为原问题结构的
8、过程叫解码或译码。把位串形式编码表示叫染色体,有时也叫个体。,6.2 遗传算法,对于TSP问题,可以按一条回路中城市的次序进行编码。从城市w1开始,依次经过城市w2,wn,最后回到城市w1,我们就有如下编码表示:w1 w2 wn由于是回路,记wn+1=w1。它其实是1,n的一个循环排列。要注意w1,w2,wn是互不相同的。,6.2 遗传算法,适应度函数 为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数(fitness function)。TSP的目标是路径总长度为最短,自然地,路径总长度的倒数就可作为TSP问题的适应度函数:其中wn+1=w1适应度函数要有
9、效反映每一个染色体与问题的最优解染色体之间的差距。适应度函数的取值大小与求解问题对象的意义有很大的关系。,6.2 遗传算法,遗传操作简单遗传算法的遗传操作主要有有三种:选择(selection)、交叉(crossover)、变异(mutation)。改进的遗传算法大量扩充了遗传操作,以达到更高的效率。选择操作也叫复制(reproduction)操作,根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。简单遗传算法采用赌轮选择机制,令fi表示群体的适应度值之总和,fi表示种群中第i个染色体的适应度值,它产生后代的能力正好为其适应度值所占份额fi/fi。,6.2 遗传算法,交叉
10、操作的简单方式是将被选择出的两个个体P1和P2作为父母个体,将两者的部分码值进行交换。产生一个17之间的随机数c,假设为3,则将P1和P2的低3位交换,P1:,P2:,P1:,P2:,Q1:,Q2:,6.2 遗传算法,变异操作的简单方式是改变数码串的某个位置上的数码。二进制编码表示的简单变异操作是将0与1互换:0变异为1,1变异为0。随机产生一个18之间的数k,假设k=5,对从右往左第5位变异操作。,1,6.2 遗传算法,控制参数交叉发生的概率:0.60.95 变异的概率:0.0010.01 种群的个数:30100 个体的长度:定长和变长,6.2 遗传算法,6.2.2 遗传算法的结构选择:由个
11、体适应度值决定 的某个规则。交叉:按概率Pc进行变异:按概率Pm进行终止条件:完成了预先给定的进化代数 种群中的最优个体在连续若干代 没有改进或平均适应度在连续若 干代基本没有改进,开始,初始化种群,选择操作,终止条件,否,适应度最有优个体,计算适应度值,交叉操作,变异操作,结束,6.2 遗传算法,6.2.3 遗传算法的性能 遗传算法求得的解是一满意解。影响解质量的因素:种群的数量:太小缺少多样性,太多影响效率 适应度函数:提升优良个体的适应度 交叉和变异:不同的问题需构造性能更优的交叉和变异操作 交叉概率和变异概率:,分析:对该问题虽然也可以采用枚举的方法来解决,但枚举法却是一种效率很低的方
12、法.可运用遗传算法来求解该问题.解:首先对问题进行初始化,以获得初始种群;(1)确定编码方案:将x编码表示为染色体的数字符号串。针对本题自变量x定义域,取值范围为0,31,考虑采用二进制数来对其编码,由25=32,故使用5位无符号二进制数组成染色体数字字符串,用以表达变量x及问题的解答过程。,例:设有函数f(x)=x2,用遗传算法求其自变量x在区间0,31 取整数值时的最大值。,6.2 遗传算法,(2)选择初始种群:通过随机的方法来产生染色体的数字串,并组成初始种群。例如,为得到数字串的某位又称之为基因(genes),使用计算机在01之间产生随机数K,并按照数K的变化区域来规定基因代码如下:0
13、,(0K0.5)1,(0.5K1),6.2 遗传算法,于是随机生成4个染色体的数字符串为:01101110000100010011从而构造了初始种群,完成了遗传算法的准备。,6.2 遗传算法,表6.1 初始种群染色体及对应的适应值,6.2 遗传算法,(3)复制(选择)选择适应值大的串作为母本,使在下一代中有更多的机会繁殖其子孙。要在四个种子个体中做选择,要求仍然得到四个染色体,可依据适应度概率比例制定如下规则:低于0.125以下的染色体被淘汰;在0.1250.375之间的染色体被复制一个;在0.3750.625之间的染色体被复制两个;在0.6250.875之间的染色体被复制三个;在0.875以
14、上的染色体可复制四个。,6.2 遗传算法,对应于上例,按照适应度的计算,经复制操作后,得到新的染色体种群为 01101 11000 11000 10011,6.2 遗传算法,某个染色体是否被复制,可以通过概率决策法、适应度比例法或“轮盘赌”的随机方法来断定。对应轮盘赌转盘的随机方法,根据表6.1数据,绘制出的轮盘赌转盘,如图所示:,6.2 遗传算法,01101 11000 11000 10011,6.2 遗传算法,初始种群染色体准备复制操作的各项计算数据,(4)交叉 交叉具体分两步:将新复制产生的染色体随机两两匹配,称其为双亲染色体;再把双亲染色体进行交叉繁殖。交叉的实现:设染色体数字串长度为
15、L,把L个数字位间空隙分别标记为:1,2,L1 随机从1,L1中选取某一整数位置k,0kL 交换双亲染色体交换点位置k右边的部分,就形成了两个新的数字符串(也可以只交换其中的第k基因),得到了两个新的染色体,又称之为下一代染色体。,6.2 遗传算法,例如,将上例初始种群的两个体A1=01101A2=11000假定从1到4间选取两个随机数,得到1=2,2=4,那么经过交叉操作之后将得到如下两组新的数字符串A1#=01000 A2#=11101,6.2 遗传算法,A3#=01100A4#=11001,前一组数字串是使用1=2,即将第2位后的35位交换得到;后一组数字串是使用2=4,即仅将第5位因子
16、进行交换而得。,6.2 遗传算法,复制、交叉操作的各项数据,(5)变异 设变异概率取为0.001,则对于种群总共有20个基因位.期望的变异串位数计算:200.001=0.02(位),故一般来说,该例中无基因位数值的改变.从表中可以看出,每经过一次复制、交叉和变异操作后,目标函数的最优值和平均值就会有所提高。在上例中,种群的平均适应值从293增至446.5;最大的适应度数值从576增至841。特点:每经一次进化计算步骤,问题解答便向着最优方向前进了一步;若该过程一直进行下去,就将最终走向全局的最优解.可见进化计算的每一步操作简单,并且系统的求解过程是依照计算方法与规律来决定,与本源问题自身的特性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 机器人 智能 技术室 课件

链接地址:https://www.31ppt.com/p-3967930.html