第三章 知识的状态空间表示法
人工智能练习题答案

⼈⼯智能练习题答案1、什么是⼈⼯智能?⼈⼯智能有哪些研究领域?何时创建该学科,创始⼈是谁?(1)AI(Artificial Intelligence)是利⽤计算机技术、传感器技术、⾃动控制技术、仿⽣技术、电⼦技术以及其他技术仿制⼈类智能机制的学科(或技术),再具体地讲就是利⽤这些技术仿制出⼀些具有⼈类智慧(能)特点的机器或系统(2)⼈⼯智能的研究领域主要有专家系统、机器学习、模式识别、⾃然语⾔理解、⾃动定⼒证明、⾃动程序设计、机器⼈学、博弈、智能决策⽀持系统、⼈⼯神经⽹络等(3)⼈⼯智能于1956年夏季,由麦卡锡,明斯基、洛切斯特、⾹农等发起创建2、产⽣式系统的由哪三部分组成?各部分的功能是什么?课本29页(1)产⽣式系统由综合数据库、产⽣式规则和控制系统三部分组成(2)综合数据库⽤于存放当前信息,包括初始事实和中间结果;产⽣式规则⽤于存放相关知识;控制系统⽤于规则的解释或执⾏程序。
3、设有三枚硬币,其初始状态为(反,正,反),允许每次翻转⼀个硬币(只翻⼀个硬币,必须翻⼀个硬币)。
必须连翻三次。
⽤知识的状态空间表⽰法求出到达状态(反,反,反)的通路。
画出状态空间图。
课本51页问题求解过程如下:(1)构建状态⽤数组表⽰的话,显然每⼀硬币需占⼀维空间,则⽤三维数组状态变量表⽰这个知识:Q=(q1 , q2 , q3)取q=0 表⽰钱币的正⾯; q=1 表⽰钱币的反⾯构成的问题状态空间显然为:Q0=(0,0,0),Q1=(0,0,1),Q2=(0,1,0), Q3=(0,1,1),Q4=(1,0,0),Q5=(1,0,1),Q6=(1,1,0),Q7=(1,1,1)(2)引⼊操作f1:把q1翻⼀⾯。
f2:把q2翻⼀⾯。
f3:把q3翻⼀⾯。
显然:F={f1,f2,f3}⽬标状态:(找到的答案)Qg=(0,0,0)或(1,1,1)(3)画出状态图从状态图可知:从“反,正,反”(1,0,1)到“正,正,正”(0,0,0)没有解题路径;从“反,正,反”(1,0,1)到“反,反,反”(1,1,1)有⼏条解题路径f3 f2 f3,f1 f2 f1,…4、⼋数码问题:已知⼋数码的初始状态和⽬标状态如下:=>。
第三章 知识的状态空间表示法doc资料

第三章知识的状态空间表示法1 课前思考:人类的思维过程,可以看作是一个搜索的过程。
某个方案所用的步骤是否最少?也就是说它是最优的吗?如果不是,如何才能找到最优的方案?在计算机上又如何实现这样的搜索?这些问题实际上就是本章我们要介绍的搜索问题。
2 学习目标:掌握回溯搜索算法、深度优先搜索算法、宽度优先搜索算法和A搜索算法,对典型问题,掌握启发式函数的定义方法。
3 学习指南:了解算法的每一个过程和细节问题,掌握一些重要的定理和结论,在有条件的情况下,程序实现每一个算法,求解一些典型的问题。
4 难重点:回溯搜索算法、算法及其性质、改进的A*算法。
5 知识点:本章所要的讨论的问题如下:有哪些常用的搜索算法。
问题有解时能否找到解。
找到的解是最佳的吗?什么情况下可以找到最佳解?求解的效率如何。
3.1 状态空间表示知识一、状态空间表示知识要点1.状态状态(State)用于描述叙述性知识的一组变量或数组,也可以说成是描述问题求解过程中任意时刻的数据结构。
通常表示成:Q={q1,q2,……,qn}当给每一个分量以确定的值时,就得到一个具体的状态,每一个状态都是一个结点(节点)。
实际上任何一种类型的数据结构都可以用来描述状态,只要它有利于问题求解,就可以选用。
2.操作(规则或算符)操作(Operator)是把问题从一种状态变成为另一种状态的手段。
当对一个问题状态使用某个可用操作时,它将引起该状态中某一些分量发生变化,从而使问题由一个具体状态变成另一个具体状态。
操作可以是一个机械步骤、一个运算、一条规则或一个过程。
操作可理解为状态集合上的一个函数,它描述了状态之间的关系。
通常可表示为:F={ f1 , f2,……… fm}3.状态空间状态空间(State Space)是由问题的全部及一切可用算符(操作)所构成的集合称为问题的状态空间。
用三元组表示为:({Qs},{F},{Qg})Qs:初始状态,Qg:目标状态,F:操作(或规则)。
状态空间表示法的要素

状态空间表示法的要素
状态空间表示法是一种用于描述系统或问题的符号体系,它包含状态变量和操作符号。
该方法主要用于描述系统的状态以及状态之间的转换。
状态空间表示法的要素包括:
1.状态变量:表示系统状态的符号或数据,可以是物理量、状态描述符等。
2.操作符号:描述状态之间转换的操作符号,可以是函数、算子等。
3.初始状态集合:描述系统初始状态的状态集合。
4.目的状态集合:描述系统目标状态的状态集合。
5.状态转换路径:从初始状态集合到目的状态集合的路径,由操作符号连接各个状态变量。
6.操作序列:求解路径上的操作算子序列,对应于实际系统中的操作过程。
7.数据结构:用于描述状态变量的数据结构,可以是矩阵、向量、树、图等。
这些要素共同构成了状态空间表示法,可以用来描述和分析各种系统和问题。
第三章知识表示

3.3
知识表示方法的分类
• 叙述性表示:主要用来描述事实性知识,它将知识与控制分开,把知识 的使用方法,即控制部分留给计算机程序,是一种静态的描述方法。 它的特点是:严密性强、易于模块化、具有推理的完备性;但推理效 率较低,推理过程不透明,不易理解。 • 过程性表示:主要用来描述规则性知识和控制结构知识,即将知识与控 制(推理)结合起来,是一种动态的描述方法。其优点是推理过程直 接、明晰,有利于模块化,易于表达启发性知识和默认推理知识,实 现效率高,缺点是不够严格,知识间有交互重叠,灵活性差。 两种表示方法各有利弊,对不同性质的问题应采用不同形式的表达方法。 知识的表示和推理在大部分情况下位于独立的两个模块,但推理机制强 烈关联于相应的知识表示方式。
14
(4) 谓词和函数间的关系
(x)(y)(z )(Smaller ( x, y ) Smaller ( y, z ) Smaller ( x, z ) 盘大小关系的传递性 (x)(s)(Free( x, s) (y )ON ( x, y, s))
s下,x是空顶必知s下无y在x上。 (x)(y )(s)(Legal ( x, y, s) Free( x, s ) Free( y, s) Disk ( x) Smaller ( x, y ))
Robotable b
10
逻辑表示法
定义谓词 – 状态 – 操作 状态 –TABLE (x): x是桌子。 –EMPTY (y): y手中是空的。 –AT(y, z): y在z的附近。 – HOLDS(y, w): y拿着w。 – ON(w,x): w在x桌面上。 问题的初始状态: AT (robot, c) EMPTY (robot) ON (box, a) TABLE (a) TABLE (b) 问题的目标状态: AT (robot, c) EMPTY (robot) ON (box, b) TABLE (a) TABLE (b)
状态空间表示法

11 1 7 13
9 4 15 3 12 5 8 6 2 10 14
11 9 4 15 1 3 12 7 5 8 6 13 2 10 14
Hale Waihona Puke 11 1 7 139 15 3 4 12 5 8 6 2 10 14
11 1 7 13
9 3 5 2
4 15 12 8 6 10 14
11 1 7 13
9 4 15 3 8 12 5 6 2 10 14
9
2 另一个状态空间法描述的例子 假设房间里有一个人,一个箱子和一筐苹果。苹果 吊在天花板下方,人直接摘不到,需要站在箱子上才能 摘到苹果。如图所示
C
苹果
人 A
箱 B
10
(1) 状态:选择为(W,X,Y,Z) W——人所处在的水平面上的位置 X ——人所处的高度位置,在 地 面,X=0 在箱子上,X=1 Y——箱子所在的水平面上的位置 Z——是否摘到苹果的状态,=0,未摘到 =1,摘到
4
例如
假设初始状态为: 11 1 7 13 9 3 5 2 8 10 4 13 12 6 14
我们要求的目标状态为: 1 5 9 13 2 6 10 14 3 7 11 15
5
4 8 12
如何把初始状抬转换为目标状态 ——选择移动一个棋子。 每移动一次棋子,就会有一个新的状态,所有可能 的状态一起,就构成了该问题的状态空间。 解决该问题,就是尝试各种不同的走步,直到寻找 到达到目的状态的路径,到达目标状态为止。 从初始状态开始,尝试不同的走步,就构成了一个 有不同状态组成的图。
11 9 1 7 5 13 2
4 15 11 4 15 3 12 1 9 3 12 8 6 7 5 8 6 10 14 13 2 10 14
人工智能基础 第3章 知识表示

选择知识表示方法的原则有
(1)充分表示领域知识
(2)有利于对知识的利用
(3)便于对知识的组织、 维护与管理。
(4)便于理解与实现。
3.2 知识表示方法
3.2.1 逻辑表示法
逻辑本身根据复杂性从简单到复杂分为:命题逻辑、一阶谓词逻辑、高阶逻辑。为了避免运算的歧义,命 题逻辑还定义了不同的连接词和操作符的优先级关系,例如非(┐)具有最高优先级。逻辑连接符根据真值 表运算组合命题的真假值,真值表如表 3-1 所示。命题逻辑和一阶谓词逻辑是人工智能领域使用最早的、最 广泛的知识表示方式。
4. 不确定性事实的产生式表示
不确定性事实一般用四元组表示:(对象, 属性,值,置信度)或者(关系,对象 1, 对象 2,置信度)。
1. 确定性规则的产生式表示
确定性规则的产生式表示的基本形 式为:IF P THEN Q 或者 P → Q。
3. 确定性事实的产生式表示
确定性事实一般用三元组表示:(对象,属 性,值)或者(关系,对象 1,对象 2)。
3.2 知识表示方法
3.2.5 状态空间表示法
状态空间(state space)是利用状态变量和操作符号表示系统或问题的有关知识的符号体系。状态空间可以 用一个四元组表示: (S,O,S0,G)
例如,操作序列 O1,...,Ok 使初始状态转换为目标状态,如图 3-6所示
3.2 知识表示方法
3.2.5 状态空间表示法
3.2 知识表示方法
3.2.3 框架表示法
在一个用框架表示知识的系统中,一般含有多个框架,一个框架一般含有多个不同槽、不同侧面,分别用不同的框架名、槽名 及侧面名表示。对于框架、槽或侧面,都可以为其附加上一些说明性的信息,一般是一些约束条件,用于指出什么值才能填入槽 和侧面中去。
人工智能概论知识表示(状态空间表示法)

示盘子A所在的柱号,SkB表示盘子B所在的 柱号。
第二步:用所定义的状态描述形式把问题的所 有可能的状态都表示出来,并确定出问题的初 始状态合描述和目标状态集合描述。
3 利用状态空间求解问题的过程
• 为了求解该问题,根据该状态空间的9种可能状态和12种 算符,构造它的状态空间图,如图所示从初始节点(1, 1)(状态S0)到目标节点(3,3)(状态S8)的任 何一条通路都是问题的一个解。但其中最短的路径长度是 3,它由3个算符组成,这3个算符是A(1,2)、B (1,3)、A(2,3)。
这样定义的算符组F中共有12个算符,它们分别是
A(1,2) A(1,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)
• 至此,该问题的状态空间(S,F,G)构造完成。这就 完成了对问题的状态空间表示。
3 利用状态空间求解问题的过程
• 说明:
①可能有多个算符序列都可使问题从初始状态变到目标 状态,这就得到了多个解。其中有的使用算符较少,有 的较多,把使用算符最少的解称为最优解。这里只是从 解中算符的个数来评价解的优劣,评价解的优劣主要是 看使用算符时所付出的代价,只有总代价最小的解才是 最优解。 ②对任何一个状态,可使用的算符可能不止一个,这样 由一个状态所生成的后继状态就可能有多个。当对这些 后继状态使用算符生成更进一步的状态时,首先应对哪 一个状态进行操作呢?这属于搜索策略的问题,不同的 搜索策略其操作的顺序是不相同的。
• 状态空间表示法是人工智能中最基本的形式化方 法,也是讨论问题求解技术的基础。
现代控制理论(8-11讲:第3章知识点)

f () I - A n an1 n1 a1 a0
f (A) An an1An1 a1A a0I 0
f () I - A 2 5 7 0
用A代替λ ,则
f (A) A 5A 7I 0
1 2 2 t 0 0 1t 2! 1 1 1 .. .. 0 nt 1 0
1 2 2 1 k k P (I + At + A t + ... + A t + ...)P 2! k!
11
习题: 2.4 (2) (3) 2.5 (1):1, 2
12
(2)系统矩阵A具有n重特征值: 则
Φ(t ) e
At
i t e Q
te e
i t
i t
0
1 ( n 1) i t ... t e (n 1)! 1 ... ... Q .. tei t i t e
2
15
例2:设矩阵为:
0 0 A 0 1
1 0 0 0
0 1 0 0
0 0 1 0
试用Cayly-Hamilton定理,求A7-A3+2I。 解:
0 1 0 0 1 0 4 1 0 I A 0 0 1 1 0 0
At
e 0 (t )I 1 (t )A an1 (t )A
At
n1
证: A 即
n
an1A
n1
a1A a0I 0
An an1An1 a1A a0I
an1 (an1An1 a1A a0I) an2 A n1 ... a0 A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章知识的状态空间表示法1 课前思考:人类的思维过程,可以看作是一个搜索的过程。
某个方案所用的步骤是否最少?也就是说它是最优的吗?如果不是,如何才能找到最优的方案?在计算机上又如何实现这样的搜索?这些问题实际上就是本章我们要介绍的搜索问题。
2 学习目标:掌握回溯搜索算法、深度优先搜索算法、宽度优先搜索算法和A搜索算法,对典型问题,掌握启发式函数的定义方法。
3 学习指南:了解算法的每一个过程和细节问题,掌握一些重要的定理和结论,在有条件的情况下,程序实现每一个算法,求解一些典型的问题。
4 难重点:回溯搜索算法、算法及其性质、改进的A*算法。
5 知识点:本章所要的讨论的问题如下:有哪些常用的搜索算法。
问题有解时能否找到解。
找到的解是最佳的吗?什么情况下可以找到最佳解?求解的效率如何。
3.1 状态空间表示知识一、状态空间表示知识要点1.状态状态(State)用于描述叙述性知识的一组变量或数组,也可以说成是描述问题求解过程中任意时刻的数据结构。
通常表示成:Q={q1,q2,……,qn}当给每一个分量以确定的值时,就得到一个具体的状态,每一个状态都是一个结点(节点)。
实际上任何一种类型的数据结构都可以用来描述状态,只要它有利于问题求解,就可以选用。
2.操作(规则或算符)操作(Operator)是把问题从一种状态变成为另一种状态的手段。
当对一个问题状态使用某个可用操作时,它将引起该状态中某一些分量发生变化,从而使问题由一个具体状态变成另一个具体状态。
操作可以是一个机械步骤、一个运算、一条规则或一个过程。
操作可理解为状态集合上的一个函数,它描述了状态之间的关系。
通常可表示为:F={ f1 , f2,……… fm}3.状态空间状态空间(State Space)是由问题的全部及一切可用算符(操作)所构成的集合称为问题的状态空间。
用三元组表示为:({Qs},{F},{Qg})Qs:初始状态,Qg:目标状态,F:操作(或规则)。
4.状态空间(转换)图状态空间也可以用一个赋值的有向图来表示,该有向图称为状态空间图,在状态空间图中包含了操作和状态之间的转换关系,节点表示问题的状态,有向边表示操作。
二、状态图搜索1.搜索方式用计算机来实现状态图的搜索,有两种最基本的方式:树式搜索和线式搜索。
2.搜索策略大体可分为盲目搜索和启发式(heuristic)搜索两大类。
搜索空间示意图例3.1 钱币翻转问题设有三枚硬币,其初始状态为(反,正,反),允许每次翻转一个硬币(只翻一个硬币,必须翻一个硬币)。
必须连翻三次。
问是否可以达到目标状态(正,正,正)或(反,反,反)。
问题求解过程如下:用数组表示的话,显然每一硬币需占一维空间,则用三维数组状态变量表示这个知识:Q=(q1 , q2 , q3)取q=0 表示钱币的正面q=1 表示钱币的反面构成的问题状态空间显然为:Q0=(0,0,0),Q1=(0,0,1),Q2=(0,1,0),Q3=(0,1,1)Q4=(1,0,0),Q5=(1,0,1),Q6=(1,1,0),Q7=(1,1,1)引入操作:f1:把q1翻一面。
f2:把q2翻一面。
f3:把q3翻一面。
显然:F={f1,f2,f3}目标状态:(找到的答案)Qg=(0,0,0)或(1,1,1)例3.2 分油问题。
有两只空油瓶,容量分别为8斤和6斤,另有一个大油桶,里面有足够的油。
我们可以任意从油桶中取出油灌满某一油瓶,也可以把某瓶中的油全部倒回油桶,两个油瓶之间可以互相灌。
问如何在8斤油瓶中精确的得到4斤油。
问题的求解显然用2维数组或状态空间描述比较合适,第一位表示8斤油瓶油量,第二位表示6斤油瓶油量,构成整数序列偶(E,S)E:=0,1,2,3,4,5,6,7,8 。
表示8斤油瓶中含有的油量。
S:=0,1,2,3,4,5,6。
表示6斤油瓶中含有的油量。
总结出如下分油操作规则:f1:8斤油瓶不满时装满(E,S)且E < 8—→(8,S)f2:6斤油瓶不满时装满(E,S)且S < 6—→(E,6)f3:8斤油瓶不空时倒空(E,S)且E > 0—→(0,S)f4:6斤油瓶不空时倒空(E,S)且S > 0—→(E,0)f5:8斤油瓶内油全部装入6斤油瓶内(E,S)E > 0 且E+S ≤6—→(0,E+S)f6:6斤油瓶内油全部装入8斤油瓶内(E,S)S > 0 且E+S ≤8—→(E+S,0)f7:用6斤油瓶内油去灌满8斤油瓶(E,S)且E < 8 且E+S ≥8—→(8,E+S-8)f8:用8斤油瓶内油去灌满6斤油瓶(E,S)且S < 6 且E+S ≥6—→(E+S-6,6)3.2 搜索问题讨论(1)求任一解路的搜索策略回溯法(Backtracking)爬山法(Hill Climbing)宽度优先法(Breadth-first)深度优先法(Depth-first)限定范围搜索法(Beam Search)好的优先法(Best-first)(2)求最佳解路的搜索策略大英博物馆法(British Museum)分枝界限法(Branch and Bound)动态规划法(Dynamic Programming)最佳图搜索法(A﹡)(3)求与或关系解图的搜索法一般与或图搜索法(AO﹡)极小极大法(Minimax)α-β剪枝法(Alpha-beta Pruning)启发式剪枝法(Heuristic Pruning)3.3 图搜索用计算机进行状态空间问题求解的基本思路:首先把问题的初始状态(即初结点)作为当前状态,选择合适的算符对其进行操作,生成一组子状态,然后检查目标状态是否在其中出现。
若出现,则搜索成功,若不出现,则按某种搜索策略从已生成的状态中再选一个状态作为当前状态,重复上述过程,直到目标状态出现,或者不在有可供操作的状态为止。
一、显示图与隐式图1.显式图(显式存储)把与问题有关的全部状态空间以及相应的有关知识(叙述性知识、过程性知识、控制性知识)都直接存入知识库,称为显式图,或“显式存贮”。
2.隐式图(隐式存贮)只存贮与问题有关的部分知识,存贮的状态由初始状态开始运用相应的知识,逐步生成所需的部分状态空间,通过搜索推理,逐渐转移到要求的目标状态,只需在知识库中存贮局部的状态空间,称为“隐式图”或“隐式存贮”。
通常采用隐式图进行解题(搜索推理)。
二、“隐式图”求解问题的一般过程open表:用于存放刚生成的结点closed表:用于存放将要扩展或者已扩展的结点open表closed 表搜索过程如下:1:把初始结点s0放入open表中。
2:检查open表是否为空,若空,问题无解,退出。
3:把open表中的第一个结点取出放入closed表中,并证实该结点为n结点。
4:考察结点n为是否为目标结点,若是,退出。
5:扩展结点n,生成一组子结点,把其中不是先辈的那些结点加入open表的尾部,并配以指向父结点的指针。
6:按某种搜索策略对open表中的结点进行排序7:转入第2步。
一般的图搜索算法1、G=G0(G0=s),OPEN:= (s);2、CLOSED:=( );3、LOOP:IF OPEN=( ) THEN EXIT(FAIL);4、n:=FIRST(OPEN),REMOVE(n,OPEN),ADD (n,CLOSED),5、IF GOAL(n) THEN EXIT(SUCCESS);6、EXPAND(n)→{mi},G:=ADD{mi,G};7、标记和修改指针:ADD (mi,OPEN),并标记mi到n的指针;计算是否要修改mk、ml到n的指针;计算是否修改ml到其后续节点的指针;8、对OPEN中的节点按某种原则重新排序;9、GO LOOP;一些基本概念节点深度根节点深度=0其它节点深度=父节点深度+1路径设一节点序列为(n0,n1 ,…,nk),对于i=1,…,k,若节点ni-1具有一个后续节点ni,则该序列称为从n0到nk的路径。
路径的耗散值一条路径的耗散值等于连接这条路径各节点间所有耗散值的总和。
用C(ni, nj)表示从ni 到nj的路径的耗散值。
扩展一个节点生成该节点的所有后续节点,并给出它们之间的耗散值.这一过程称为“扩展一个节点”. 三、广度优先搜索流程图广度优先搜索的含义:在对第n层结点没有搜索考察完之前,不对第n+1层结点进行搜索,但在隐式图优先搜索中是讲:从初始结点s0开始,按生成规则逐步生成下一级各子结点,在检查同级子结点同时,生成下级子结点并放在open表的末尾,而后再检查下一个同级结点,如不是目标结点,则按规则生成下级子结点,并放在open表末尾,如此下去,直到找到目标为止。
广度优先搜索算法流程①G:=G0(G0=s),OPEN:=(s), CLOSED:=();②LOOP:IF OPEN=()THEN EXIT(FAIL);③n:=FIRST(OPEN);④IF GOAL(n)THEN EXIT(SUCCESS);⑤REMOVE(n,OPEN),ADD(n,CLOSED);⑥EXPAND(n)→{mi},G:=ADD(mi ,G);⑦IF 目标在{mi} 中,THEN EXIT(SUCCESS);⑧ADD(OPEN,mj ),并标记到n的指针;⑨GO LOOP宽度优先搜索示例8数码问题的宽度优先搜索树广度优先搜索的性质当问题有解时,一定能找到解当问题为单位耗散值时,且问题有解时,一定能找到最优解方法与问题无关,具有通用性效率较低属于图搜索方法四、深度优先搜索流程从初始结点s0开始,按生成规则逐步生成下一级各子结点,在检查同级子结点同时,生成下级子结点并放在open表的首部,而后再检查下一个同级结点,如不是目标结点,则按规则生成下级子结点,并放在open表首部,如此下去,直到找到目标为止。
深度优先搜索1、G=G0(G0=s),OPEN:= (s);,CLOSED:=( );2、LOOP:IF OPEN=( ) THEN EXIT(FAIL);3、n:=FIRST(OPEN),4、IF GOAL(n) THEN EXIT(SUCCESS);5、REMOVE(n,OPEN), ADD (n,CLOSED),6、IF DEPTH(n)>Dm GO LOOP;7、EXPAND(n) →{mi},G:=ADD{mi,G};8、IF 目标在{mi}中THEN EXIT(SUCCESS);9、ADD(mi,OPEN),并标记mj到n指针;10、将mi重排序到open表头部。
11、GO LOOP;深度优先搜索性质一般不能保证找到最优解当深度限制不合理时,可能找不到解,可以将算法改为可变深度限制最坏情况时, 搜索空间等于穷举与回溯法的差别:图搜索是一个通用的与问题无关的方法3.4 回溯策略所谓回溯策略,简单地说是这样一种策略:首先将规则给出一个固定的排序,在搜索时,对当前状态(搜索开始时,当前状态是初始状态)依次检测每一条规则,在当前状态未使用过的规则中找到第一条可触发规则,被应用于当前状态,得到的新状态重新设置为当前状态,并重复以上搜索。