人工智能一般搜索原理.pptx
《人工智能一般搜索原理.pptx》由会员分享,可在线阅读,更多相关《人工智能一般搜索原理.pptx(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、搜索技术搜索技术l问题提出问题提出:有了知识表示方法之后,就需要有解决问题的方法,也就是搜索技术。所谓搜索,就是寻找一条从初始问题到问题解的路径l本章内容本章内容:搜索技术有许多种,本章介绍一些早期的、比较简单的搜索原理:1,盲目搜索;2,启发式搜索;3,消解原理;4,通用问题求解技术l关键问题关键问题:如何利用知识,尽可能有效地找到问题的解(最佳解)。第三章第三章 一般搜索原理一般搜索原理 2024/3/111一般搜索原理一般搜索原理l搜索策略可分为三大类搜索策略可分为三大类不可撤回方式、回朔方式、图搜索方式l不可撤回方式不可撤回方式:每一次搜索时,利用局部知识根据最优评价,选出下一状态,选
2、定后不能撤回,只能继续l回朔方式回朔方式:在搜索过程中,有时会发现所选的路径不适合找到目标,这时允许退回去另选一条路径。l图搜索方式:图搜索方式:如果把问题求解过程用图来表示。节点代表问题的状态,弧代表状态变化的方向,则搜索就变成对图进行从初始节点开始,到目标节点路径的搜索。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/112回溯搜索策略回溯搜索策略l例:皇后问题第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/113()皇后问题搜索过程(一)皇后问题搜索过程(一)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲
3、目搜索2024/3/114Q()(1,1)皇后问题搜索过程(二)皇后问题搜索过程(二)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/115QQ()(1,1)(1,1)(2,3)皇后问题搜索过程(三)皇后问题搜索过程(三)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/116Q()(1,1)(1,1)(2,3)皇后问题搜索过程(四)皇后问题搜索过程(四)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/117QQ()(1,1)(1,1)(2,3)(1,1)(2,4)皇后问题搜索过程(五)皇后问题
4、搜索过程(五)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/118QQQ()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(六)皇后问题搜索过程(六)2024/3/119QQ()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(七)皇后问题搜索过程(七)2024/3/1110Q()(1,1)(1,1)(2,3)(1,1)(2,4
5、)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(八)皇后问题搜索过程(八)2024/3/1111()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(九)皇后问题搜索过程(九)2024/3/1112Q()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)(1,2)第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索皇后问题搜索过程(十)皇后问题搜索过程(十)2024
6、/3/1113QQ()(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盲目搜索盲目搜索皇后问题搜索过程(十一)皇后问题搜索过程(十一)2024/3/1114QQQ()(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盲目搜索盲目搜索皇后问题搜索过程(十二)皇后问题搜索过程(十二)2024/3/1115QQQQ()(1,1)(1,1)(2,3)
7、(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盲目搜索盲目搜索皇后问题搜索过程(十三)皇后问题搜索过程(十三)2024/3/1116递归的思想递归的思想从前有座山 从前有座山 从前有座山第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1117一个递归的例子一个递归的例子int ListLenght(LIST*pList)if(pList=NULL)return 0;else return ListLengt
8、h(pList-next)+1;第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1118回溯搜索算法说明回溯搜索算法说明BACKTRACK(DATA)DATA:当前状态。返回值:从当前状态到目标状态的路径(以规则表的形式表示)或FAIL。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1119回溯搜索算法(一)回溯搜索算法(一)递归过程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:取可应用规则集2024/3/1120回溯搜索算法(二)回溯搜索算法(二)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:获取解路径规则表2024/3/1121存在问题及解决办法存在问题及解决办法l问题:深度问题:如果深度太深死循环问题:如果状态出现重复l解决办法:对搜索深度加以限制记录从初始状态到当前状态的路径第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1122增加约束后的回溯搜索算法增加约束后的回溯搜索算法BACKTRACK1(DATALIST)DATALIST:从初始到当前的状态表(逆向)返回值:从当前状态到目标状态的路径(以规则表的形式表示)或FAIL。第三章第三章 一般搜索原理一般搜索原理 3.13
11、.1盲目搜索盲目搜索2024/3/1123增加约束后的回溯搜索算法增加约束后的回溯搜索算法(一一)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盲目搜索盲目搜索2024/3/1124增加约束后的回溯搜索算法增加约束后的回溯搜索算法(二二)6,RULES:=APPRULES
12、(DATA);7,LOOP:IF NULL(RULES)RETURN FAIL;8,R:=FIRST(RULES);9,RULES:=TAIL(RULES);第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1125增加约束后的回溯搜索算法增加约束后的回溯搜索算法(三三)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盲目搜索盲目搜索2024/3/1126一些深入的问题一些深入的问题l失败原因分析、多步回溯QQ第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1127一些深入问题(续)一些深入问题(续)l回溯搜索中知识的利用基本思想:尽可能选取划去对角线上位置数最少的。QQQQ4 3 3 4第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1128模式导向搜索模式导向搜索l这个算法是将递归搜索应用到谓词演算的通用搜索算法l要判断一个谓词表达式是某个断言集合的逻辑结论l首先谓词表达式作为目标,使用合一来选择能与其后件匹配的蕴
14、涵式l并把得到的置换运用于该蕴涵式的前件l这个前件成了新的目标称其为子目标l应用递归搜索解这个子目标l如果与事实相匹配,则搜索结实 第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1129模式导向搜索算法描述一模式导向搜索算法描述一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 cur
15、rent_goal 与事实合一return SUCCESS 第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1130模式导向搜索算法描述二模式导向搜索算法描述二 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 SUCCE
16、SS end end return FAIL end第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1131图搜索策略图搜索策略l图搜索策略就是在图中寻找从起始点到目标点的路径的方法l图搜索的一般过程是构造搜索图的过程。令搜索图开始时只有起始点S0,然后逐步扩展节点,直到将目标点扩展到搜索图里为止。扩展的过程就是搜索的过程l扩展节点的方法不同,就意味着搜索的方法不同,也就是搜索的路径不同。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1132图搜索策略图示图搜索策略图示S0Sg第三章第三章 一般搜索原理一般搜索原理 3.13
17、.1盲目搜索盲目搜索2024/3/1133节点扩展节点扩展l扩展一个节点生成出该节点的所有后继节点,并给出它们之间的代价值。这一过程称为“扩展一个节点”。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1134路径路径l路径设一节点序列为(n0,n1,nk),对于i=1k,若节点ni-1具有一个后继节点ni,则该序列称为从n0到nk的路径。l路径的代价值一条路径的代价值等于连接这条路径各节点间所有代价值的总和。用C(ni,nj)表示从ni到nj的路径的代价值。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1135节点深度节点
18、深度l节点深度:根节点深度=0其它节点深度=父节点深度+10123第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1136图搜索的一般过程图搜索的一般过程第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索成功是把第一个节点(n)从OPEN表移至CLOSED表把n的后继节点放入OPEN表的末端,提供返回节点n的指针修改指针方向把S放入OPEN表重排OPEN表是否否OPEN为空?n为目标节点?失败开始2024/3/1137图搜索过程说明图搜索过程说明l我们在搜索过程中用到了OPEN表和CLOSED表两个数据结构lOPEN表中的节点都是搜索树的端节
19、点,即至今尚未被选作为扩展的节点lCLOSED表中的节点或者是已被扩展而不能生成后继节点的那些端节点,或者是搜索树的非端节点l重排OPEN表,实际上就是在选择搜索顺序,也就是扩展的节点的顺序。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1138节点类型说明节点类型说明.mj.mk.ml第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索扩展的节点OPEN表没有的部分扩展的节点在已在close表中的部分扩展的节点已在OPEN表中的部分选定的扩展节点2024/3/1139第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索图搜索
20、过程的图示(一)图搜索过程的图示(一)现要扩展它2024/3/1140第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索图搜索过程的图示(二)图搜索过程的图示(二)修改父子关系现要扩展它2024/3/1141第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索图搜索过程的图示(三)图搜索过程的图示(三)修改父子关系修改父子关系2024/3/1142盲目搜索概述盲目搜索概述l盲目搜索也叫无信息搜索l盲目搜索实际上是对解空间的遍历l盲目搜索包括有:宽度优先搜索宽度优先搜索:搜索以接近起始节点的程度依次扩展节点,在对下一层搜索前,必须搜索完本层的所有节点。深度优先搜
21、索深度优先搜索:搜索首先扩展最新产生的节点。等代价搜索等代价搜索:搜索沿最小代价节点进行扩展。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1143宽度优先搜索宽度优先搜索成功是把第一个节点(n)从OPEN表移至CLOSED表把n的后继节点放入OPEN表的末端,提供返回节点n的指针把S放入OPEN表是否否OPEN为空?是否有任何后继节点为目标节点?失败开始第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1144目标2 31 8 47 6 5 2 31 8 47 6 52 8 31 47 6 52 31 8 47 6 52 8
22、 31 47 6 52 8 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盲目搜索盲目搜索八数码难题的宽度优先搜索树八数码难题的宽度优先搜索树按上下左右序走步2024/3/1145宽度优先搜索的性质宽度优先搜索的性质l当问题有解时,一定能找到解l当问题为单位
23、代价值,且问题有解时,一定能找到最优解l方法与问题无关,具有通用性l效率较低l属于图搜索方法第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1146第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索深度优先搜索深度优先搜索成功是把第一个节点(n)从OPEN表移至CLOSED表把n的后继节点放入OPEN表的前端,提供返回节点n的指针把S放入OPEN表是否否OPEN为空?节点n的深度是否等于深度界限?失败开始是否有任何后继节点为目标节点?是否S是否为目标节点?否成功2024/3/11472 31 8 47 6 5 2 31 8 47 6 52 8
24、 31 47 6 52 31 8 47 6 52 8 31 47 6 52 8 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 5123456789abcd1 2 3 8 47 6 5目标。第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索八数码难题的深度优先搜索树八数码难题的深度优先搜索树2024/3/1148深度优先搜索的性质深度优先搜索的性质l一般不能保证找到
25、最优解l当深度限制不合理时,可能找不到解,可以将算法改为可变深度限制l最坏情况时,搜索空间等同于穷举l是一个通用的与问题无关的方法第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索2024/3/1149第三章第三章 一般搜索原理一般搜索原理 3.13.1盲目搜索盲目搜索等代价搜索等代价搜索成功是把具有最小g(i)值的节点i从OPEN表移至CLOSED表计算其后继节点j的g(j)值。把其后继节点放入OPEN表把S放入OPEN表否否OPEN为空?失败开始 i是否为目标节点?是S是否为目标节点?否成功是令g(s)=02024/3/1150什么是启发式搜索什么是启发式搜索l盲目搜索的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 一般 搜索 原理
限制150内