收藏 分销(赏)

人工智能搜索技术.pptx

上传人:人****来 文档编号:6249862 上传时间:2024-12-03 格式:PPTX 页数:79 大小:391.91KB
下载 相关 举报
人工智能搜索技术.pptx_第1页
第1页 / 共79页
人工智能搜索技术.pptx_第2页
第2页 / 共79页
人工智能搜索技术.pptx_第3页
第3页 / 共79页
人工智能搜索技术.pptx_第4页
第4页 / 共79页
人工智能搜索技术.pptx_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,目录,第一章,绪论,第二章,知识表示,第三章搜索技术,第四章推理技术,第五章机器学习,第六章教授系统,第七章自动规划系统,第八章 自然语言了解,第九章 智能控制,第十章

2、 人工智能程序设计,人工智能搜索技术,第1页,3.1 盲目搜索,盲目搜索:即 无信息搜索 宽度优先与深度优先,3.1.1 图搜索策略,图搜索策略可看作一个在图中寻找路径方法。初始节点和目标节点分别代表初始数据库和满足终止条件数据库。求得把一个数据库变换为另一数据库规则序列问题就等价于求得图中一条路径问题。研究图搜索普通策略,能够给出图搜索过程普通步骤。,人工智能搜索技术,第2页,3.1 盲目搜索,3.1.1 图搜索策略,例3.1 从王某家族四代中找王A后代且其寿命为X人,A,47,B1,77,A3,52,B2,65,C2,87,C1,96,D1,77,E1,57,E2,92,F1,32,G1,

3、27,H1,51,人工智能搜索技术,第3页,3.1 盲目搜索,3.1.1 图搜索策略,1.图搜索(GRAPHSEARCH)普通过程,(1)建立一个只含有起始节点S搜索图G,把S放到一个叫做OPEN未扩展节点表中。,(2)建立一个叫做CLOSED已扩展节点表,其初始为空表。,(3)LOOP:若OPEN表是空表,则失溃退出。,(4)选择OPEN表上第一个节点,把它从OPEN表移出并放进CLOSED表中。称此节点为节点n。,(5)若n为一目标节点,则有解并成功退出,此解是追踪图G中沿着指针从n到S这条路径而得到(指针将在第7步中设置)。,人工智能搜索技术,第4页,3.1 盲目搜索,3.1.1 图搜索

4、策略,1.图搜索(GRAPHSEARCH)普通过程,(6)扩展节点n,同时生成不是n祖先那些后继节点集合M。把M这些组员作为n后继节点添入图G中。,(7)对那些未曾在G中出现过(既未曾在OPEN表上或CLOSED表上出现过)M组员设置一个通向n指针。把M这些组员加进OPEN表。对已经在OPEN或CLOSED表上每一个M组员,确定是否需要更改通到n指针方向。对已在CLOSED表上每个M组员,确定是否需要更改图G中通向它每个后代节点指针方向。,(8)按某一任意方式或按某个探试值,重排OPEN表。,(9)GO LOOP。,人工智能搜索技术,第5页,3.1 盲目搜索,节点,父辈节点,3.1.1 图搜索

5、策略,2.图搜索算法几个主要名词,(1)OPEN表与CLOSE表,OPEN表,CLOSED表,编号,节点,父辈节点,人工智能搜索技术,第6页,3.1 盲目搜索,3.1.1 图搜索策略,3.搜索图与搜索树,搜索过程框图,开,始,初始化,:,S,放入,OPEN,表,,,CLOES,表置空,n,=,1,OPEN,表中第一个结点,n,移至,CLOSE,表,若,n,后继未曾在搜索图,G,中出现,,,则将其放入,OPEN,表末端,,,并提供返回结点,n,指针,置,n,=,n,+,1,依据后继结点在搜索图,G,中出现情况,修改指针方向,依某种准则重新排序,OPEN,表,失败,成功,N,Y,N,OPEN,为空

6、表,NULL,?,n,=,目标结点,D,吗,?,Y,人工智能搜索技术,第7页,3.1 盲目搜索,3.1.1 图搜索策略,4.图搜索方法分析:,图搜索过程第8步对OPEN表上节点进行排序,方便能够从中选出一个“最好”节点作为第4步扩展用。这种排序能够是任意即盲目标(属于盲目搜索),也能够用以后要讨论各种启发思想或其它准则为依据(属于启发式搜索)。每当被选作扩展节点为目标节点时,这一过程就宣告成功结束。这时,能够重现从起始节点到目标节点这条成功路径,其方法是从目标节点按指针向S返回追溯。当搜索树不再剩有未被扩展端节点时,过程就以失败告终(一些节点最终可能没有后继节点,所以OPEN表可能最终变成空表

7、)。在失败终止情况下,从起始节点出发,一定达不到目标节点。,人工智能搜索技术,第8页,3.1 盲目搜索,3.1.2 宽度优先搜索,定义3.1 假如搜索是以靠近起始节点程度依次扩展节点,那么这种搜索就叫做宽度优先搜索(breadth-first search),人工智能搜索技术,第9页,3.1 盲目搜索,3.1.2 宽度优先搜索,宽度优先搜索算法,(1)把起始节点放到OPEN表中(假如该起始节点为一目标节点,则求得一个解答)。,(2)假如OPEN是个空表,则没有解,失溃退出;不然继续。,(3)把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。,(4)扩展节点n。假如没有

8、后继节点,则转向上述第(2)步。,(5)把n全部后继节点放到OPEN表末端,并提供从这些后继节点回到n指针。,(6)假如n任一个后继节点是个目标节点,则找到一个解答,成功退出;不然转向第(2)步。,人工智能搜索技术,第10页,3.1 盲目搜索,3.1.2 宽度优先搜索,例3.2,八数码问题,操作要求:允许空格四面上、下、左、右数码块移入空格中,不许斜方向移动,不许返回先辈结点。,初始布局,S和目标状态D,以下列图所表示:,人工智能搜索技术,第11页,3.1 盲目搜索,3.1.2 宽度优先搜索,例3.2,八数码问题,人工智能搜索技术,第12页,3.1 盲目搜索,3.1.3 深度优先搜索,深度优先

9、算法步骤:,(1)初始结点S放到未扩展节点OPEN中;,(2)若OPEN为空,则搜索失败,问题无解;,(3)弹出OPEN表中最顶端结点放到CLOSE表中,并给出次序编号n;,(4)若n为目标结点D,则搜索成功,问题有解;,(5)若n无子结点,转(2);,(6)扩展n结点,将其全部子结点配上返回n指针,并按次序压入OPEN堆栈,转(2),。,人工智能搜索技术,第13页,3.1 盲目搜索,3.1.3 深度优先搜索,人工智能搜索技术,第14页,3.1 盲目搜索,3.1.3 深度优先搜索,有界深度优先搜索,:,引入搜索深度限制值,d,,使深度优先搜索过程含有完备性。,设定搜索深度限制,d=5,,问题同

10、深度优先算法中八数码问题(2)。,人工智能搜索技术,第15页,3.1 盲目搜索,3.1.3 深度优先搜索,人工智能搜索技术,第16页,3.1 盲目搜索,3.1.3 深度优先搜索,有界深度优先算法步骤:,(1)初始结点S放入堆栈,OPEN,中;,(2)若,OPEN,为空,则搜索失败,问题无解;,(3)弹出,OPEN,中栈顶结点n,放入,CLOSE,表中,并给出次序编号n;,(4)若n为目标结点D,则搜索成功,问题有解;,(5)若n深度d(n)=d,则转(2);,(6)若n无子结点,即不可扩展,转(2);,(7)扩展结点n,将其全部子结点配上返回n指针,并压入,OPEN,堆栈,转(2)。,人工智能

11、搜索技术,第17页,3.1 盲目搜索,3.1.4 等代价搜索,宽度优先搜索可被推广用来处理寻找从起始状态至目标状态含有最小代价路径问题,这种推广了宽度优先搜索算法叫做等代价搜索算法,。,等代价搜索中几个记号,起始节点记为S;,从节点i到它后继节点j连接弧线代价记为c(i,j);,起始节点S到任一节点i路径代价记为g(i)。,假如全部连接弧线含有相等代价,那么等代价算法就简化为宽度优先搜索算法,。,人工智能搜索技术,第18页,3.2 启发式搜索,盲目搜索不足:效率低,花费空间与时间。,启发式搜索:利用问题域特征信息(启发信息)进行搜索。,3.2.1 启发式搜索策略,启发式信息按用途分为三种:,(

12、1)用于确定要扩展下一个节点,防止盲目扩展。,(2)在扩展一个节点过程中,用于确定要生成哪一个或哪几个后继节点,防止盲目生成全部可能节点。,(3)用于确定一些应该从搜索树中抛弃或修剪得节点。,人工智能搜索技术,第19页,3.2 启发式搜索,有序搜索(ordered search):利用第一个启发信息,总是选择“最有希望”节点作为下一个被扩展节点。,估价函数(evaluation function):估算节点“希望”量度,这种量度叫做估价函数。,建立估价函数普通方法:试图确定一个处于最正确路径上节点概率;提出任意节点与目标集之间距离量度或差异量度;或者在棋盘式博弈和难题中依据棋局一些特点来决定棋

13、局得分数。这些特点被认为与向目标节点前深入希望程度相关。,f(n)表示节点n估价函数值,人工智能搜索技术,第20页,3.2 启发式搜索,3.2.2 有序搜索,用估价函数f来排列GRAPHSEARCH第8步中OPEN表上节点。应用某个算法(比如等代价算法)选择OPEN表上含有最小f值节点作为下一个要扩展节点。这种搜索方法叫做,有序搜索,或,最正确优先搜索(best-first search),,而其算法就叫做,有序搜索算法,或,最正确优先算法,。,人工智能搜索技术,第21页,3.2 启发式搜索,3.2.2 有序搜索,有序状态空间搜索算法:,(1)把起始节点S放到OPEN表中,计算f(S)并把其值

14、与节点S联络起来。,(2)假如OPEN是个空表,则失溃退出,无解。,(3)从OPEN表中选择一个f值最小节点i。结果有几个节点合格,当其中有一个为目标节点时,则选择此目标节点,不然就选择其中任一个节点作为节点i。,(4)把节点i从OPEN表中移出,并把它放入CLOSED扩展节点表中。,人工智能搜索技术,第22页,3.2 启发式搜索,3.2.2 有序搜索,(5)假如i是个目标节点,则成功退出,求得一个解。,(6)扩展节点i,生成其全部后继节点。对于i每一个后继节点j:,(a)计算f(j)。,(b)假如j既不在OPEN表中,又不在CLOSED表中,则用估价函数f把它添入OPEN表。从j加一指向其父

15、辈节点i指针,方便一旦找到目标节点时记住一个解答路径。,(c)假如j已在OPEN表上或CLOSED表上,则比较刚才对j计算过f值和前面计算过该节点在表中f值。假如新f值较小,则,人工智能搜索技术,第23页,3.2 启发式搜索,3.2.2 有序搜索,(i)以此新值取代旧值。,(ii)从j指向i,而不是指向它父辈节点。,(iii)假如节点j在CLOSED表中,则把它移回OPEN表。,(7)转向(2),即GO TO(2)。,人工智能搜索技术,第24页,3.2 启发式搜索,3.2.2 有序搜索,开始,把S放入OPEN表,OPEN为空表?,失败,选取OPEN表中f值最小,节点i,放入CLOSED表,i=

16、Sg?,成功,是,是,扩展i得后继节点j,计算f(j),提,供返回i指针,利用f(j)对OPEN,表重新排序调整父子关系及指针,人工智能搜索技术,第25页,3.2 启发式搜索,3.2.2 有序搜索,宽度优先搜索、等代价搜索和深度优先搜索统统是有序搜索技术特例。对于宽度优先搜索,选择f(i)作为节点i深度。对于等代价搜索,f(i)是从起始节点至节点i这段路径代价。,有序搜索有效性直接取决于f选择,如果选择f不合适,有序搜索就可能失去一个最好解甚至全部解。如果没有适用准确希望量度,那么f选择将涉及两个方面内容:一方面是一个时间和空间之间折衷方案;其次是保证有一个最优解或任意解。,人工智能搜索技术,

17、第26页,3.2 启发式搜索,3.2.2 有序搜索,例3.4:八数码难题,采取了简单估价函数,f(n)=d(n)+W(n),其中:d(n)是搜索树中节点n深度;W(n)用来计算对应于节点n数据库中错放棋子个数。所以,起始节点棋局,f值等于0+4=4。,2,8,3,1,6,4,7,5,人工智能搜索技术,第27页,3.2 启发式搜索,3.2.2 有序搜索,2,8,3,1,6,4,7,5,2,8,3,1,6,4,7,5,2,8,3,1,4,7,6,5,2,8,3,1,6,4,7,5,2,8,3,1,4,7,6,5,2,3,1,8,4,7,6,5,2,8,3,1,4,7,6,5,8,3,2,1,4,7

18、,6,5,2,8,3,7,1,4,6,5,2,3,1,8,4,7,6,5,2,3,3,1,8,4,7,6,5,1,2,3,8,4,7,6,5,1,2,3,8,4,7,6,5,1,2,3,7,8,4,6,5,人工智能搜索技术,第28页,3.2 启发式搜索,3.2.3 A*算法,A*算法是一个有序搜索算法,其特点在于对估价函数定义上。,1.A*算法估价函数,k(n,i,,n,j,):表示任意两个节点n,i,和n,j,之间最小代价路径实际代价(对于两节点间没有通路节点,函数k没有定义)。,k(n,t,i,):从节点n到某个详细目标节点t,i,,某一条最小代价路径代价。,h*(n):表示整个目标节点集

19、合t,i,上全部k(n,t,i,)中最小一个,所以,h*(n)就是从n到目标节点最小代价路径代价,而且从n到目标节点能够取得h*(n)任一路径就是一条从n到某个目标节点最正确路径(对于任何不能抵达目标节点节点n,函数h*没有定义)。,人工智能搜索技术,第29页,3.2 启发式搜索,3.2.3 A*算法,定义g*,为g*(n)=k(S,n),从已知起始节点S到任意节点n一条最正确路径代价。,定义函数f*,,f*(n)=g*(n)+h*(n),使得在任一节点n上其函数值f*(n)就是从节点S到节点n一条最正确路径实际代价加上从节点n到某目标节点一条最正确路径代价之和。,人工智能搜索技术,第30页,

20、3.2 启发式搜索,3.2.3 A*算法,希望估价函数f是f*一个预计,此预计可由下式给出:,f(n)=g(n)+h(n),其中:g是g*预计;h是h*预计。,对于g(n):一个显著选择就是搜索树中从S到n这段路径代价,这一代价能够由从n到S寻找指针时,把所碰到各段弧线代价加起来给出(这条路径就是到当前为止用搜索算法找到从S到n最小代价路径)。这个定义包含了g(n)g*(n)。,h(n):对 h*(n)预计,依赖于相关问题领域启发信息。这种信息可能与八数码难题中函数W(n)所用那种信息相同。把h叫做启发函数。,人工智能搜索技术,第31页,3.2 启发式搜索,3.2.3 A*算法,2.A算法和A

21、*算法定义,定义3.3,在GRAPHSEARCH过程中,假如第8步重排OPEN表是依据f(x)=g(x)+h(x)进行,则称该过程为A算法。,定义3.4,在A算法中,假如对全部x存在h(x)h*(x),则称h(x)为h*(x)下界,它表示某种偏于保守预计。,定义3.5,采取h*(x)下界h(x)为启发函数A算法,称为A*算法。当h=0时,A*算法就变为有序搜索算法。,A算法和A*搜索算法目标有所不一样:A搜索算法即使希望能找到问题最优解,但主要追求是求解效率;而A*搜索算法直接目标就在于要找到问题最优解及其解路径,即便搜索效率有所降低也在所不惜。,人工智能搜索技术,第32页,3.2.3 A*算

22、法,开始,把S放入OPEN表,记f=h,OPEN为空表?,失败,选取OPEN表中未设置过含有最小f值,节点BESTNODE,放入CLOSED表,BESTNODE=Sg?,成功,是,是,扩展BESTNODE,产生后继节点SUVVESSOR,建立从SUCCESSOR返回BESTNODE指针,计算g(SUCCESSOR)=g(BESTNODE)+h(BESTNODE)_SUCCESSOR),SUCCESSOROPEN?,否,是,人工智能搜索技术,第33页,3.2.3 A*算法,把SECCESSOR放入OPEN表,,加入BESTNODE后代表,g(SUCCESSOR)g(OLD)?,否,重新确定OLD

23、父辈节点为BESTNODE,,并修正父辈节点g值和f值,记下g(OLD),SUCCESSORCLOSED?,否,是,SECCESSOR=OLD,把它添到,BESTNODE后继节点表中,是,否,计算f值,人工智能搜索技术,第34页,3.3 博弈树搜索,3.3.1 博弈概述,何谓博弈?,博弈就是下棋、打牌、竞技、战争等一类竞争性智能活动。,“二人零和非偶然性全信息”博弈,(1)二人零和:,对垒MAX、MIN双方轮番采取行动,博弈结果只有三种情况:MAX方胜,MIN方胜,和局。,(2)全信息:,在对垒过程中,任何一方都了解当前格局及过去历史。,(3)非偶然性:,任何一方在采取行动前都要依据当前实际情

24、况,进行得失分析,选取对自己最为有利而对对方最为不利对策,不存在“碰运气”,“侥幸”及“偶然失误”等随机原因。,人工智能搜索技术,第35页,3.3 博弈树搜索,3.3.1 博弈概述,参加博弈各方都希望己方取得胜利。所以,当首先临多个行动方案选择时,,博弈各方总是要挑选对自己最为有利而对对方最不利那个行动方案。,假如,MAX方目标:,尽可能使自己到达最大(或最高)分数分枝节点,,可用,“或”,关系来描述,称之为,MAX方,节点;,而当轮到MIN方行动时,,MIN方目标:,尽可能使MIN方取得最小(或最低)分数分枝节点,,这对MIN方来说,这些行动方案或分数分枝节点之间,能够用,“与”,关系来描述

25、,是由,MIN方,自主进行控制,故又称之为,MIN,节点。,人工智能搜索技术,第36页,3.3 博弈树搜索,3.3.1 博弈概述,把上述双方逐层交替博弈过程用与/或树(图)描述表示出来,就得到了一棵含有“与/或”节点交替出现博弈树。,博弈树有以下特点:,(1)博弈初始格局是初始节点。,(2)在博弈树中,因为,双方轮番地扩展节点,“或”节点和“与”节点逐层交替出现。,假如自己一方扩展节点之间是“或”关系,则对方扩展节点之间是“与”关系。,(3)把本方获胜终局定义为本原问题,对应最优搜索路径上节点是可解节点,而全部使对方获胜终局和属于对方最优搜索路径上节点则是不可解节点。另外,全部其它节点则是含有

26、风险中间节点。,人工智能搜索技术,第37页,3.3 博弈树搜索,3.3.2 极小极大分析法,在二人博弈过程中,最直观而可靠惯用分析方法就是极小极大化搜索法。其主要描述思想和算法:,(1)设博弈一方为MAX方,其目标是尽可能使自己得到最高分;另一方为MIN方,其目标是尽可能给MAX方送出最低分。所谓极小极大化分析法是一个要轮番为每一方寻找一个最优行动方案方法。在图中,方框形状“”表示是MAX方控制或节点;圆形框形状“”表示MIN方控制与节点。,(2)考虑每一方案实施后对方可能采取全部行动,并为其计算可能得分;,(3)为计算得分,需要依据问题特征信息定义一个估价函数,用来估算当前博弈树全部端节点得

27、分。此时估算出来得分称为静态估值。,人工智能搜索技术,第38页,3.3 博弈树搜索,3.3.2极小极大分析法,(4)当端节点估值计算出来后,再推算父辈节点等分,推算方法是:对“或”节点,选择其子节点中最大得分作为父辈节点得分(选择对自己最有利方案);对“与”节点,选其子节点中一个最小得分作为作为父辈节点得分(立足于最坏情况)。这么计算出父辈节点等分称为倒推值。,(5)假如一个行动方案能取得较大倒推值,则它就是当前最好行动方案。,存放受限问题:先生成一定深度博弈树,进行极小极大分析,找出当前最好行动方案。然后再已选定分支上再扩展一定深度,如此重复。,人工智能搜索技术,第39页,3.3.2极小极大

28、分析法,4 -1 -1 8 1 2 -5 0 -4 -9 -1,5 11 4 3 -1,1 5 8 10 1 4 2 5 -5 9 6 0 6-4 10,9-1 12 5,MAX-MIN博弈树倒推值计算,h,(,S0)=,?,4 8 2 0 -1,4 -1,3.3 博弈树搜索,人工智能搜索技术,第40页,3.3 博弈树搜索,3.3.3-剪枝技术,基本思想:边生成博弈树边估算各节点倒推值,而且依据评定出倒推值范围,及时停顿扩展那些已无必要再扩展子节点。,详细剪枝方法:,(1)对于一个“与”节点MIN,若能预计出其倒推值上界,而且这个值小于MIN父辈节点(一定是“或”节点)预计倒推值下界,即,则就

29、无须要再扩展该MIN节点其余子节点了。这一过程称为剪枝。,(2)对于一个“或”节点MAX,若能预计出其倒推值下界,而且这个 值大于MAX父辈节点(一定是“与”节点)预计倒推值上界,即,则就无须要再扩展该MAX节点其余子节点了。这一过程称为 剪枝。,人工智能搜索技术,第41页,3.3 博弈树搜索,3.3.3-剪枝技术,从算法中看到:,(1)MAX节点(包含起始节点)值永不降低。,(2)MIN节点(包含起始节点)值永不增加。,在搜索期间,和 值计算以下:,(1)一个MAX节点值等于其后继节点当前最大最终倒推值。,(2)一个MIN节点 值等于其后继节点当前最小最终倒推值。,人工智能搜索技术,第42页

30、,3.3 博弈树搜索,3.3.3-剪枝技术,例3.5 一字棋搜索树和值计算,估价函数g(p)定义以下:,(1)若当前棋局对任何一方都不是获胜,则,g(p)=(全部空格都放上MAX棋子之后3个棋子所组成行列及对角线总数),(全部空格都放上MIN棋子之后3个棋子所组成行列及对角线总数),(2)若p是MAX获胜,则,g(p)=+,(3)若p是MIN获胜,则,g(p)=-,上图中,g(p)=6-4=2,其中表示MAX方,表示MIN方,人工智能搜索技术,第43页,3.3.3-剪枝技术,3.3 博弈树搜索,初始节点,=-1,A,B,C,-1,=-1,6-5=1,5-5=0,6-5=1,5-5=0,4-5=

31、-1,5-6=-1,人工智能搜索技术,第44页,3.3.3-剪枝技术,3.3 博弈树搜索,4 -1 -1 8 1 2 -5 0 -4 -9 -1,5 11 4 3 -1,1 5 8 10 1 4 2 5 -5 9 6 0 6-4 10,9-1 12 5,MAX-MIN博弈树倒推值计算,h,(,S0)=,?,4 8 2 0 -1,4 -1,人工智能搜索技术,第45页,3.3.3-剪枝技术,3.3 博弈树搜索,h,(,S0)=,?,4,4,11,3,3,1,1,8,8,10,8,2,2,-5,-5,2,2,4,4,x,5,5,4,博弈树-剪枝实现过程,人工智能搜索技术,第46页,3.3 博弈树搜索

32、,3.3.3-剪枝技术,要进行-剪枝,必须最少使某一部分搜索树生长到最大深度,因为和值必须以端节点静态估值为依据。所以采取-剪枝技术通常都要使用某种深度优先搜索方法。,人工智能搜索技术,第47页,3.4 遗传算法,生物群体生存过程普遍遵照达尔文物竞天择、适者生存进化准则;生物经过个体间选择、交叉、变异来适应大自然环境。生物染色体用数学方式或计算机方式来表达就是一串数码,仍叫染色体,有时也叫个体;适应能力用对应一个染色体数值来衡量;染色体选择或淘汰问题是按求最大还是最小问题来进行。,遗传算法是模仿生物遗传学和自然选择机理,经过人工方式结构一类优化搜索算法,是对生物进化过程进行一个数学仿真,是进化

33、计算一个最主要形式。,人工智能搜索技术,第48页,3.4 遗传算法,遗传算法提出:,于20世纪60年代由密歇根(Michigan)大学Hollstien,Bagleyh和Rosenberg等人在其博士论文中首先加以研究;1975年,美国J.H.Holland教授在其著作,“,Adaptation in Natural and Artificial Systems,”,中系统地阐述了遗传算法,给出了遗传算法基本定理和大量数学理论证实。,遗传算法发展:,David E.Goldberg教授1989年出版了,“,Genetic Algorichms,”,一书,这一著作通常被认为是遗传算法方法、理论及

34、应用全方面系统总结。从1985年起,国际上开始陆续举行遗传算法国际会议,以后又更名为进化计算。参加进化计算国际会议人数及收录文章数量、广度和深度逐年扩大。从此,进化计算逐步成为人们用来处理高度复杂问题新思绪和新方法。,人工智能搜索技术,第49页,3.4 遗传算法,遗传算法特点:,遗传算法是一个基于空间搜索算法,它经过自然选择、遗传、变异等操作以及达尔文适者生存理论,模拟自然进化过程来寻找所求问题解答。遗传算法含有以下特点:,(1)遗传算法是对参数集合编码而非针对参数本身进行进化;,(2)遗传算法是从问题解编码组开始而非从单个解开始搜索;,(3)遗传算法利用目标函数适应度这一信息而非利用导数或其

35、它辅助信息来指导搜索;,(4)遗传算法利用选择、交叉、变异等算子而不是利用确定性规则进行随机操作。,人工智能搜索技术,第50页,3.4 遗传算法,遗传算法应用:,J.H.Holland博士于1975年提出遗传算法,当初并没有引发学术界足够重视。直到二十世纪80年代中期,伴随计算机技术日新月异高速发展与进步,遗传算法首先成功地应用于AI机器学习和神经网络方面;以后又在诸如函数优化、自动控制、图象识别、分子生物学、优化调度以及机械、土木、电力工程等工业系统和许多领域中得到应用,显示出诱人前景。从此,遗传算法始才得到学术界普遍关注与认可。,人工智能搜索技术,第51页,3.4 遗传算法,3.4.1 遗

36、传算法基本原理,霍兰德提出遗传算法通常称为简单遗传算法(SGA)。现以此作为讨论主要对象,加上适应改进,来分析遗传算法结构和机理。在讨论中会结合销售员旅行问题(TSP)来说明。,1.编码与解码,许多应用问题结构很复杂,但能够化为简单位串形式编码表示。将问题结构变换为位串形式编码表示过程叫编码;而相反将位串形式编码表示变换为原问题结构过程叫解码或译码。把位串形式编码表示叫染色体,有时也叫个体。,人工智能搜索技术,第52页,3.4 遗传算法,3.4.1 遗传算法基本原理,例:对于销售员旅行问题(Travelling salesman Problem,TSP),设有n个城市,城市i和城市j之间距离为

37、d(i,j),要求找到一条遍访每个城市一次而且恰好一次旅行线路,使其路径总长度为最短。按一条回路中城市次序进行编码。从城市,w,1,开始,依次经过城市,w,2,,,w,n,,最终回到城市,w,1,,我们就有以下编码表示:,w,1,w,2,w,n,因为是回路,记,w,n,+1,=,w,1,。它其实是1,,n,一个循环排列。要注意,w,1,,,w,2,,,w,n,是互不相同。,人工智能搜索技术,第53页,3.4 遗传算法,3.4.1 遗传算法基本原理,2.适应度函数,为了表达染色体适应能力,引入了对问题中每一个染色体都能进行度量函数,叫适应度函数(fitness function)。TSP目标是路

38、径总长度为最短,自然地,路径总长度倒数就可作为TSP问题适应度函数:,其中,w,n+1,=w,1,适应度函数要有效反应每一个染色体与问题最优解染色体之间差距。适应度函数取值大小与求解问题对象意义有很大关系。,人工智能搜索技术,第54页,3.4 遗传算法,3.4.1 遗传算法基本原理,3.遗传操作,简单遗传算法遗传操作主要有有三种:选择(selection)、交叉(crossover)、变异(mutation)。改进遗传算法大量扩充了遗传操作,以到达更高效率。,选择操作也叫复制(reproduction)操作,依据个体适应度函数值所度量优劣程度决定它在下一代是被淘汰还是被遗传。,简单遗传算法采取

39、赌轮选择机制,令f,i,表示群体适应度值之总和,f,i,表示种群中第i个染色体适应度值,它产生后代能力恰好为其适应度值所占份额f,i,/f,i,。,人工智能搜索技术,第55页,3.4 遗传算法,3.4.1 遗传算法基本原理,3.遗传操作,交叉操作简单方式是将被选择出两个个体P1和P2作为父母个体,将二者部分码值进行交换。,产生一个17之间随机数c,假设为3,则将P1和P2低3位交换,1,0,0,0,1,1,1,0,P1:,1,1,0,1,1,0,0,1,P2:,人工智能搜索技术,第56页,3.4 遗传算法,3.4.1 遗传算法基本原理,3.遗传操作,1,0,0,0,1,1,1,0,P1:,1,

40、1,0,1,1,0,0,1,P2:,1,0,0,0,1,0,0,1,1,1,0,1,1,1,1,0,Q1:,Q2:,人工智能搜索技术,第57页,3.4 遗传算法,3.4.1 遗传算法基本原理,3.遗传操作,变异操作简单方式是改变数码串某个位置上数码。二进制编码表示简单变异操作是将0与1交换:0变异为1,1变异为0。,随机产生一个18之间数k,假设k=5,对从右往左第5位变异操作。,1,0,1,0,0,1,1,0,1,人工智能搜索技术,第58页,3.4 遗传算法,3.4.1 遗传算法基本原理,4.控制参数,交叉发生概率:0.60.95,变异概率:0.0010.01,种群个数:30100,个体长度

41、:定长和变长,人工智能搜索技术,第59页,3.4 遗传算法,3.4.2 遗传算法结构,选择:由个体适应度值决定,某个规则。,交叉:按概率P,c,进行,变异:按概率P,m,进行,终止条件:,完成了预先给定进化代数,种群中最优个体在连续若干代,没有改进或平均适应度在连续若,干代基本没有改进,开始,初始化种群,选择操作,终止条件,否,适应度最有优个体,计算适应度值,交叉操作,变异操作,结束,人工智能搜索技术,第60页,3.4 遗传算法,3.4.3 遗传算法性能,遗传算法求得解是一满意解。影响解质量原因:,种群数量:太小缺乏多样性,太多影响效率,适应度函数:提升优良个体适应度,交叉和变异:不一样问题需

42、结构性能更优交叉和变异操作,交叉概率和变异概率:,人工智能搜索技术,第61页,分析:对该问题即使也能够采取枚举方法来处理,但枚举法却是一个效率很低方法.可利用遗传算法来求解该问题.,解:首先对问题进行初始化,以取得初始种群;,(1)确定适当编码方案:将x编码表示为染色体数字符号串。针对本题自变量x定义域,取值范围为0,31,考虑采取二进制数来对其编码,由2,5,=32,故使用5位无符号二进制数组成染色体数字字符串,用以表示变量,x,及问题解答过程。,例:,设有函数,f(x,)=,x,2,请用遗传算法求其自变量,x,在区间0,31 取整数值时最大值,并说明此函数优化问题。,3.4 遗传算法,人工

43、智能搜索技术,第62页,(2)选择初始种群:经过随机方法来产生染色体数字串,并组成初始种群。比如,为得到数字串某位,又称之为基因(genes),使用计算机在01之间产生随机数K,并按照数K改变区域来要求基因代码以下:,0,,(,0,K,0.5,),1,,(,0.5,K,1,),3.4 遗传算法,G=,人工智能搜索技术,第63页,于是,随机生成,4,个,染色体数字符串为:,01101,11000,01000,10011,从而结构了初始种群,完成了遗传算法准备。,3.4 遗传算法,人工智能搜索技术,第64页,表 初始种群染色体及对应适应值,3.4 遗传算法,染色体标号,串,x,适应值,f,(,x,

44、)=,x,2,占整体百分数,1,01101,169,14.4%,2,11000,576,49.2%,3,01000,64,5.5%,4,10011,361,30.9%,总计(初始种群值),1170,100.0%,人工智能搜索技术,第65页,(3)复制(选择):,选择适应值大串作为母本,使在下一代中有更多机会繁殖其子孙。,要在四个种子个体中做选择,要求依然得到四个染色体,可依据适应度概率百分比制订以下规则:,低于0.125以下染色体被淘汰;,在0.1250.375之间染色体被复制一个;,在0.3750.625之间染色体被复制两个;,在0.6250.875之间染色体被复制三个;,在0.875以上染

45、色体可复制四个。,3.4 遗传算法,人工智能搜索技术,第66页,对应于上例,按照适应度计算,经复制操作后,得到新染色体种群为,01101,11000,11000,10011,3.4 遗传算法,人工智能搜索技术,第67页,某个染色体是否被复制,能够经过概率决议法、适应度百分比法或,“,轮盘赌,”,随机方法来断定。对应轮盘赌转盘随机方法,依据表6.1数据,绘制出轮盘赌转盘,如图所表示:,进化计算,基本,遗传算法原理,49.2,30.9%,14.4%,5.5%,01101,11000,11000,10011,人工智能搜索技术,第68页,3.4 遗传算法,初始种群,x,值 适应度 选择概率 期望值 实

46、际复制数,编号 (随机产生)(无符号整数),f,(,x,)=,x,2,P,c,f,(,x,i,)/,f,A,(或转轮法),1 01101 13 169 0.144 0.58 1,2 11000 24 576 0.492 1.97 2,3 01000 8 64 0.055 0.22 0,4 10011 19 361 0.309 1.23 1,1170 1.00 4.00 4.0,平均(A,),293,0.25 1.00 1.0,MAX,576,0.49 1.97 2.0,初始种群染色体准备复制操作各项计算数据,人工智能搜索技术,第69页,(4),交叉:,交叉详细分两步:将新复制产生,染色体,随机

47、两两匹配,称其为双亲染色体,;再把,双亲染色体,进行交叉繁殖。,交叉实现:设染色体数字串长度为,L,,把,L,个数字位间空隙分别标识为:1,2,,,,L,1,随机从1,,L,1中选取某一整数位置k,0k,L,交换双亲染色体交换点位置k右边部分,就形成了两个新数字符串(也能够只交换其中第k基因),得到了两个新染色体,又称之为下一代染色体。,3.4 遗传算法,人工智能搜索技术,第70页,比如,将上例初始种群两个体,A,1,=01101,A,2,=11000,假定从1到4间选取两个随机数,得到,1,=2,,2,=4,那么经过交叉操作之后将得到以下两组新数字符串,A,1,#,=01000,A,2,#,

48、=11101,3.4 遗传算法,A,3,#,=01100,A,4,#,=11001,前一组数字串是使用,1,=2,即将第2位后35位交换得到;,后一组数字串是使用,2,=4,即仅将第5位,因子,进行交换而得。,人工智能搜索技术,第71页,3.4 遗传算法,编号,复制操作后区配池,匹配号,(,随机选取),交叉空隙位(随机选取),交叉后新种群,新种群,x,值,适应度,f,(,x,)=,x,2,1,01101,2,2,01000,8,64,2,11000,1,2,11101,29,841,3,11000,4,4,11001,25,625,4,10011,3,4,10000,16,256,总计(),1

49、786,平均(A,),446.5,最大值(MAX,),841,复制、交叉操作各项数据,人工智能搜索技术,第72页,(5)变异:,设变异概率取为0.001,则对于种群总共有20个基因位.,期望变异串位数计算:200.001=0.02(位),故普通来说,该例中无基因位数值改变.从表11-2和11-3能够看出,每经过一次复制、交叉和变异操作后,目标函数最优值和平均值就会有所提升。,在上例中,种群平均适应值从293增至446.5;最大适应度数值从576增至841。,特点:每经一次进化计算步骤,问题解答便向着最优方向前进了一步;若该过程一直进行下去,就将最终走向全局最优解.可见进化计算每一步操作简单,而

50、且系统求解过程是依照计算方法与规律来决定,与根源问题本身特征极少相关。,3.4 遗传算法,人工智能搜索技术,第73页,固体退火原理:固体内部粒子伴随温度升高而变为无序,内能增大,而渐渐冷却时粒子渐趋有序,在每个温度都到达平衡态,在常温时到达基态,内能减为最小。,Metropolis准则:,粒子在温度T时趋于平衡概率=,e,-,E,/(,k,T),其中,E为固体在温度T时内能,E为内能改变量,k为波尔兹曼(Boltzmann)常数。,模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复进行“产生新解计算目标函数差接收或舍弃”迭代,并逐步衰减t值,算法终止时当前解为所得近似最优解。退火过程由

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服