人工智能课件-搜索技术

上传人:san****glu 文档编号:49471404 上传时间:2018-07-28 格式:PPT 页数:113 大小:831.50KB
返回 下载 相关 举报
人工智能课件-搜索技术_第1页
第1页 / 共113页
人工智能课件-搜索技术_第2页
第2页 / 共113页
人工智能课件-搜索技术_第3页
第3页 / 共113页
人工智能课件-搜索技术_第4页
第4页 / 共113页
人工智能课件-搜索技术_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《人工智能课件-搜索技术》由会员分享,可在线阅读,更多相关《人工智能课件-搜索技术(113页珍藏版)》请在金锄头文库上搜索。

1、Searching: 1搜索策略Searching: 2搜索是人工智能中的一个基本问题,并与推理密切相关,搜索策略的优劣,将直接影响到智能系统的性能与推理效率。 Searching: 3主要内容 状态空间的表示 搜索的基本概念 状态空间的搜索状态空间的一般搜索过程 盲目搜索 启发式搜索Searching: 4概述p 问题求解 AI中每个研究领域都有其各自的特点和规律,但就求解问题的过程看, 都可抽象为一个问题求解过程. 问题求解过程实际上是一个搜索,广义地说,它包含了全部计算机科学 p 1974年,Nilsson归纳出的AI研究的基本问题 知识的模型化和表示 常识性推理、演绎和问题解决 启发式

2、搜索 人工智能系统和语言 p 本章讨论的表示主要包括: 状态空间表示 问题空间表示Searching: 5搜索的基本概念 搜索的含义 状态空间法Searching: 6 适用情况:不良结构或非结构化问题;难以获得求解所需的全部信息; 更没有现成的算法可供求解使用。概念:依靠经验,利用已有知识,根据问题的实际情况,不断寻找 可利用知识,从而构造一条代价最小的推理路线,使问题得 以解决的过程称为搜索Searching: 7搜索的类型按是否使用启发式信息: 盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得 的中间信息并不改变控制策略。 启发式搜索:在搜索中加入了与问题有关的启发性信息,用 于指导

3、搜索朝着最有希望的方向前进,加速问题的求解过程 并找到最优解。 按问题的表示方式: 状态空间搜索:用状态空间法来求解问题所进行的搜索 与或树搜索:用问题归约法来求解问题时所进行的搜索 Searching: 8p 什么是搜索 根据问题的实际情况不断寻找可利用的知识,构造出一条代价较少的 推理路线,使问题得到圆满解决的过程称为搜索包括两个方面:- 找到从初始事实到问题最终答案的一条推理路径- 找到的这条路径在时间和空间上复杂度最小 p搜索分两大类: 盲目搜索:也称为无信息搜索,即只按预定的控制策略进 行搜索,在搜索过程中获得的中间信息不用来改进控制策 略 启发式搜索: 在搜索中加入了与问题有关的启

4、发性信息, 用于指导搜索朝着最有希望的方向进行,加速问题的求解 过程并找到最优解Searching: 9状态空间法 状态(State):是表示问题求解过程中每一步问题状况的数据结构,它可 形式地表示为:Sk=Sk0, Sk1, 当对每一个分量都给以确定的值时,就得到了一个具体 的状态。 操作(Operator)也称为算符,它是把问题从一种状态变换为另一种状态的 手段。操作可以是一个机械步骤,一个运算,一条规则或一 个过程。操作可理解为状态集合上的一个函数,它描述了状 态之间的关系。Searching: 10状态空间(State space)用来描述一个问题的全部状态以及这些状态之间的相互 关系

5、。常用一个三元组表示为:(S, F, G)其中,S为问题的所有初始状态的集合;F为操作的集合;G 为目标状态的集合。状态空间也可用一个赋值的有向图来表示,该有向图称为 状态空间图。在状态空间图中,节点表示问题的状态,有向 边表示操作。Searching: 11状态空间表示法状态空间表示法是用来表示问题及其搜索过程的一种方法q 状态 状态是描述问题求解过程中任一时刻状况的数据结构.23751486A,B,C,D(2, 3,7 ,0 , 5, 2, 4, 8, 6 )Searching: 12状态空间表示法p 一般一个搜索问题由四个部分组成: 初始状态集合:定义了agent所处的环境; 操作符集合

6、:把一个问题从一个状态变换为另一个状 态的动作; 目标检测函数:agent用来确定一个状态是不是目标; 路径费用函数:对每条路径赋予一定费用的函数。p 初始状态集合和操作符集合定义了问题的搜索空间Searching: 13状态空间法求解问题的基本过程:首先为问题选择适当的“状态”及“操作”的形式化描述方法; 然后从某个初始状态出发,每次使用一个“操作”,递增地建 立起操作序列,直到达到目标状态为止;此时,由初始状态到目标状态所使用的算符序列就是该问 题的一个解。 Searching: 14八数码问题states 数字的位置 ,共有9!/2=181440 actions 空格的上下左右移动 go

7、al test 给定的目标状态 path cost 每一步消耗为1Searching: 15二阶梵塔问题二阶梵塔问题。设有三根钢针,它们的编号分别是1号、2号 和3号。在初始情况下,1号钢针上穿有A、B两个金片,A 比B小,A位于B的上面。要求把这两个金片全部移到另一 根钢针上,而且规定每次只能移动一个金片,任何时刻都不 能使大的位于小的上面。Searching: 16 解:设用Sk=(Sk0, Sk1)表示问题的状态,其中,Sk0表示 金片A所在的钢针号,Sk1表示金片B所在的钢针号。全部 可能的问题状态共有以下9种: S0=(1, 1) S1=(1, 2) S2=(1, 3) S3=(2,

8、 1) S4=(2, 2) S5=(2, 3) S6=(3, 1) S7=(3, 2) S8=(3, 3) Searching: 17ABABAB1 2 3 1 2 3 1 2 3二阶梵塔问题的初始状态和目标状态问题的初始状态集合为S=S0目标状态集合为G=S4, S5 初始状态S0和目标状态S4、S8如图所示 S0=(1, 1)S4=(2, 2)S8=(3, 3)Searching: 18操作分别用A(i, j)和B(i, j)表示A(i, j)表示把金片A从第i号钢针移到j号钢针上;B(i, j)表示把金片B从第i号钢针一到第j号钢针上。共有 12种操作,它们分别是:A(1, 2) A(1

9、, 3) A(2, 1) A(2, 3) A(3, 1) A(3, 2) B(1, 2) B(1, 3) B(2, 1) B(2, 3) B(3, 1) B(3, 2) 根据上述9种可能的状态和12种操作,可构成二阶梵塔 问题的状态空间图,如下图所示。Searching: 19(3,3) (1,3) (1,2) (2,2)二阶梵塔的状态空间图从初始节点(1, 1)到目标节点(2, 2)及(3, 3)的任何一条路径都是问题的一 个解。其中,最短的路径长度是3,它由3个操作组成。例如,从 (1, 1)开始 ,通过使用操作A(1, 3)、B(1, 2)及A(3, 2),可到达 (3, 3)。A(1,

10、2 )B(1,3 )A(2,3 )(1,1)(3,1)(3,2)(2,1 )(2,3)A(1,3 )B(1,2 )A(3,2 )Searching: 20例 修道士(Missionaries)和野人(Cannibals)问题(简称M-C问 题)设在河的一岸有三个野人、三个修道士和一条船,修道士想用这条船把所有的人运到河对岸,但受以下条件的约束:一是修道士和野人都会划船,但每次船上至多可载两个人;二是在河的任一岸,如果野人数目超过修道士数,修道士会 被野人吃掉。如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过河,且没有修道士被野人吃掉的安全过河计划。 Searching: 21解

11、:首先选取描述问题状态的方法。在这个问题中,需要考虑两岸的修道 士人数和野人数,还需要考虑船在左岸还是在右岸。从而可用一个三元组来 表示状态S=(m, c, b)其中,m表示左岸的修道士人数,c表示左岸的野人数,b表示左岸的船数 。右岸的状态可由下式确定:右岸修道士数 m=3-m右岸野人数 c=3-c右岸船数 b=1-b在这种表示方式下,m和c都可取0、1、2、3中之一,b可取0和1 中之一。因此,共有442=32种状态。 Searching: 22这32种状态并非全有意义,除去不合法状态和修道士被野人吃掉的状态,有意义的状态只有16种:S0=(3, 3, 1) S1=(3, 2, 1) S2

12、=(3, 1, 1) S3=(2, 2, 1)S4=(1, 1, 1) S5=(0, 3, 1) S6=(0, 2, 1) S7=(0, 1, 1) S8=(3, 2, 0) S9=(3, 1, 0) S10=(3, 0, 0) S11=(2, 2, 0)S12=(1, 1,0) S13=(0, 2, 0) S14=(0, 1, 0) S15=(0, 0, 0)Searching: 23操作是指用船把修道士或野人从河的左岸运到右岸,或从河的右岸运到左岸。每个操作都应当满足如下条件:一是船至少有一个人(m或c)操作,离开岸边的m和c的减少数目应该等于到达岸边的m和c的增加数目;二是每次操作船上人

13、数不得超过2个;三是操作应保证不产生非法状态。Searching: 24操作的表示: 用符号Pij表示从左岸到右岸的运人操作用符号Qij表示从右岸到左岸的操作其中:i表示船上的修道士人数 j表示船上的野人数操作集本问题有10种操作可供选择:F=P01, P10, P11, P02, P20,Q01, Q10, Q11, Q02, Q20Searching: 25至此,该问题的状态空间(S,F,G)构造完成,这就完成了对问题的状态空间表示。为了求解该问题,根据该状态空间的16种可能达到的合法状态和10种算符,构造状态转换图。Searching: 26 用状态空间表示,首先必须定义状态的描述形式,

14、把问题的 一切状态都表示出来,其次定义算符,完成状态的转换 问题的求解过程就是一个把算符不断地作用于状态的过程 .如果在使用某个算符后得到的状态就是目标状态,就得到 了问题的解.这个解就是从初始状态到目标状态所用算符 构成的序列.Searching: 27 算符的一次使用,就使问题由一种状态转变为另一种状态.可 能有多个算符序列都可使问题从初始状态变到目标状态,这 就得到了多个解. 对任何一个状态,可使用的算符可能不止一个,这样由一个状 态所生成的后继状态可能有多个.如何选择下一步的操作,由 搜索策略决定.Searching: 28搜索策略 搜索的基本概念 状态空间的盲目搜索状态空间的盲目搜索

15、 状态空间的启发式搜索Searching: 29状态空间的盲目搜索一般图搜索过程广度优先和深度优先搜索代价树搜索Searching: 30状态空间搜索的基本思想先把问题的初始状态作为当前扩展节点对其进行扩展, 生成一组子节点,然后检查问题的目标状态是否出现在这些 子节点中。若出现,则搜索成功,找到了问题的解;若没出现,则 再按照某种搜索策略从已生成的子节点中选择一个节点作为 当前扩展节点。重复上述过程,直到目标状态出现在子节点中或者没 有可供操作的节点为止。所谓对一个节点进行“扩展”是指对 该节点用某个可用操作进行作用,生成该节点的一组子节点 。 Searching: 31算法的数据结构和符号约定Open表:用于存放刚生成的节点Closed表:用于存放已经扩展或将要扩展的节点S0:用表示问题的初始状态G:表示搜索过程所得到的搜索图M:表示当前扩展节点新生成的且不为自己先辈的子节点集 。Searching: 32如何度量问题求解的性能一般搜索策略可以通过下面四个准则来评价: 完备性:如果存在一个解答,该策略是否保证能够找 到? 时间复杂

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号