人工智能原理搜索技术上优秀PPT.ppt
《人工智能原理搜索技术上优秀PPT.ppt》由会员分享,可在线阅读,更多相关《人工智能原理搜索技术上优秀PPT.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能原理人工智能原理第第2章章 搜寻技术搜寻技术(上)(上)1本章内容2.1 搜寻与问题求解2.2 无信息搜寻策略2.3 启发式搜寻策略2.4 局部搜寻算法2.5 约束满足问题2.6 博弈搜寻参考书目附录 A*算法可接受性的证明第2章 搜寻技术22.1 搜寻与问题求解2.1.1 问题与问题的解2.1.2 问题实例2.1.3 搜寻策略第2章 搜寻技术3搜寻与问题求解搜寻与问题求解问题求解过程是搜寻答案(目标)的过程/所以问题求解技术也叫搜寻技术通过对状态空间的搜寻而求解问题的技术问题求解智能体是一种基于目标的智能体在找寻到达目标的过程中,当智能风光对多个未知的选项时,首先检验各个不同的导致已
2、知评价的状态的可能行动序列,然后选择最佳序列这个过程就是搜寻第2章 搜寻技术42.1.1 2.1.1 问题与问题的解问题与问题的解问题可以形式化地定义为4个组成部分智能体的初始状态(即搜寻的起先)后继函数智能体实行的可能行动的描述,通常为/初始状态和后继函数隐含地定义了问题的状态空间/状态空间中的一条路径是通过行动序列连接起来的一个状态序列目标测试检查给定的状态是不是目标路径耗散函数每条路径都有一个数值化的耗散值,反映了性能度量/求解问题的代价第2章 搜寻技术5问题的解问题的解问题的解就是初始状态到目标状态的路径解的优劣由路径耗散函数量度(代价)最优解就是路径耗散函数值最小的路径上述解题过程把
3、解决一个问题的过程描述出来,称之为解题学问的过程性表示过程性学问与陈述性学问相对搜寻过程解题的特点没有干脆的方法(公式)可以求解,而是一步一步的探究第2章 搜寻技术6状态空间状态空间数据基:代表了所要解决的问题,有初始状态,可能有目标状态也可能没有状态空间:在解题过程中的每一时刻,数据基都处于确定的状态,数据基全部可能状态的集合称为状态空间有向图:若把每个状态看成一个节点,则整个状态空间是一个有向图/该图不确定全连通,即从某些状态不确定能到达另外一些状态第2章 搜寻技术7问题的可解性问题的可解性可解的:在每个连通部分,每个弧代表一个运算符,将状态变更/假如从代表初始状态的节点动身,有一条路径通
4、向目标状态,则称此目标状态所代表的问题在当前初始状态下是可解的搜寻空间:在解题过程中达到过的全部状态的集合,称为搜寻空间不同于状态空间,搜寻空间只是其中一部分状态空间和搜寻空间都属于过程性学问表示第2章 搜寻技术82.1.2 2.1.2 问题实例问题实例玩具问题八数码游戏(九宫图)河内塔八皇后问题真空吸尘器世界现实问题旅行商问题超大规模集成电路的布局自动装配排序/蛋白质设计互联网搜寻第2章 搜寻技术9八数码游戏八数码游戏八数码游戏:1-8数字(棋子)/9个方格(棋盘格)/1个空格可用如下形式的规则来表示数字通过空格进行移动:共24条规则=4角*2+4边*3+1中间*4搜寻依次举例:(1)优先移
5、动行数小的棋子(数字)(2)同一行中优先移动列数大的棋子约束规则:不使离开既定位置的数字数增加第2章 搜寻技术10八数码游戏的搜寻树八数码游戏的搜寻树第2章 搜寻技术既定位置=终态11八数码问题形式化八数码问题形式化初始状态初始状态向量规定向量中各重量对应的位置,各位置上的初始数字后继函数移动规则依据某条规则移动数字,将得到的新向量目标测试新向量是否是目标状态(也是向量形式)路径耗散函数每次移动代价为1第2章 搜寻技术12河内塔河内塔(1)(1)河内塔问题:n个大小不等的圆盘从一个柱子移到另一个柱子,共有3个柱子(n阶河内塔问题)约束:从第1根柱子移动到第3根柱子上去,利用第2根柱子/每次移动
6、1个盘子,且移动过程必需是小盘落大盘描述:设每个状态为(a1,a2,a3,an),ai=1,2,3表示第i个盘子在第1/2/3根柱子上第2章 搜寻技术13河内塔河内塔(2)(2)递归定义:(a1,a2,a3,an)为n阶河内塔的状态集合,则(a1,a2,a3,an,1),(a1,a2,a3,an,2),(a1,a2,a3,an,3)是n+1阶河内塔的状态集合1阶河内塔有3个状态,2阶河内塔有9个状态,n阶河内塔有3n个状态,给出1/2/3阶河内塔的状态图第2章 搜寻技术14河内塔问题图解河内塔问题图解第2章 搜寻技术15河内塔问题形式化河内塔问题形式化初始状态初始状态向量规定向量中各重量对应全
7、部n个盘子,位置上数字代表3个柱子之一后继函数移动规则依据约束条件给出的各状态的后继状态目标测试新向量是否是目标状态(也是向量形式)路径耗散函数每移动一个盘子的代价为1第2章 搜寻技术16河内塔问题求解河内塔问题求解求最短路径问题:状态图中从三角形1个顶点走到另一个顶点结论:(1)假如初始状态或目标状态在三角形顶点上,则最短路径唯一;(2)对于随意2个状态,最短求解路径至多为2条。(中国某高校探讨生证明)求解过程对状态空间的搜寻以2阶河内塔为例第2章 搜寻技术17河内塔问题的搜寻树河内塔问题的搜寻树第2章 搜寻技术1,12,13,11,12,31,13,23,32,12,2 3,12,21,3
8、2,13,32,33,31,21,12,21,23,13,3 2,23,21,31,118求解过程求解过程树搜寻树搜寻求解问题的过程运用搜寻树形式每个状态对应搜寻树中一个节点根节点对应于初始状态每次从搜寻树的上层节点动身,依据约束条件进入下一个可能的状态,即绽开新的一层树节点节点扩展节点绽开的依次即代表了不同的搜寻策略当绽开的节点为目标状态时,就找到了问题的一个解第2章 搜寻技术192.1.3 2.1.3 搜寻策略搜寻策略探讨搜寻过程考虑的若干问题(1)有限搜寻还是无限搜寻(2)已知目标还是未知目标(3)目标或目标+路径(4)有约束还是无约束(5)数据驱动(向前搜寻)还是目标驱动(6)单向搜寻
9、还是双向搜寻第2章 搜寻技术20搜寻的分类搜寻的分类搜寻过程的分类:状态空间搜寻(图搜寻方式),问题空间搜寻(层次方法),博弈空间搜寻无信息搜寻与启发式搜寻启发式:利用中间信息改进限制策略启发式:(1)任何有助于找到问题的解,但不能保证找到解的方法是启发式方法(2)有助于加速求解过程和找到较优解的方法是启发式方法启发式也叫启发函数第2章 搜寻技术21搜寻算法的性能搜寻算法的性能4种途径来评价搜寻算法的性能完备性当问题有解时,算法是否保证找到一个解最优性算法是否能找到一个最优解(路径耗散函数值最小的路径)时间困难性找到一个解须要花费多少时间空间困难性在搜寻过程中须要占用多少内存第2章 搜寻技术2
10、2性能量度性能量度时空困难性的量度由状态空间图的大小来衡量/相关度量如下:分支因子 b(每次绽开的平均节点个数)目标节点的深度 d路径的最大长度 m搜寻深度限制 l搜寻耗散第2章 搜寻技术232.2 无信息搜寻策略2.2.1 广度优先搜寻2.2.2 深度优先搜寻和深度有限搜寻2.2.3 叠代深化深度优先搜寻2.2.4 无信息搜寻策略性能比较2.2.5 图搜寻算法第2章 搜寻技术24盲目搜寻策略盲目搜寻策略无信息搜寻也称盲目搜寻:没有任何附加信息,只有生成后继和区分目标与非目标状态有5种盲目搜寻策略广度优先搜寻代价一样搜寻深度优先搜寻深度有限搜寻迭代深化深度优先搜寻第2章 搜寻技术252.2.1
11、 2.2.1 广度优先搜寻广度优先搜寻广度优先搜寻过程:首先扩展根节点接着扩展根节点的全部后继节点然后再扩展后继节点的后继,依此类推在下一层任何节点扩展之前搜寻树上的本层深度的全部节点都已经被扩展广度优先搜寻可以调用树搜寻算法(Tree-Search)实现其参数fringe(边缘/扩展分支)为先进先出队列FIFO第2章 搜寻技术26树搜寻算法树搜寻算法(1)(1)function Tree-Search(problem,fringe)return solution/failure(initial fringe=empty,mode=FIFO)fringeInsert(Make-Node(Ini
12、tial-Stateproblem),fringe)do while(1)if fringe=Empty then return failurenodeRemove-First(fringe)if Statenode=Goal then return Solution(node)fringeInsert-All(Expend(node,problem),fringe)第2章 搜寻技术27树搜寻算法树搜寻算法(2)(2)关键在于如何扩展节点function Expend(node,problem)return set of nodessuccessorsthe empty setfor each
13、 in Successor-Findproblem(Statenode)dosnew Node/StatesresultParent-Nodes=node/Actions=actionPath-Costs=Path-Costnode+Step-Costnode,action,sDepthsDepthnode+1add s to successorsreturn successors第2章 搜寻技术28广度优先搜寻的性能广度优先搜寻的性能在上述算法中,广度优先搜寻以Tree-Search(problem,FIFO-Queue)调用树搜寻算法从4种度量来评价广度优先搜寻:完备性总能找到一个解假如每
14、步扩展的耗散相同时,广度优先搜寻能找到最优解内存消耗是比执行时间消耗更大的问题指数级的时间消耗(空间和时间消耗的例子参见p60图3.11)第2章 搜寻技术292.2.2 2.2.2 深度优先搜寻和深度有限搜寻深度优先搜寻和深度有限搜寻深度优先搜寻过程:总是扩展搜寻树的当前扩展分支(边缘)中最深的节点搜寻干脆伸展到搜寻树的最深层,直到那里的节点没有后继节点那些没有后继节点的节点扩展完毕就从边缘中去掉然后搜寻算法回退下一个还有未扩展后继节点的上层节点接着扩展搜寻算法参见深度有限搜寻算法(l=)第2章 搜寻技术30深度优先搜寻的性能深度优先搜寻的性能深度优先搜寻通过后进先出队列LIFO(栈)调用Tr
15、ee-Search实现/通常运用递归函数实现,依次对当前节点的子节点调用该函数性能:内存需求少如分支因子=b/最大深度=m的状态空间深度优先搜寻只须要存储bm+1个节点(比较广度优先O(bd+1)不是完备的/不是最优的最坏状况下时间困难性也很高O(bm)第2章 搜寻技术31深度有限搜寻深度有限搜寻深度优先搜寻的无边界问题可以通过供应一个预先设定的深度限制l来解决深度=l的节点当作无后继节点看待虽然解决了无限路径问题,但假如ll则深度优先搜寻也不是最优的时间困难度O(bl)空间困难度O(bl)深度优先搜寻可看作是一种特例即l=第2章 搜寻技术32非递归的深度有限搜寻算法非递归的深度有限搜寻算法f
16、unction Depth-Limited-Search(problem,fringe,limit)return solution/failure/cutofffringeInsert(Make-Node(Initial-Stateproblem),fringe)(mode=LIFO)do while(1)if fringe=Empty then return failurenodeRemove-First(fringe)if Statenode=Goal then return Solution(node)else if Depthnode=limit then return cutoffe
17、lse fringeInsert-All(Expend(node,problem),fringe)第2章 搜寻技术33搜寻步数的限制搜寻步数的限制上面算法中可能有两类失败cutoff表示到达了有限深度而无解failure表示一般的返回值无解有时深度有限搜寻基于问题本身的学问,如状态空间的直径即问题求解的最大步数但对于大多数问题,不到问题解决时是无法知道求解步数的限制第2章 搜寻技术342.2.3 2.2.3 叠代深化深度优先搜寻叠代深化深度优先搜寻假如每次变更限制深度,多次调用深度有限搜寻算法,就得到了叠代深化深度优先搜寻算法其深度限制依次为0/1/2这样,当搜寻到达最浅的目标节点深度时就可以
18、发觉目标节点这种搜寻结合了广度优先和深度优先两种算法的优点(算法见p63)分支因子有限时是完备的/路径耗散是节点深度的非递增函数时是最优的空间需求为O(bd)/时间困难性为O(bd)第2章 搜寻技术35状态的生成状态的生成叠代深化搜寻中因为多次重复搜寻,因此部分状态被多次生成,看起来很奢侈但是因为在分支因子比较平衡的搜寻树中,多数节点都在最底层(即叶子节点),所以上层节点的多次生成影响不是很大/与广度优先搜寻相比,效率还是更高一般来讲,当搜寻空间很大而解的深度未知时,叠代深化搜寻是一个首选的无信息搜寻方法第2章 搜寻技术362.2.4 2.2.4 无信息搜寻策略比较无信息搜寻策略比较第2章 搜
19、寻技术评价标准广度优先 代价一致 深度优先 深度有限 叠代深入 双向搜索是否完备时间空间是否最优 是 A 是 A/B 否 否 是 A 是 A/D O(bd+1)O(bC/e)O(bm)O(bl)O(bd)O(bd/2)O(bd+1)O(bC/e)O(bm)O(bl)O(bd)O(bd/2)是 C 是 否 否 是 C 是 C/D 关于A/B/C/D的说明:A假如b有限则是完备的/B单步耗散e则是完备的/C假如单步耗散都是相同的则是最优的/D两个方向上都运用广度优先搜寻372.2.5 2.2.5 图搜寻算法图搜寻算法已经看到搜寻过程中会出现重复的状态扩展,应当避开/假如算法不检测重复状态的话,有可
20、能使一个原来可解的问题变为不行解检测就是把要扩展的节点与已扩展的节点进行比较,把遇到的相同状态去掉所以要记录已经扩展的节点引入两个表存储已扩展的节点closed表和未扩展的节点open表(即前述fringe)新算法称为图搜寻算法第2章 搜寻技术38图搜寻算法图搜寻算法第2章 搜寻技术function Graph-Search(problem,fringe)return solution or failureclosedempty setfringeInsert(Make-Node(Initial-Stateproblem),fringe)do while(1)if fringe=Empty t
21、hen return failurenodeRemove-First(fringe)if Statenode=Goal then return Solution(node)if Statenode!CLOSED then add Statenode to closed fringeInsert-All(Expend(node,problem),fringe)39图搜寻算法的性能图搜寻算法的性能由树到图:存在不同分支节点的合并图搜寻算法与树搜寻算法比较:只是增加了对绽开节点的推断,因此由不同的待扩展节点排列方式而形成的搜寻策略(如广度优先和深度优先)的性能照旧同树搜寻算法对于含很多重复状态的问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 原理 搜索 技术上 优秀 PPT
限制150内