欢迎来到天天文库
浏览记录
ID:50059210
大小:1.64 MB
页数:91页
时间:2020-03-08
《人工智能原理及应用 教学课件 作者 罗 兵 第5章 搜索策略.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、人工智能原理及应用第5章搜索策略二零一二年元月AI&itsApplications搜索策略搜索策略是人工智能的最基本的技术之一,跟推理方法是密不可分的。对问题进行求解的过程实际上就是一个搜索过程,所以搜索策略实际上是问题求解的一种方法。在利用搜索策略进行问题求解时,主要涉及到两个方面问题:(1)必须将需要求解的问题用一种合适的方法表示出来。(2)要针对被求解问题的特征,选择一种比较合适的策略来进行搜索。第5章主要内容5.1搜索概述5.2状态空间的盲目搜索策略5.3状态空间的启发式搜索策略5.4与/或树的盲目搜索策略5.5与/或树的启发式搜索策略5.6博弈树的启发式搜索5.1搜
2、索概述5.1.1搜索的概念及类型5.1.2状态空间的搜索5.1.3与/或树的搜索5.1搜索概述5.1.1搜索的概念及类型1.搜索的概念依据问题的实际情况,按照一定的规则或策略,从知识库中寻找有用的知识,构造出一条求解问题的推理路线的过程,就称为搜索。搜索包含两个方面的含义:一是要找到从初始状态到问题的目标状态的一条推理路线;二是要求找到的这条路线在时间和空间的复杂度最小。5.1搜索概述5.1.1搜索的概念及类型2.搜索的类型根据在搜索过程中是否使用启发式信息,可以把搜索的类型分为盲目搜索和启发式搜索。盲目搜索,又称为无信息搜索。它是指在搜索过程中,只按原来规定的搜索控制策略进
3、行搜索,而没有加入任何中间信息来改变这些控制策略。启发式搜索,又称有信息搜索。它是指在搜索过程中,根据问题本身的特性或一些在搜索过程中产生的信息来不断地修改或调整搜索的方向,使搜索向着最有利的方向前进,加快问题求解的速度,并找到最优解。5.1搜索概述5.1.1搜索的概念及类型2.搜索的类型根据问题的表示方式,可以把搜索的类型分为状态空间的搜索和与/或树的搜索。状态空间的搜索,是指利用状态空间表示法来求解问题所进行的搜索。与/或树的搜索,是指利用问题归约表示法来求解问题所进行的搜索。5.1搜索概述5.1.2状态空间的搜索状态空间的搜索是人工智能中最基本的求解问题方法之一,它所采
4、用状态空间表示法来表示要求解的问题。状态空间搜索的基本思想是利用“状态”和“操作”来表示和求解问题。5.1搜索概述5.1.2状态空间的搜索1.状态空间表示法状态(State)是在问题求解过程中用于描述问题在任一时刻的状况的一种数据结构。操作(Operator)也称为算符,它是把问题从一种状态转换成另一种状态的方法。状态空间(StateSpace)是指用来描述一个问题的所有状态和所有可用操作所构成的集合。5.1搜索概述5.1.2状态空间的搜索2.状态空间问题求解凡是以状态和操作为基础求解问题的方法,都可以称为状态空间问题求解方法,简称状态空间法。使用状态空间法求解问题的基本过程
5、是:首先,为问题选择一种合适的“状态”及“操作”的形式化描述方法;然后,从某个初始状态开始,每次选择一种可用的“操作”,逐步建立起操作序列,直到到达目标状态为止;这样,从初始状态到目标状态所使用的操作序列就形成该问题的一个解。5.1搜索概述5.1.2状态空间的例子【例5-1】修道士(Missionaries)和野人(Cannibals)问题(简称MC问题)。假设在河的左岸有3个修道士、3个野人和一条船。修道士想用这条船把全部野人运到河的对岸,但有下面的约束条件:(1)修道士和野人都会划船,但船上每次最多只能坐两个人;(2)在河的任何一边,只要野人的数目多于修道士数目,修道士就
6、会被野人吃掉。假设野人会服从所有过河的安排。请设计一个能够确保修道士和野人都能过河,且修道士不会被野人吃掉的安全过河计划。5.1搜索概述5.1.2状态空间的例子【解】(1)首先要选择问题状态的描述方法。可用一个三元组来表示问题的状态。式中,m表示左岸的修道士人数;c表示左岸的野人数;b表示左岸的船数。排除了不合法的状态和修道士被野人吃掉的状态,还剩下16种状态:5.1搜索概述5.1.2状态空间的例子【解】(2)考虑可用的操作。用符号表示从左岸到右岸的运人操作,用符号表示从右岸到左岸的运人操作。其中,i表示船上的修道士人数,j表示船上的野人数。问题共有10种可用的操作,其操作集
7、为:5.1搜索概述5.1.2状态空间的例子【解】(3)16种可能的状态和10种操作,可以构成MC问题的状态空间图。5.1搜索概述5.1.3状态空间的例子从上面的例子可以看出:使用状态空间表示法表示问题时,首先必须定义状态的描述形式,并使用这种描述形式把问题的状态全部表示出来。其次还要定义一组操作,通过使用这些操作可以把问题从一种状态变为另一种状态。问题的求解过程实际上是一个不断用操作作用于状态的过程。一次操作可使问题由一种状态转变为另一种状态。对于任何一种状态,可以使用的操作可能不止一个。对一种状态使用
此文档下载收益归作者所有