3.1搜索的基本概念
3.1.1搜索的含义
(1)概念
搜索就是要寻找一个操作序列,使问题从初始状态转换到目标状态。这个操作序列就是目标的解。换言之,就是根据问题的实际情况,按照一定的策略或规则,从知识库中寻找可利用的知识,从而构造一条使问题获得解决的推理路线的过程
(2)类型
①按是否使用启发式信息:盲目搜索、启发式搜索;
②按问题的表示方式:状态空间搜索、与或树搜索
3.1.2状态空间法
(1)概念
基于解空间的问题表示和求解方法就是状态空间法。状态空间搜索的研究焦点在于设计高效的搜索算法,以降低搜索代价并解决组合爆炸问题
(2)状态空间及其搜索的表示
①状态
是表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为:
𝑆 𝑘={ 𝑆 𝑘0,𝑆 𝑘1, …}
当对每一个分量都给以确定的值时,就得到了一个具体的状态
②操作(算符)
是把问题从一种状态变换为另一种状态的手段。操作可以是一个机械步骤,一个运算,一条规则或一个过程。操作可理解为状态集合上的一个函数,它描述了状态之间的关系
③状态空间
用来描述一个问题的全部状态以及这些状态之间的相互关系
常用一个三元组表示为:(S, F, G)
其中,S为问题的所有初始状态的集合;F为操作的集合;G为目标状态的集合
例:
3.1.3问题归约法
(1)概念
是另一种对问题进行描述及求解的办法。其基本思想是:对问题进行分解和变换,将此问题最终变为一个子问题的集合,通过求解子问题达到求解原问题的目的
由下面3个部分组成:
①一个初始问题的描述
②一套把问题变成子问题的操作符
③一套本原问题的描述
(2)与或树的相关概念
①节点与弧线
父节点:是一个初始问题或是可分解为子问题的问题节点
子节点:是一个初始问题或是子问题分解的子问题节点
或节点:只要解决某个问题就可解决其父问题的节点集合
与节点:只有解决所有子问题,才能解决其父问题的节点集合
端节点:没有子节点的节点
终止节点:本原问题所对应的节点。由此可见,终止节点一定是端节点,而端节点却不一定是终止节点
弧线:是父辈节点指向子节点的圆弧连线
②或树、与树、与/或树和解树