人工智能原理第2章搜索技术(下)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能原理第2章搜索技术(下)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 原理 搜索 技术 课件
- 资源描述:
-
1、 2.1 搜索与问题求解2.2 无信息搜索策略2.3 启发式搜索策略2.4 局部搜索算法2.5 约束满足问题2.6 博弈搜索参考书目附录 A*算法可采纳性的证明第2章 搜索技术2.4 局部搜索算法2.4.1 局部搜索与最优化2.4.2 爬山法搜索2.4.3 模拟退火搜索2.4.4 局部剪枝搜索2.4.5 遗传算法第2章 搜索技术4 前面的搜索算法都是保留搜索路径的,到达目标的路径就是问题的解然而许多问题中到达目标的路径是无关紧要的 与系统地搜索状态空间(保留各种路径)相对,不关心路径的搜索算法就是局部搜索算法 局部搜索从一个单独的当前状态出发,通常只移动到相邻状态 典型情况下搜索的路径不保留第
2、2章 搜索技术5 集成电路设计 工厂场地布局 车间作业调度 自动程序设计 电信网络优化 车辆寻径 文件夹管理第2章 搜索技术6 局部搜索算法的优点: 只使用很少的内存(通常是一个常数) 经常能在不适合系统化算法的很大或无限的状态空间中找到合理的解 最优化问题根据一个目标函数找到最佳状态 / 只有目标函数,而不考虑(没有)“目标测试”和“路径耗散” 局部搜索算法适用于最优化问题第2章 搜索技术7第2章 搜索技术山肩目 标 函数全 局 最 大值局 部 最 大值“平坦”局部最大值状 态 空间当 前 状态8 在状态图中,既有“位置”(用状态表示)又有“高度”(用耗散值或目标函数值表示) 如果高度对应于
3、耗散值,则目标是找到全局最小值,即图中最低点 如果高度对应于目标函数,则目标是找到全局最大值,即图中最高峰 如果存在解,则完备的局部搜索算法能够找到解 而最优的局部搜索算法能够找到全局最大或最小值第2章 搜索技术9 本节简要介绍以下4种局部搜索算法 / 介绍其算法思想 爬山法搜索 模拟退火搜索 局部剪枝搜索 遗传算法 从搜索的角度看遗传算法也是搜索假设空间的一种方法(学习问题归结为搜索问题)生成后继假设的方式第2章 搜索技术10 爬山法(hill-climbing)就是向值增加的方向持续移动登高过程 / 如果相邻状态中没有比它更高的值,则算法结束于顶峰 爬山法搜索算法思想:(1)令初始状态S0
4、为当前状态(2)若当前状态已经达标,则算法运行结束,搜索成功(3)若存在一个动作可以作用于当前状态以产生一个新状态,使新状态的估计值优于当前状态的估计值,则放弃当前状态,并令刚产生的新状态为当前状态,转(2)(4)取当前状态为相对最优解,停止执行算法第2章 搜索技术11 爬山法是一种局部贪婪搜索,不是最优解算法(或是不完备的) / 其问题是: 局部极大值比其邻居状态都高的顶峰,但是小于全局最大值(参照状态空间地形图) 山脊一系列的局部极大值 高原评价函数平坦的一块区域(或者山肩)第2章 搜索技术12 爬山法的变形 随机爬山法随机选择下一步 首选爬山法随机选择直到有优于当前节点的下一步 随机重新
5、开始爬山法随机生成初始状态,进行一系列爬山法搜索这时算法是完备的概率接近1第2章 搜索技术13 将爬山法(停留在局部山峰)和随机行走以某种方式结合,以同时获得完备性和效率 模拟退火的思想 想象在不平的表面上如何使一个乒乓球掉到最深的裂缝中如果只让其在表面滚动,则它只会停留在局部极小点 / 如果晃动平面,可以使乒乓球弹出局部极小点 / 技巧是晃动足够大使乒乓球弹出局部极小点,但又不能太大把它从全局极小点中赶出第2章 搜索技术14 思路开始使劲晃动(先高温加热)然后慢慢降低摇晃的强度(逐渐降温)退火过程 算法的核心移动选择 选择随机移动,如果评价值改善,则移动被接受,否则以某个小于1的概率接受 概
6、率按照移动评价值变坏的梯度E而呈指数级下降 / 同时也会随着作为控制的参数“温度”T的降低(数值减小)而降低 接受概率=eE/T(注意此时E 0)第5章 搜索技术15 温度T是时间的函数,按照模拟退火的思想,数值应该逐渐减小(降温) 因为接受概率=eE/T且E n则此约束不能被满足 相应算法删除约束中只有单值值域的变量,将其取值从其余变量值域中删去;对单值变量重复此过程;如果得到空值域或剩下的变量数大于取值数,则产生矛盾 其他约束资源约束/边界约束第2章 搜索技术45 在回溯算法中,当发现不满足约束即搜索失败时,则回到上一个变量并尝试下一个取值称为历时回溯 / 在很多情况下这样做是效率很低的因
7、为问题并不决定于上一个(甚至几个)变量的取值 所以,回溯应该倒退到导致失败的变量集合中的一个变量该集合称为冲突集 变量X的冲突集是通过约束与X相连接的先前已赋值变量的集合第2章 搜索技术46 对于地图染色问题,设有不完全赋值Q=red, NSW=green, V=blue, T=red / 此时,SA赋值将发现不满足任何约束SA的冲突集=Q, NSW, V 对于前向检验算法,可以很容易得到冲突集 基于X赋值的前向检验从变量Y的值域中删除一个值时,说明X和Y存在冲突,则显然X是Y的冲突集中的一个变量 当到达Y时,可知回溯到哪个变量第2章 搜索技术47 回溯检验导致失败的变量的赋值后向跳转:回溯到
8、冲突集中时间最近(最后赋值)的变量 每个被后向跳转剪枝的分支在前向检验算法中也被剪枝简单的后向跳转在前向检验(弧相容性检验)搜索中是多余的 因为都是做取值相容的检测,只要在弧相容检验时增加一个变量集合记录即可第2章 搜索技术48 变量的冲突集更一般的情况前面的变量集合中全部变量(不是其中一个变量)使得当前变量与之冲突 冲突指导的后向跳转处理 令Xj是当前变量,conf(Xj)是其冲突集,如果Xj每个可能取值都失败了,则后向跳转到conf(Xj)中最近的一个变量Xi 令conf(Xi)=conf(Xi)conf(Xj)-Xi 从Xi向前是无解的 / 从Xi回到某个以前的变量赋值(参考p116例子
9、)第2章 搜索技术2.6 博弈搜索2.6.1 极大极小决策2.6.2 -剪枝第2章 搜索技术50 从智能体角度看,博弈是多智能体之间的竞争和对抗 / 在竞争的环境中,每个智能体的目的是冲突的,由此引出对抗搜索问题称为博弈 本节探讨两个问题如何搜索到取胜的路径 / 如何提高搜索效率 相应的方法最优策略(极大极小决策)/-剪枝第2章 搜索技术51 两个游戏者的博弈可以定义为一类搜索问题,其中包括: 初始状态棋盘局面和哪个游戏者出招 后继函数返回(招数,状态)对的一个列表,其中每对表示一个合法招数和相应的结果状态 终止测试判断游戏是否结束 效用函数或称目标函数,对终止状态给出一个数值如输赢和平局(以
10、-1/+1/0表示) 双方的初始状态和合法招数定义了游戏的博弈树此为博弈搜索第2章 搜索技术52第2章 搜索技术XXXXXXXXXX OOXXOX O XX OXX OXX O XXOOX OOX XXXOOXX OXOOXMAX(X)MIN(O)MAX(X)MIN(O)TERMINAL效用-10+153 博弈搜索中,最优解是导致取胜的终止状态的一系列招数 在井字棋搜索树中,因为MAX先行,所以MAX的任务是利用搜索树确定最佳招数 / 但是另一方MIN也有发言权 因此MAX制定取胜策略时必须不断地考虑MIN应对条件下如何取胜即MAX初始状态下应该采取什么招数,然后是MIN应对造成的状态下MAX
11、采取的招数,接着继续考虑下一步应对后的招数.第2章 搜索技术54 假设一个两层的博弈树(因为即使是井字棋的博弈树也太复杂了),其中有MAX节点和MIN节点 博弈树中,每个单方的招数(或称走步)是一层 / 双方各走一招称为一步(博弈树的深度是一步的) 给定一棵博弈树,最优策略可以通过检查每个节点的极大极小值来决定记为MAX-MIN(n),所以也称为极大极小决策第2章 搜索技术55 如果博弈双方都按照最优策略进行,那么一个节点的极大极小值就是对应状态的效用值(对应MAX) 对于某个节点,极大极小函数如下定义 MAX优先选择有极大值的状态 / MIN则选择有极小值的状态第5章 搜索技术节点为当节点为
12、当为终止状态MINn)(minMAXn)(maxn当)()()()(sMINMAXsMINMAXnUtilitynMINMAXnsonsnsons56第2章 搜索技术 3 12 8 2 4 6 14 5 2ABDC3223MAXMINMAX57 图中MAX先行,有3个后继MIN节点,此时MAX的取值必须看MIN如何取值 每个MIN节点亦有3个后继MAX节点,假设其取值已知 因为MIN节点只取其后继节点中之最小者(让MAX效用最小),故B=3/C=2/D=2 MAX节点取A/B/C中最大者,故A=3 最后根节点A的极大极小函数值=3引向具有最高极大极小值的后继第2章 搜索技术58 简单的递归算法
13、按照定义计算每个后继节点的极大极小值 / 搜索是从目标到初始节点的反向推导 算法对博弈树实行了深度优先搜索 如果博弈树的最大深度为m,每个节点的合法招数为b,则 算法的时间复杂度是O(bm) 每次生成全部后继节点的空间复杂度是O(bm) 每次只生成一个后继节点的空间复杂度是O(m)第2章 搜索技术59Function MAX-MIN-DECISION(state) returns an actioninputs: state (current state in game)v MAX-VALUE(state)return the action in SUCCESSORS(state) with
展开阅读全文