搜索-基于状态空间的搜索.ppt
《搜索-基于状态空间的搜索.ppt》由会员分享,可在线阅读,更多相关《搜索-基于状态空间的搜索.ppt(86页珍藏版)》请在三一办公上搜索。
1、,第 二章,用以搜索状态空间的结构与策略,用以搜索状态空间的结构与策略,第二章-2,内容,2.0 简介 2.1 图论 2.2 问题状态空间的表示 2.3 状态空间搜索的方向 2.4 一般图搜索 2.5 常见的盲目式搜索技术,用以搜索状态空间的结构与策略,第二章-3,2.0 简介,什么是问题?,?,用以搜索状态空间的结构与策略,第二章-4,2.0 简介,问题(现代认知心理学):在给定信息和目标状态之间有某些障碍需要加以克服的情境。给定:有关问题条件的描述,即问题的起始状态;目标:有关构成问题结论的描述,即问题的目标状态;障碍:无法直接到达目标,必须通过一定的思维活动才 能找到答案,达到目标状态。
2、问题解决(信息加工观点):就是搜索问题空间,寻找一条从起始状态通向目标状态的通路,或使用算子使起始状态逐步过渡到目标状态。按解决问题所需的领域特有知识的多寡,问题求解系统可 以划分为两大类:知识贫乏系统:依靠搜索技术去解决问题。知识丰富系统:依靠推理的识别技术解决问题。,用以搜索状态空间的结构与策略,第二章-5,2.0 简介,搜索人工智能所研究的对象大多是属于结构不良或非结构化的问题。对于这些问题,一般很难获得其全部信息,更没有现成的算法可供求解使用。只能依靠经验,利用已有知识逐步摸索求解。根据问题的实际情况,不断寻找可利用知识,从而构造一条代价最小的推理路线,使问题得以解决的过程搜索。对那些
3、结构性能较好,理论上有算法可依的问题,如果问题或算法的复杂性较高(如按指数形式增长),由于受计算机在时间和空间上的限制,也无法付诸实用。组合爆炸问题。,用以搜索状态空间的结构与策略,第二章-6,2.0 简介,搜索的分类根据搜索过程是否使用启发式信息盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得的中间信息并不改变控制策略。由于搜索总是按预先规定的路线进行,没有考虑到问题本身的特性,因此这种搜索具有盲目性。启发式搜索:搜索过程中加入与问题有关的启发性信息,用于指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。根据问题的表示方式状态空间搜索:基于问题到状态空间表示求解问题所进 行
4、的搜索。与或树搜索:基于问题的与或树表示利用问题归约 法来求解问题时所进行的搜索。,第六章,用以搜索状态空间的结构与策略,第二章-7,内容,2.0 简介 2.1 图论 2.2 问题状态空间的表示 2.3 状态空间搜索的方向 2.4 一般图搜索 2.5 常见的盲目式搜索技术,用以搜索状态空间的结构与策略,第二章-8,2.1 图论,例1:从某王姓家族的四代中找王A的后代且其寿命为X的人王A:寿命47,有儿子王B1、王B3、王B2王B1:寿命77,有儿子王C1、王C2王B3:寿命52,有儿子王D1王B2:寿命65,有儿子王E1、王E2王F1:寿命32王G1:寿命96王C2:寿命87,有儿子王F1王D
5、1:寿命77,没有儿子王E1:寿命57,有儿子王G1王E2:寿命92,有儿子王H1 王C1:寿命27,没有儿子王H1:寿命51,用以搜索状态空间的结构与策略,第二章-9,2.1 图论,例1:从某王姓家族的四代中找王A的后代且其寿命为X的人,用以搜索状态空间的结构与策略,第二章-10,2.1 图论,例2:哥尼斯堡七桥问题(瑞士数学家-欧拉),用以搜索状态空间的结构与策略,第二章-11,2.1 图论,图节点和连接这些节点的弧的集合。,带标签的有向图,用以搜索状态空间的结构与策略,第二章-12,2.1 图论,有根图具有一个唯一节点(根),从这个节点到图中所有节点都存在一条路径。,用以搜索状态空间的结
6、构与策略,第二章-13,2.1 图论,树两个节点之间最多有一条路径的图。,用以搜索状态空间的结构与策略,第二章-14,内容,2.0 简介 2.1 图论 2.2 问题状态空间的表示 2.3 状态空间搜索的方向 2.4 一般图搜索 2.5 常见的盲目式搜索技术,用以搜索状态空间的结构与策略,第二章-15,2.2 问题状态空间的表示,状态空间表示法用来表示问题及其搜索过程的一种形式化方法。状态操作状态空间 什么是状态?状态(State)是表示问题求解过程中每一步问题状况的数据结构:SkSk0,Sk1,对每一个分量给予确定的值时,得到一个具体的状态。任何一种类型的数据结构都可以用来描述状态,只要它有利
7、于问题求解,就可以选用。,用以搜索状态空间的结构与策略,第二章-16,2.2 问题状态空间的表示,什么是操作?操作(Operator)算符当对一个问题状态使用某个可用操作时,它将引起该状态中某些分量值的变化,从而使问题从一个具体状态变为另一个具体状态。操作可以是一个机械步骤、一个运算、一条规则或一个过程。操作可理解为状态集合上的一个函数,它描述了状态之间的关系。,用以搜索状态空间的结构与策略,第二章-17,2.2 问题状态空间的表示,什么是状态空间?状态空间(State space)用来描述一个问题的全部状态以及这些状态之间的相互关系。状态空间常用一个三元组表示:(S,F,G)S:为问题的所有
8、初始状态的集合;F:为操作的集合;G:为目标状态的集合。,问题求解过程实际上是一个搜索过程,用以搜索状态空间的结构与策略,第二章-18,2.2 问题状态空间的表示,【例2.1】二阶Hanoi问题设有三根钢针,它们的编号分别是1号、2号和3号;在初始情况下,l号钢针上穿有A、B两个金片;A比B小,A位于B的上面;要求把这两个金片全部移到另一根钢针上,而且规定每次只能移动一个金片,任何时刻都不能使大片位于小片的上面。如何将A、B两个金片移到2号或三号钢针上面?,用以搜索状态空间的结构与策略,第二章-19,2.2 问题状态空间的表示,解:状态:Sk=Sk0,Sk1 Sk0表示金片A所在的钢针号;Sk
9、1表示金片B所在的钢针号。全部可能的问题状态共有以下9种:S0=(1,l)S1=(1,2)S2=(1,3)S3=(2,1)S4=(2,2)S5=(2,3)S6=(3,1)S7=(3,2)S8=(3,3),目标:GS4,S8,用以搜索状态空间的结构与策略,第二章-20,2.2 问题状态空间的表示,操作A(i,j)表示把金片A从第i号钢针移到j号钢针上;B(i,j)表示把金片B从第i号钢针移到j号钢针上;所有的操作共有12种:,A(1,3)A(3,1)A(2,1)A(1,2)A(3,2)A(2,3)B(1,3)B(3,1)B(2,1)B(1,2)B(3,2)B(2,3),用以搜索状态空间的结构与策
10、略,第二章-21,2.2 问题状态空间的表示,状态空间9种状态、12种操作,得到二阶梵塔问题的状态空间图,用以搜索状态空间的结构与策略,第二章-22,2.2 问题状态空间的表示,用以搜索状态空间的结构与策略,第二章-23,2.2 问题状态空间的表示,【例2.2】猴子摘香蕉问题。,用以搜索状态空间的结构与策略,第二章-24,2.2 问题状态空间的表示,解:状态:用4元组(w,x,y,z)来表示。w:表示猴子的水平位置,a,b,c;x:表示箱子的水平位置,a,b,c;y:表示猴子是否在箱子上,0,1;z:表示猴子是否拿到香蕉,0,1;初始和目标状态为:S0:(a,b,0,0)初始状态 S3:(c,
11、c,l,1)目标状态,用以搜索状态空间的结构与策略,第二章-25,2.2 问题状态空间的表示,操作Goto(u)猴子走到位置u,即(w,x,0,0)(u,x,0,0)Pushbox(v)猴子推着箱子到水平位置v,即(x,x,0,0)(v,v,0,0)Climbbox猴子爬上箱子,即(x,x,0,0)(x,x,1,0)Grasp猴子拿到香蕉,即(c,c,1,0)(c,c,1,1),用以搜索状态空间的结构与策略,第二章-26,2.2 问题状态空间的表示,状态空间图,用以搜索状态空间的结构与策略,第二章-27,2.2 问题状态空间的表示,【例2.3】8格拼图游戏,用以搜索状态空间的结构与策略,第二章
12、-28,2.2 问题状态空间的表示,【例2.4】巡回推销员问题(货郎担问题TSP),巡回推销员问题的一个实例,用以搜索状态空间的结构与策略,第二章-29,2.2 问题状态空间的表示,用以搜索状态空间的结构与策略,第二章-30,2.2 问题状态空间的表示,控制搜索复杂度的策略启发信息:比如“去访问最近的未访问过城市”来构建路径。,最近邻启发式搜索,用以搜索状态空间的结构与策略,第二章-31,2.2 问题状态空间的表示,思考题农夫带狼、山羊、菜过河问题船太小,农夫每次只能带一样过河;如果没有农夫看管,则狼要吃羊,羊要吃菜。设计一个过河方案,使得农夫、狼、山羊、菜都能不受损失地过河。画出相应的状态空
13、间图,用以搜索状态空间的结构与策略,第二章-32,Sample crossings for the farmer,wolf,goat,and cabbage problem.,用以搜索状态空间的结构与策略,第二章-33,Portion of the state space graph of the farmer,wolf,goat,and cabbage problem,including unsafe states.,用以搜索状态空间的结构与策略,第二章-34,内容,2.0 简介 2.1 图论 2.2 问题状态空间的表示 2.3 状态空间搜索的方向 2.4 一般图搜索 2.5 常见的盲目式搜
14、索技术,用以搜索状态空间的结构与策略,第二章-35,2.3 状态空间搜索的方向,数据驱动搜索(data-driven search)正向追索(forward chaining)问题求解程序从问题的给定事实和改变状态的合法移动和规则的集合入手。然后把规则应用到事实产生新的事实,接下来新的事实又被规则用来产生更多新的事实,搜索如此进行下去,直到产生满足目标条件的一条路径。目标驱动搜索(goal-driven search)反向追索(backward chaining)从求解的目标着手。先分析怎样使用合法的移动来产生这个目标,并求出要应用这些移动必须具备的条件。这些条件成为要搜索的新目标(子目标)。
15、然后继续反向追溯相继的子目标,直至返回到问题中的事实。这样便找到了从问题到目标的移动会规则链。,用以搜索状态空间的结构与策略,第二章-36,2.3 状态空间搜索的方向,使用哪种搜索策略取决于问题本身的结构。,目标导向的搜索有效地裁减了无关的搜索路径,用以搜索状态空间的结构与策略,第二章-37,2.3 状态空间搜索的方向,数据导向的搜索把无关的数据和它们的结论裁减,然后从很多可能的目标中确定一个目标,使用哪种搜索策略取决于问题本身的结构。,用以搜索状态空间的结构与策略,第二章-38,内容,2.0 简介 2.1 图论 2.2 问题状态空间的表示 2.3 状态空间搜索的方向 2.4 一般图搜索 2.
16、5 常见的盲目式搜索技术,用以搜索状态空间的结构与策略,第二章-39,一般图搜索的实现,图搜索问题(Question)问题求解程序能否被赋予可靠的机制(不犯任何错误)穿越状态空间达到预期的目标状态,并建立解路径?问题求解程序必须穿越空间的不同路径直到找到目标。回溯:系统试验地穿越状态空间的所有路径的一种技术。回溯搜索:从起始状态出发沿一条路径前进要么达到目标,要么到达一个“死端”。如果发现目标,退出搜索并返回解路径;如果到达一个死端,那么便回溯到路径上含有未分析过兄弟的最近节点,并沿这个分支继续下去。,用以搜索状态空间的结构与策略,第二章-40,一般图搜索的实现,用以搜索状态空间的结构与策略,
17、第二章-41,一般图搜索的实现,对假想状态空间的回溯搜索,用以搜索状态空间的结构与策略,第二章-42,一般图搜索的实现,回溯搜索算法SL:状态列表,列出当前正在试验路径的状态。如果发现目标,那么SL便包含了解路径上状态的有序列表。NSL:新状态列表,含有等待评估的节点,也就是其后代还没有被产生和搜索的节点。DE:用来记录死端,列出已经发现其后代不包含目标的状态。如果再次遇到这些状态,它们会被检测为是DE中的元素并立即不再考虑。注意:在定义可用于一般情况(图而不是树)的回溯算法时,必须探测任何状态的多次出现以便不会再次进入这种状态而导致“死”循环。(如何实现?),用以搜索状态空间的结构与策略,第
18、二章-43,用以搜索状态空间的结构与策略,第二章-45,思考题,动态跟踪回溯算法。从状态A开始。记录NSL、SL、CS等的逐项值。,用以搜索状态空间的结构与策略,第二章-46,一般图搜索的过程,状态空间搜索的基本思想:,用以搜索状态空间的结构与策略,第二章-47,一般图搜索的过程,状态空间搜索的基本思想:先把问题的初始状态作为当前扩展节点对其进行 扩展,生成一组子节点;检查问题的目标状态是否出现在这些子节点中。若出现,则搜索成功,找到了该问题的解;若没出现,则再按照某种搜索策略从已生成的子 节点中选择一个节点作为当前扩展节点。重复上述过程,直到目标状态出现在子节点中或 者没有可供扩展的节点为止
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 搜索 基于 状态 空间
链接地址:https://www.31ppt.com/p-6364262.html