人工智能一般搜索原理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能一般搜索原理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 一般 搜索 原理 课件
- 资源描述:
-
1、12023-2-1搜索技术搜索技术l 问题提出问题提出:有了知识表示方法之后,就需要有解决问题的方法,也就是搜索技术。所谓搜索,就是寻找一条从初始问题到问题解的路径l 本章内容本章内容:搜索技术有许多种,本章介绍一些早期的、比较简单的搜索原理:1,盲目搜索;2,启发式搜索;3,消解原理;4,通用问题求解技术l 关键问题关键问题:如何利用知识,尽可能有效地找到问题的解(最佳解)。第三章第三章 一般搜索原理一般搜索原理 22023-2-1一般搜索原理一般搜索原理l 搜索策略可分为三大类搜索策略可分为三大类不可撤回方式、回朔方式、图搜索方式l 不可撤回方式不可撤回方式:每一次搜索时,利用局部知识根据
2、最优评价,选出下一状态,选定后不能撤回,只能继续l 回朔方式回朔方式:在搜索过程中,有时会发现所选的路径不适合找到目标,这时允许退回去另选一条路径。l 图搜索方式:图搜索方式:如果把问题求解过程用图来表示。节点代表问题的状态,弧代表状态变化的方向,则搜索就变成对图进行从初始节点开始,到目标节点路径的搜索。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索32023-2-1回溯搜索策略回溯搜索策略l例:皇后问题QQQQ第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索42023-2-1()皇后问题搜索过程(一)皇后问题搜索过程(一)第三章第三章 一般搜索原理一
3、般搜索原理 3.13.1盲目搜索盲目搜索52023-2-1Q()(1,1)皇后问题搜索过程(二)皇后问题搜索过程(二)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索62023-2-1QQ()(1,1)(1,1)(2,3)皇后问题搜索过程(三)皇后问题搜索过程(三)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索72023-2-1Q()(1,1)(1,1)(2,3)皇后问题搜索过程(四)皇后问题搜索过程(四)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索82023-2-1QQ()(1,1)(1,1)(2,3)(1,1)(2,4)皇后
4、问题搜索过程(五)皇后问题搜索过程(五)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索92023-2-1QQQ()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(六)皇后问题搜索过程(六)102023-2-1QQ()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(七)皇后问题搜索过程(七)112023-2-1Q()(1,1)(1,1)(2,
5、3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(八)皇后问题搜索过程(八)122023-2-1()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(九)皇后问题搜索过程(九)132023-2-1Q()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)(1,2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(十)皇后问题搜索
6、过程(十)142023-2-1QQ()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)(1,2)(1,2)(2,4)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(十一)皇后问题搜索过程(十一)152023-2-1QQQ()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)(1,2)(1,2)(2,4)(1,2)(2,4)(3,1)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(十二)皇后问题搜索过程(十二)162023-2-1QQQQ()(1,1)(1,1
7、)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)(1,2)(1,2)(2,4)(1,2)(2,4)(3,1)(1,2)(2,4)(3,1)(4,3)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(十三)皇后问题搜索过程(十三)172023-2-1递归的思想递归的思想从前有座山 从前有座山 从前有座山第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索182023-2-1一个递归的例子一个递归的例子int ListLenght(LIST*pList)if(pList=NULL)return 0;else return ListL
8、ength(pList-next)+1;第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索192023-2-1回溯搜索算法说明回溯搜索算法说明BACKTRACK(DATA)DATA:当前状态。返回值:从当前状态到目标状态的路径(以规则表的形式表示)或FAIL。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索202023-2-1回溯搜索算法(一)回溯搜索算法(一)递归过程BACKTRACK(DATA)1,IF TERM(DATA)RETURN NIL;2,IF DEADEND(DATA)RETURN FAIL;3,RULES:=APPRULES(DATA);
9、第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索TERM:找目标DEADEND:状态不合法,无法继续搜索APPRULES:取可应用规则集212023-2-1回溯搜索算法(二)回溯搜索算法(二)4,LOOP:IF NULL(RULES)RETURN FAIL;5,R:=FIRST(RULES);6,RULES:=TAIL(RULES);7,RDATA:=GEN(R,DATA);8,PATH:=BACKTRACK(RDATA);9,IF PATH=FAIL GO LOOP;10,RETURN CONS(R,PATH);第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索
10、盲目搜索TAIL:删除头条规则GEN:调用规则作用于当前状态CONS:获取解路径规则表222023-2-1存在问题及解决办法存在问题及解决办法l问题:深度问题:如果深度太深死循环问题:如果状态出现重复l解决办法:对搜索深度加以限制记录从初始状态到当前状态的路径第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索232023-2-1增加约束后的回溯搜索算法增加约束后的回溯搜索算法BACKTRACK1(DATALIST)DATALIST:从初始到当前的状态表(逆向)返回值:从当前状态到目标状态的路径(以规则表的形式表示)或FAIL。第三章第三章 一般搜索原理一般搜索原理 3.13.
11、1盲目搜索盲目搜索242023-2-1增加约束后的回溯搜索算法增加约束后的回溯搜索算法(一一)1,DATA:=FIRST(DATALIST)2,IF MENBER(DATA,TAIL(DATALIST)RETURN FAIL;3,IF TERM(DATA)RETURN NIL;4,IF DEADEND(DATA)RETURN FAIL;5,IF LENGTH(DATALIST)BOUND RETURN FAIL;第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索252023-2-1增加约束后的回溯搜索算法增加约束后的回溯搜索算法(二二)6,RULES:=APPRULES(DA
12、TA);7,LOOP:IF NULL(RULES)RETURN FAIL;8,R:=FIRST(RULES);9,RULES:=TAIL(RULES);第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索262023-2-1增加约束后的回溯搜索算法增加约束后的回溯搜索算法(三三)10,RDATA:=GEN(R,DATA);11,RDATALIST:=CONS(RDATA,DATALIST);12,PATH:=BACKTRCK1(RDATALIST)13,IF PATH=FAIL GO LOOP;14,RETURN CONS(R,PATH);第三章第三章 一般搜索原理一般搜索原理
13、 3.13.1盲目搜索盲目搜索272023-2-1一些深入的问题一些深入的问题l失败原因分析、多步回溯QQ第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索282023-2-1一些深入问题(续)一些深入问题(续)l回溯搜索中知识的利用基本思想:尽可能选取划去对角线上位置数最少的。QQQQ4 3 3 4第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索292023-2-1模式导向搜索模式导向搜索l 这个算法是将递归搜索应用到谓词演算的通用搜索算法l 要判断一个谓词表达式是某个断言集合的逻辑结论l 首先谓词表达式作为目标,使用合一来选择能与其后件匹配的蕴涵式l
14、并把得到的置换运用于该蕴涵式的前件l 这个前件成了新的目标称其为子目标l 应用递归搜索解这个子目标l 如果与事实相匹配,则搜索结实第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索302023-2-1模式导向搜索算法描述一模式导向搜索算法描述一Function pattern_search(current_goal)begin if current_goal is in closed then return FAIL else put current_goal into closed while every rule and facts do begin case curre
15、nt_goal 与事实合一return SUCCESS 第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索312023-2-1模式导向搜索算法描述二模式导向搜索算法描述二 current_goal 是合取式 beginfor every合取项item do ret=pattern_search(item)if ret=FAIL then return FAIL end current_goal 与规则的后件合一 begin 对前件q应用对应的合一置换 ret=pattern_search(q)if ret=FAIL then return FAIL else SUCCESS
16、end end return FAIL end第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索322023-2-1图搜索策略图搜索策略l图搜索策略就是在图中寻找从起始点到目标点的路径的方法l图搜索的一般过程是构造搜索图的过程。令搜索图开始时只有起始点S0,然后逐步扩展节点,直到将目标点扩展到搜索图里为止。扩展的过程就是搜索的过程l扩展节点的方法不同,就意味着搜索的方法不同,也就是搜索的路径不同。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索332023-2-1图搜索策略图示图搜索策略图示S0Sg第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜
17、索盲目搜索342023-2-1节点扩展节点扩展l扩展一个节点生成出该节点的所有后继节点,并给出它们之间的代价值。这一过程称为“扩展一个节点”。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索352023-2-1路径路径l路径设一节点序列为(n0,n1,nk),对于i=1k,若节点ni-1具有一个后继节点ni,则该序列称为从n0到nk的路径。l路径的代价值一条路径的代价值等于连接这条路径各节点间所有代价值的总和。用C(ni,nj)表示从ni到nj的路径的代价值。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索362023-2-1节点深度节点深度l节点深度:
18、根节点深度=0其它节点深度=父节点深度+10123第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索372023-2-1图搜索的一般过程图搜索的一般过程第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索成功是把第一个节点(n)从OPEN表移至CLOSED表把n的后继节点放入OPEN表的末端,提供返回节点n的指针修改指针方向把S放入OPEN表重排OPEN表是否否OPEN为空?n为目标节点?失败开始382023-2-1图搜索过程说明图搜索过程说明l 我们在搜索过程中用到了OPEN表和CLOSED表两个数据结构l OPEN表中的节点都是搜索树的端节点,即至今尚未被
19、选作为扩展的节点l CLOSED表中的节点或者是已被扩展而不能生成后继节点的那些端节点,或者是搜索树的非端节点l 重排OPEN表,实际上就是在选择搜索顺序,也就是扩展的节点的顺序。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索392023-2-1节点类型说明节点类型说明.mj.mk.ml第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索扩展的节点OPEN表没有的部分扩展的节点在已在close表中的部分扩展的节点已在OPEN表中的部分选定的扩展节点402023-2-1第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索图搜索过程的图示(一)
20、图搜索过程的图示(一)现要扩展它412023-2-1第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索图搜索过程的图示(二)图搜索过程的图示(二)修改父子关系现要扩展它422023-2-1第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索图搜索过程的图示(三)图搜索过程的图示(三)修改父子关系修改父子关系432023-2-1盲目搜索概述盲目搜索概述l盲目搜索也叫无信息搜索l盲目搜索实际上是对解空间的遍历l盲目搜索包括有:宽度优先搜索宽度优先搜索:搜索以接近起始节点的程度依次扩展节点,在对下一层搜索前,必须搜索完本层的所有节点。深度优先搜索深度优先搜索:搜索首
21、先扩展最新产生的节点。等代价搜索等代价搜索:搜索沿最小代价节点进行扩展。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索442023-2-1宽度优先搜索宽度优先搜索成功是把第一个节点(n)从OPEN表移至CLOSED表把n的后继节点放入OPEN表的末端,提供返回节点n的指针把S放入OPEN表是否否OPEN为空?是否有任何后继节点为目标节点?失败开始第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索452023-2-1目标2 31 8 47 6 5 2 31 8 47 6 52 8 31 47 6 52 31 8 47 6 52 8 31 47 6 52 8
22、 31 6 47 52 8 3 1 47 6 52 8 31 6 47 52 8 31 6 4 7 52 8 37 1 4 6 5 8 32 1 47 6 52 81 4 37 6 52 8 31 4 57 6 1 2 37 8 4 6 51 2 38 47 6 51256731 2 3 8 47 6 582 3 41 8 7 6 54第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索八数码难题的宽度优先搜索树八数码难题的宽度优先搜索树按上下左右序走步462023-2-1宽度优先搜索的性质宽度优先搜索的性质l当问题有解时,一定能找到解l当问题为单位代价值,且问题有解时,一定能
展开阅读全文