人工智能导论_第1章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能导论_第1章重点讲义

第一章 搜索问题 内容: 状态空间的搜索问题。 搜索方式: 盲目搜索 启发式搜索 关键问题: 如何利用知识,尽可能有效地找到问题的解(最佳解)。 搜索问题(续1) 搜索问题(续2) 讨论的问题: 有哪些常用的搜索算法。 问题有解时能否找到解。 找到的解是最佳的吗? 什么情况下可以找到最佳解? 求解的效率如何。 1.1 回溯策略 例:皇后问题 回溯搜索算法 OPEN表 CLOSED表 OPEN表用于存放刚生成的节点,CLOSED表用于存放将要扩展或者已经扩展的节点。 一般回溯搜索算法 1. 把初始节点S0放入OPEN表,并建立目前只包含S0的图,记为G; 2. 检查OPEN表是否为空,若为空则问题无解,退出; 3. 把OPEN表的第一个节点取出放入CLOSED表,并记该节点为节点n; 4. 考察节点n是否为目标节点,若是,则求得了问题的解,退出; 5. 扩展节点n,生成一组子节点。把其中不是节点n先辈的那些子节点记作集合M,并把这些子节点作为节点n的子节点加入G中; 6. 针对M中子节点的不同情况,分别进行如下处理: 一般回溯搜索算法(续) 6.1 对于那些未曾在G中出现过的M成员设置一个指向父节点(即节点n)的指针,并把它们放入OPEN表。 6.2 对于那些先前已经在G中出现过的M成员,确定是否需要修改它指向父节点的指针。 6.3 对于那些先前已经在G中出现并且已经扩展了的M成员,确定是否需要修改其后继节点指向父节点的指针。 7. 按某种搜索策略对OPEN表中的节点进行排序。 8. 转第2步。 存在问题及解决办法 解决办法: 对搜索深度加以限制 记录从初始状态到当前状态的路径 一些深入的问题 失败原因分析、多步回溯 一些深入问题(续) 回溯搜索中知识的利用 基本思想(以皇后问题为例): 尽可能选取划去对角线上位置数最少的。 1.2 图搜索策略 问题的引出 回溯搜索:只保留从初始状态到当前状态的一条路径。 图搜索:保留所有已经搜索过的路径。 一些基本概念 节点深度: 根节点深度=0 其它节点深度=父节点深度+1 一些基本概念(续1) 路径 设一节点序列为(n0, n1,…,nk),对于i=1,…,k,若节点ni-1具有一个后继节点ni,则该序列称为从n0到nk的路径。 路径的耗散值 一条路径的耗散值等于连接这条路径各节点间所有耗散值的总和。用C(ni, nj)表示从ni到nj的路径的耗散值。 一些基本概念(续1) 扩展一个节点 生成出该节点的所有后继节点,并给出它们之间的耗散值。这一过程称为“扩展一个节点”。 1.3 无信息图搜索过程 深度优先搜索 宽度优先搜索 深度优先搜索 1, 把初始节点S0放入OPEN表; 2, 如果OPEN表为空,则问题无解,退出; 3, 把OPEN表的第一个节点(记为节点n)取出放入CLOSED表; 4, 考察节点n是否为目标节点,若是,则求得了问题的解,退出; 5, 若节点n不可扩展,则转第2步; 6, 扩展节点n,将其子节点放入到OPEN表的首部,并为其配置指向父节点的指针,然后转第2步; 有界深度优先搜索 1, 把初始节点S0放入OPEN表中,置S0的深度d(S0)=0; 2, 如果OPEN表为空,则问题无解,退出; 3, 把OPEN表的第一个节点(记为节点n)取出放入CLOSED表; 4, 考察节点n是否为目标节点,若是,则求得了问题的解,退出; 5, 如果节点n的深度d(节点n)=dm,则转第2步; 6, 若节点n不可扩展,则转第2步; 7, 扩展节点n,将其子节点放入到OPEN表的首部,并为其配置指向父节点的指针,然后转第2步; 代价树(图) 在上面的讨论中,都没有考虑搜索的代价问题,当时假设图中各边的代价都相同,且都为一个单位量。 边上标有代价(或费用)的树(图)称为代价树(图)。 在代价树中,若用g(x)表示从初始节点S0到节点x的代价,用c(x1,x2)表示从父节点x1到节点x2的代价,则有: g(x2)=g(x1) + c(x1,x2) 代价树的深度优先搜索 1, 把初始节点S0放入OPEN表; 2, 如果OPEN表为空,则问题无解,退出; 3, 把OPEN表的第一个节点(记为节点n)取出放入CLOSED表; 4, 考察节点n是否为目标节点,若是,则求得了问题的解,退出; 5, 若节点n不可扩展,则转第2步; 6, 扩展节点n,将其子节点按边代价从小到大的顺序放到OPEN表的首部,并为各子节点配置指向父节点的指针,然后转第2步; 重排九宫问题 2 8 3 1 4 7 6 5 深度优先搜索的性质 一般不能保证找到最优解 当深度

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档