第一章第一讲--状态空间与图搜索
人工智能之状态空间搜索.ppt
§01 Three-S 的基本思想 Ruan Xiaogang Institute of Artificial Intelligence & Robots Beijing University of Technology
1.2 事物的特性
变化的和运动的
事物有事物的特性。 事物既有内在特性又有外在特性,内在特性通 常表现为事物固有的和本质的特征,而外在特性通 常表现为事物与环境的关系。 事物的特性是在不断地变化的,或不断地运动 的,因而,被称为动态特性。 事物特性的变化或运动必定是在一定的时间和 空间中发生的。
(问题原态的描述)
在问题求解活动中,事物的特性代表着问题的性 质,事物特性的变化意味着问题性质的变化。
因此,状态空间中状态的运动,意味着事物特性 的变化,意味着问题性质的变化。重要的是,这种运 动是可以通过对事物进行操作来控制的。
§01 Three-S 的基本思想 Ruan Xiaogang Institute of Artificial Intelligence & Robots Beijing University of Technology
1.4 状态是问题的性质
问题求解过程搜索过程
关于状态空间搜索 (Three-S):
状态 (State):状态空间中的点,代表问题的性质; 问题原态对应的状态称为初始状态,问题终态所对 应的状态称为目标状态。
状态空间 (State Space):所有可能的状态的集合。
状态空间搜索 (Search in State Space): 在状态空间 中搜寻一条由初始状态到目标状态的路径的过程, 即问题求解的过程。
2.1 Three-S 问题的形式化
定义:
状态空间搜索中的问题被定义为一个四元组:
第一章 控制系统的状态空间描述
五、状态空间模型的结构图
u
B
x
A D
x
y
C
六、状态空间表达式的非唯一性
假设 x 和 x 是我们为某一系统选定的两组不同状态变量,x 和 x 之间有 一一对应的变换关系即可逆变换关系,对于线性系统而言,这种关系就是 线性非奇异变换,既
* *
x 与 x 之间必有关系 * x Px
*
其中 P 为非奇异常数矩阵
较之传递函数,状态空间描述的优点有:
1、可以方便地描述多输入—多输出系统;
2、由前面的分析可以看出,对于不同维数的系统,可以采用同一表达方 式来进行描述,由此可见从低维系统得到的结论可以方便地推广到高维系 统,只是计算复杂一些而已。 3、状态空间分析是一种时域分析方法,可用计算机直接在时域中进行数 值计算。
x1 (t ) x (t ) 2 x (t ) xn (t )
三、状态空间
状态空间:所有n维状态向量的全体便构成了实数域上的n维状态空间。
状态轨迹:在状态空间中,时间t是一个参变量,某一时间t的状态是状 态空间中的一个点,而一段时间下状态的集合称为系统在这一时间段的状 态轨迹,有时也称作相轨迹。 四、输入向量和输出向量 输入向量:将系统的各个输入量看成一个列向量
输出 y u2
q 1 x2 ,写成向量矩阵形式为 C C
1 x1 y 0 C x2
i x , u c
R L A 1 C
i x q
1 L , 0
R A L 1
1 LC 0
1 0 1 P 0 C
例 试建立下图所示电路网络的状态方程和输出方程。
《状态空间搜索》PPT课件
• 从SL中删除第一个元素;/*回溯*/
• 从NSL中删去第一个元素;
• CS:=NSL中第一个元素;
•
end;
• 将CS加入SL;
• end
• else begin • 将CS子状态(不包括DE、SL、NSL中有的)加入NSL;
精选ppt
12
图搜索的实现(续)
• CS:=NSL中第一个元素;
• 将CS加入SL;
状态空间搜索
状态空间搜索策略 数据驱动和目标驱动的搜索 图搜索的实现 深度和广度优先搜索 有界深度优先搜索
谓词演算推理的状态空间表示法 逻辑的状态空间描述 与/或图 讨论
精选ppt
1
• 基于递归的搜索
• 递归
• 递归搜索
• 模式驱动搜索
• 产生式系统
•
定义与历史
•
产生式系统示例
•
产生式系统搜索的控制
• 算法就是以这种方式执行直到找到目标或遍历了状态空间为止。下图给出的 是一个假设的状态空间的深度优先回溯搜索。
•
•
1A
•
• 2 B 8 C 10 D
•
• E3 6F 9G
•
•
HI
J
•
45
7
•
一个假设状态空间的深度优先回溯搜索
精选ppt
8
图搜索的实现(续)
• 下面定义一个回溯搜索的算法:算法使用3张表保存状 态空间中的结点。
• end
• end;
• return FAIL
• end.
• 假设状态空间的深度优先回溯搜索中的回溯轨迹 如下:
• 初值:SL = [A];NSL= [A];DE=[ ];CS=A;
第一章状态空间模型
2.一般形式: 对于一般的n阶线性定常系统(n个状态,r个输 入,m个输出)
u1 u2 对象 ur
x1 x2 xn 多输入多输出系统
输出
y1 y2 ym
元件
X ( t ) A X ( t ) B u( t ) n n n1 n r r 1 n1 C D Y ( t ) mn X ( t ) mr u( t ) n1 r 1 m1
3.列写系统的状态方程和输出方程,即得状态 空间表达式。
2.一般形式: 对于一般的n阶线性定常系统(n个状态,r个输 入,m个输出)
u1 u2 对象 ur
x1 x2 xn 多输入多输出系统
输出
y1 y2 ym
元件
X ( t ) A X ( t ) B u( t ) n n n1 n r r 1 n1 C D Y ( t ) mn X ( t ) mr u( t ) n1 r 1 m1
三 .线性系统的结构图 根据线性系统的状态空间表达式的一般形式 :
X AX Bu Y CX Du
按单变量系统的结构图绘制原则,一般线性 系统可用这种图形象的表达出来。
结构图: D(t)
u(t)
B(t)
+ +
X ∫dt
X
C(t)
+ Y(t) +
A(t)
在采用模拟计算机对系统模拟时,必须根据实 际的状态空间表达式,画出各分量间的结构图 例:单输入-单输出系统
a11 b1
+ x1 + +
∫dt a12
x1
c1 + + y
a21
b2
x2
∫dt a22
状态空间搜索解读
最
优
化
理
论
与
应
用
问题实例——八数码问题
状态:8个棋子在3×3 的棋盘上的任意一个 摆放 初始状态:右上图 算子(后继函数): left、right、up、down 目标函数:右下图 路径代价:1
计算机与信息学院 刘勇
1 2 7 5 8 3 4 6
初始状态
1 2 3 4 5 6 7 8
计算机与信息学院 刘勇
最
优
化
理
论
与
应
用
深度优先搜索
open
1 2 3 4 5 6 7 8 9 10 A B,F C,D,E,F D,E,F E,F F G,I H,I I
close
A A,B A,B,C A,B,C,D A,B,C,D,E A,B,C,D,E,F A,B,C,D,E,F,G A,B,C,D,E,F,G,H A,B,C,D,E,F,G,H,I
最
优
化
理
论
与
应
用
B1 广度优先搜索
breadth-first search,BFS A B F C D E G I
A B C D E G H F I
先扩展出的节 点先被考察
计算机与信息学院 刘勇
最
优
化
理
论
与
应
用
广度优先搜索算法
1. 初始化open表、close表为空,定义S为初始状态 结点 2. 将S放入到open表中 3. 如果open表为空,则搜索失败,否则从open表中 取出第一个结点N,将N放入到close表中。 4. 如果N是目标结点,搜索成功,返回N 5. 对N的每一个子结点 i,如果open表和close表中 都没有结点i,那么将结点i其追加到open表的最 后一个元素之后 6. goto 3
《状态空间搜索》课件
应用领域
人工智能
状态空间搜索可以应 用于机器学习、自然 语言处理和图像识别 等人工智能领域。
游戏设计
状态空间搜索是游戏 中人物行动和决策的 基础,使游戏更具挑 战性和智能性。
自动规划和调 度
在生产、物流和交通 等领域中,状态空间 搜索可以优化资源规 划和任务调度。
数据分析
状态空间搜索可以帮 助发现数据中隐藏的 模式和关联,为决策 制定提供有力支持。
案例研究
人工智能
使用状态空间搜索优化机器学习 算法的参数选择,提高准确性和 效率。
游戏设计
通过状态空间搜索实现游戏中的 智能NPC行为,使游戏更具挑战 性。
自动规划和调度
利用状态空间搜索优化物流系统 的路径规划和车辆调度,降低成 本和提高效率。
《状态空间搜索。通过定义和搜索问题的 状态空间,我们能够找到最佳解决方案,并解决各种实际挑战。
定义与背景
状态空间搜索是一种以状态和操作为基础的搜索算法。它可用于查找特定问题的解决方案,并在搜索空间中找 到最佳路径。 状态空间搜索在人工智能、游戏设计、自动规划和调度以及数据分析等领域都有广泛的应用。
挑战和解决方案
1 空间复杂度
随着状态空间的增大,搜索算法需要占用更多的内存。优化技术和剪枝策略可以减少空 间需求。
2 时间复杂度
在大规模状态空间中搜索最优解需要花费较长的时间。智能的启发式函数可以提高搜索 效率。
3 剪枝技术和优化策略
通过剪掉冗余的搜索路径和使用启发式函数进行优化,可以加速状态空间搜索。
常见的搜索算法
盲目搜索算法
通过无信息的搜索策略,在状态空间中逐步探 索并找到解决方案。
最佳优先搜索算法
根据启发式函数评估搜索节点,并选择评估函 数值最小的节点进行扩展。
第1章 状态空间简介
CPN TOOLS状态空间手册翻译:中国石油大学(华东)2007.10目录第1章状态空间简介 (1)状态空间工具的历史 (1)例子: Dining Philosophers问题 (1)第2章状态空间工具的使用 (3)状态空间代码的产生 (4)细节与限制(第1次阅读可以跳过) (4)状态空间的产生与强连通图 (4)标准报告 (5)统计函数 (6)状态空间传送到仿真器 (6)状态矢量从仿真器传递到状态空间 (7)第3章如何引用状态空间的条目 (7)节点、弧及强连通图 (7)库所实例 (7)变迁实例 (8)标记 (8)绑定元素 (8)字符串表达 (9)时间值 (10)第4章标准查询 (10)可达性 (11)有界性 (11)家性 (12)活性 (13)公平性 (15)第5章建立自定义的查询 (16)节点和弧 (16)强连通部件 (17)查找节点SearchNodes (17)PredNodes 与EvalNodes (20)SearchNodes调用举例 (20)查找弧SearchArcs (21)SearchArcs调用举例 (22)查找强连通部件SearchSccs (22)SearchSccs调用举例 (23)第6章改变选项 (23)字符串表示选项String Representation Options (23)节点和弧描述符选项 (24)计算状态空间的选项 (25)停止选项 (25)分支选项SS tool (26)保存报告选项 (26)参考文献 (27)第1章状态空间简介状态空间工具的历史本手册给出了计算和分析状态空间工具的描述(也称作出现图,可达图或可达树)。
状态空间工具是集成在CPN Tools里的。
这意味着你可以很容易地在编辑器、模拟器和状态空间工具之间切换。
当一个状态空间节点发现后,它就可以在模拟器中观察到。
这意味着在CPN 模型里你可以以图形方式看到这个标志。
你可以看到触发的转移实例,研究其绑定以及模拟它。
第一章-状态空间表达式
现代控制理论Model Control Theory前言1.胚胎萌芽期(1945年以前)•十八世纪以后,蒸汽机的使用提出了调速稳定等问题1765年俄国人波尔祖诺夫发明了锅炉水位调节器1784年英国人瓦特发明了调速器,蒸汽机离心式调速器1877年产生了劳斯稳定判据•十九世纪前半叶,动力使用了发电机、电动机促进了水利、水电站的遥控和程控的发展以及电压、电流的自动调节技术的发展•十九世纪末,二十世纪初,使用内燃机促进了飞机、汽车、船舶、机器制造业和石油工业的发展,产生了伺服控制和过程控制•二十世纪初第二次世界大战,军事工业发展很快飞机、雷达、火炮上的伺服机构,总结了自动调节技术及反馈放大器技术,搭起了经典控制理论的架子,但还没有形成学科。
2.经典控制理论时期(1940-1960)1945年美国贝尔实验室的Bode和Nyqusit提出频率响应法,奠定了控制理论的基础。
美国MIT的N. Wiener在研究随机过程的预测问题中,提出Wiener滤波理论.50年代趋于成熟.主要内容对单输入单输出系统进行分析,采用时域、频率法(频域)、根轨迹法(复数域)、相平面法、描述函数法;讨论系统稳定性的代数和几何判据以及校正网络等。
面临的挑战:被控对象日益复杂化、控制性能要求不断提高。
wiener3.现代控制理论时期(50年代末-60年代初)空间技术的发展提出了许多复杂控制问题,用于导弹、人造卫星和宇宙飞船上。
取得的成就1:1957年发射人造地球卫星;2:工业机器人产品;3:1961年载人航天;4:1969年登月;4.大系统和智能控制时期(70年代)各学科相互渗透,要分析的系统越来越大,越来越复杂。
例如:人工智能、模拟人的人脑功能、机器人等。
应用举例本课程内容•状态空间模型;•基于状态空间模型的系统分析(Analysis):运动分析、能控性、能观性、稳定性•基于状态空间模型的系统综合(Synthesis):极点配置、控制器设计、观测器设计、最优控制器设计。
图搜索状态空间表示
1 状态空间及其搜索的表示
4)一般图搜索例——八数码游戏 3×3九宫棋盘,放置数码为1 - 8的8个棋牌,剩下一个空格,只能通过棋
牌向空格的移动来改变棋盘的布局。 求解的问题——给定初始布局(即初始状态)
和目标布局(即目标状态),如何移动棋牌才 能从初始布局到达目标布局(参见图2.2)。 解答路径——就是一个合法的走步序列。
特例:N=3,K=2;
变量m——传教士在左岸或船上的实际人数, 变量c——野人在左岸或船上的实际人数, 变量b——指示船是否在左岸(1、0)。 上述约束条件转变为m + c ≦2, m ≧ c。 左岸状态描述为一个三元组: (m, c, b)
考虑到在这个渡河问题中,左岸的状态描述(m, c, b)可以决定右岸的 状态,所以整个问题状态就可以左岸的状态来描述,以简化问题的表示。 设初始状态下传教士、野人和船都在左岸,目标状态下这三者均在右岸, 问题状态以三元组(m,c,b)表示。
1 状态空间及其搜索的表示
3)状态空间的搜索
状态空间的搜索以SE指示,其可表示为1个五元组:
SE = (S,O,E,I,G) I——问题的初始状态,I ∈ S;
E——搜索引擎; G——问题的目标状态集,G S。
基本思想——通过搜索引擎寻找一个操作算子的调用序列,使问题从初始状态变迁
总共只有16个可达的合法状态。
2类操作算子:
L(m,c)——指示从左岸到右岸的划船操作,
R(m,c)——指示从右岸回到左岸的划船操作,
m和c取值的可能组合只有5个:10,20,11,01,02。
总共有10个操作算子。
2)状态空间表示的经典例——传教士和野人问题 渡河问题状态空间的有向图: 参见图2.1
1-1-状态空间表达式-PPT课件
x1 x2
0 1
LC
u
输出方程为:
y 1
0
x1 x2
x2 x1 uC
(3)系统状态变量的数目是惟一的
1.1.4 状态空间表达式建立的举例
例1-1 建立右图所示机械系统的状态空间表达式(注: 质量块 m 的重量已经和弹簧 k 的初始拉伸相抵消)
根据牛顿第二定律
F
F
ky
f
dy dt
m
d2 dt
y
2
即:
m
d2y dt 2
f
dy ky F dt
选择状态变量 x1 y x2 y x1
则:
x1 x2
x2
k m
y
f m
dy dt
1 m
F
k m
x1
f m
x2
1 m
F
机械系统的系统方程为
x1
x2
0
k m
1 f
m
x1 x2
0 1
m
F
y 1
y a2 y a1 y a0 y b0u
选取状态变量 x1 y
x2 y
x3 y
则有 x1 x2
x2 x3
x3 a0 x1 a1x2 a2 x3 b0u
写成矩阵形式
x1 0 1 0 x1 0
x2
0
0
1
x2
0
u
x3 a0 a1 a2 x3 b0
i(t) uC (t
)
1
L 0
u(t
)
duC (t) 1 i(t) dt C
该方程描述了电路的状态变量 和输入量之间的关系,称为该 电路的状态方程,这是一个矩 阵微分方程。
第1章控制系统的状态空间表达式
u
X
y
●状态方程的一般形式为:
x Ax Bu
§1-1 状态空间变量及状态空间表达式
五. 输出方程
在指定系统输出y 的情况下,输出y 与状态变量x 及系统输入u 的
函数关系式,称为系统的输出方程 。
●系统的状态和输入决定了系统输出的变化 。
2.根据给定的数学模型,画出相应的加法器和比例器。
3.用箭头将这些元件连接起来。
§1-2 状态空间表达式的模拟结构图
二. 绘制状态空间模拟结构图的例子
例1 一阶标量微分方程x: ax bu
u
b+
x x
+
a
§1-2 状态空间表达式的模拟结构图
二. 绘制状态空间模拟结构图的例子
例2 三阶微分方程 : x a2 x a1x a0 x bu
值以及t≥t0时间的输入,就完全能够确定系统在任何t≥t0时间的动态行 为;
●状态变量的最小性,体现在减少变量个数就不能够完全表征系统的动态
行为,而增加变量数则是完全表征系统动态行为所不需要的。
●状态变量在数学上是线性无关的。
●状态变量的选取不是唯一的。
●对于一个实际的物理系统,状态变量个数等于系统独立储能元件的个数。
Kn
J2 x2
x1
Kb
x2
x1
§1-3 状态空间表达式的建立(一)
由以上方框图可知:x1 x2
x2
J2 Kb
x4
x3 K n x4
状态方程:
x4
1 J1
x3
Kp J1
状态空间图和搜索树-QiQiportfolio-Homepage
演示视频:有深/浅水的迷 宫 --- DFS, BFS, or UCS ? (2)
演示视频:有深/浅水的迷 宫 --- DFS, BFS, or UCS ? (3)
树搜索 VS 图搜索
树搜索的思考
没有检测重复出现的状态,导致产生节点成树深度的指数增长
状态图
O(m)
搜索树
O(2m)
通用树搜索算法
基于成本的统一搜索
策略:首先扩展一个成本最低 的节点
前沿用优先级队列存储
(优先级:累计成本)
2a
b1 8 c
3 S
d
2e
9
h8
1 p 15 q
G
2 2f
1
r
成本 轮廓
S0
d3
e9
b 4 c 11 e 5 a 6 a h 13 r 7
h 17 r 11 pq f
p q f8 q q 11 c G 10
state parent action
= result(node.state,a) = node =a
54 6 1 88 7 3 22
path-cost = node.path-cost + step-cost(node.state, a, self.state)
PARENT
Node
STATE
ACTION = Right PATH-COST = 6
演示视屏:迷宫 DFS/BFS (1)
演示视屏:迷宫 DFS/BFS (2)
迭代加深
想法: 结合DFS的空间优势,和BFS的时 间/搜寻浅解的优势
◦ 运行一次深度限制为1的DFS,如果没有 解,…
◦ 运行一次深度限制为2的DFS,如果没有解, 继续
状态空间搜索策略(PPT 45页)
3.3 启发式搜索
• 特点:重排OPEN表,选择最有希望的节点 加以扩展
• 种类:有序搜索、A*算法等
3.3.1 启发式搜索策略和估价函数
盲目搜索可能带来组合爆炸 启发式信息
用来加速搜索过程的有关问题领域的特征信息。
• 启发函数
– 启发函数是用来估计搜索树上节点x与目标节 点Sg接近程度的一种函数, 通常记为h(x)
28 3
1 14
76 5
28 3
2
14
76 5
6
7
23
3 18 4
76 5
8
9
8 3 28 3
21 4 71 4
76 5
65
14
15
83 21 4 76 5
28 3 71 4
65
23 18 4
76 5
23 18 4 76 5
16 17
12 3 84
76 5
23 4 18
76 5
28 3
4 16 4
– 从初始节点,沿着与之相连的边,寻找目标节 点的过程
• 搜索树
– 搜索过程中经过的节点和边,按照原图的连接 关系,便形成一个树形的有向图
• 盲目搜索
– 无向导搜索/穷举式搜索 – 从初始节点,沿连接边逐一考察各个节点,或反
向进行
• 启发式(heuristic)搜索
– 利用“启发性信息”引导的搜索 – 启发式信息是与问题有关的有利于尽快找到问题
75
10
11
28 3 28 3
16 4 16 4
75 7 5
18
19
28 3 28 3 6 4 16
17 5 75 4
28 3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《人工智能》
1.2 图搜索算法:一般框架
保留全部搜索路径,便于信息利用; 根据可用算符集合(相当于回溯搜索算法中 的规则集合)扩展当前节点(状态)的全部 (可能)子节点(即生成新状态) 引入open表和closed 表,对搜索过程进行控 制,实现不同方式的搜索策略(包括回溯) 从隐含的状态空间图中产生包含解路径的显 式搜索子图(产生的搜索图越小、搜索效率 越高)
《人工智能》
状态空间表示法
状态:描述问题求解中任一时刻的状况;变量的有序组合 算符:一个状态→另一状态的操作
状态空间:所有求解路径构成的图;{状态,算符} 表示
问题求解过程:
初始状态:描述问题求解中的初始状况 算符(规则应用):一个状态→另一状态的操作 目标测试:确定给定的状态是否为目标状态
n
1 2
3 0 0
4 1 2
5 2
6 1
7 6
8
9
10 92 724
11 341 2680
12 1787 14200
13 9233 73712
14 45752 365596
U 1 0 D 1 0
12 46
10 4
40 92 352
《人工智能》
例:数独,Latin square
5 3 4 6 7 8 9 1 2 6 7 2 1 9 5 3 4 8 1 9 8 3 4 2 5 6 7
《人工智能》
例:TSP问题
Traveling Salesman Problem
从某城市出发遍历所有n个城市 一遍且仅一遍再回到出发地,求 最短路径 初始状态:在某一城市 算符:移向下一个未访问过的城市 目标测试:是否处于出发地且访问过所有城市一次 路径耗散函数:路程长度,旅行费用等
•No general method of solution is known
(0,2,1) (0,1,0) (0,3,1) (0,0,0) (1,1,1)
(1,1,0)
(2,2,1)
(0,2,0)
例:皇后问题 (1850)
Q
Q Q
Q
初始状态:棋盘上无皇后
Put n queens on an n × n board with no two queens on the same row, column, or diagonal
可能算符: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)
1,1 2,1 2,3 3,3 1,3 1,2 A(1,3) 3,1 B(1,2) 3,2 A(3,2) 2,2
()
((1,1))
((1,2))
((1,1) (2,3))
((1,1) (2,4))
((1,1) (2,4) (3.2))
《人工智能》
Q
() Q ((1,2))
((1,1))
((1,1) (2,3))
((1,1) (2,4))
((1,2) (2,4))
((1,1) (2,4) (3.2))
《人工智能》
路径耗散函数:设定每一步算符操作的耗散值
问题的解:从初始状态到目标状态的路径 最优解:所有解中耗散值最小的解
《人工智能》
例:二阶梵塔问题(习题1.1) 状态描述:(SA,SB) 可能状态:S0=(1,1),S=(1,2),S=(1,3),S=(2,1),Sg=(2,2),S=(2,3) S=(3,1),S=(3,2),Sg=(3,3) 算符:A(i,j)—将A从i轴移至j轴; B(i,j)—将B从i轴移至j轴
《人工智能》
m c m 1 3 m 3 c 3 m 1 m 0 m c 1,2 m 3 m c 1,2
m m x b 1 : c c y , b 0
m m x b 0 : c c y , b 1
((1,1) (2,3))
注1:按顺序,(2,1),(2,2)分别对应的状态是不合法的,
故而回溯到(1,1);
注2:(3,1),(3,2) ,(3,3),(3,4)分别对应的状态都是不
合法的,故而回溯到(2,3)
《人工智能》
Q
()
((1,1))
((1,1) (2,3))
注: (2,3)不存在可用规则,故而又回溯到(1,1);
例:修道士与野人问题(1968)
S0:河左岸有3个Missionaries和3个Cannibals,1条boat
条件:1)M和C都会划船,船一次只能载2人 2)在任一岸上,M人数不得少于C的人数,否则被吃 目标:安全抵达对岸的最佳方案 状态描述:左岸(m,c,b);0≤m≤3,0≤c≤3,b∈{0,1}; S0:(3,3,1);Sg(0,0,0) 状态总数:4×4×2=32种,但合法状态16种
i=1:(1,1)(1,2)(1,3)(1,4)
i=2:(2,1)(2,2)(2,3)(2,4) i=3:(3,1)(3,2)(3,3)(3,4) i=4:(4,1)(4,2)(4,3)(4,4)
Q Q Q Q
《人工智能》
()
《人工智能》
Q
()
((1,1))
《人工智能》
Q
() Q
((1,1))
x m y c , x y 2
x 3 m y 3 c , x y 2
(3,3,1) (3,2,0) (2,2,0) (3,2,1) (3,0,0) (3,1,1) (3,1,0)
0<x+y≤2: (x,y)=(2,0), (0,2),(1,1),(1,0),(0,1)
搜索策略的优劣涉及能否找到最好的解、计算时间、存储空间等
搜索分为盲目搜索和启发式搜索
盲目搜索:按预定的策略搜索,未用问题相关的或中间信息改进搜索。 效率不高,难求解复杂问题,但不失可用性 启发式搜索:搜索中加入问题相关的信息加速问题求解,效率较高, 但启发式函数不易构造
讨论的问题
–有哪些常用的搜索算法? -问题有解时能否找到解?(完备性) –找到的解是最佳的吗?(最优性)- 什么情况下可以找到最佳解? –求解的效率如何?(时间、空间复杂度)
A B A B
1
《人工智能》
2 S0
3香蕉问题
c
a
《人工智能》
b
状态:(w,t,x,y,z) w:猴子的水平位置 {a,b,c}
初始状态:(c,a,b,0,0) 目标状态:(a,a,a,1,1)
t:天花板上香蕉对应的地面位置 {a,b,c}
x:箱子的水平位置 y:猴子是否在箱子上 z:猴子是否拿到香蕉 操作符: Goto(u):猴子走到u处 Push(v):猴子推箱到v处 {a,b,c} {0,1} {0,1}
8 5 9 7 6 1 4 2 3
4 2 6 8 5 3 7 9 1 7 1 3 9 2 4 8 5 6
9 6 1 5 3 7 2 8 4
2 8 7 4 1 9 6 3 5 3 4 5 2 8 6 1 7 9
Sudoku is a logic-based, combinatorial number-placement puzzle. The objective is to fill a 9×9 grid so that each column, each row, and each of the nine 3×3 boxes (also called blocks or regions) contains the digits from 1 to 9 only one time each. The puzzle setter provides a partially completed grid.
•NP-hard(Karp,1972) •有效的启发式算法(1973) •完全多项式近似方案(1998) •……
《人工智能》
与搜索相关的基本概念
图是由结点(顶点)的有穷集合V和边的集合E组成。边是顶 点的有序偶对,若两顶点间存在一条边,就表示这两个顶点
具有相邻关系。
有向图:每条边都有方向;无向图:每条边都无方向。 树是包含n(n>0)个结点的有穷集合,其中: (1)每个元素称为结点(node,或节点); (2)有一个特定的结点被称为根结点或树根。
(3)除根结点外的其余数据元素被分为m(m≥0)个互不相
交的集合T1,T2,……Tm-1,其中每一个集合Ti(1<=i<=m) 本身也是一棵树,被称作原树的子树(subtree)。
《人工智能》
树节点深度: 根节点深度=0 其它节点深度=父节点深度+1
0 1 2 3
《人工智能》
路径的代价(耗散值)
((1,2) (2,4))
((1,1) (2,4) (3.2))
((1,2) (2,4) (3,1))
((1,2) (2,4) (3,1) (4,3))
《人工智能》
存在问题及解决办法
当前状态
问题:
– 深度问题
– 死循环问题
解决办法:
对搜索深度加以限制(有界深度) 记录从初始状态到当前状态的路径, 避免重复
算符:将皇后添加到棋盘上的任一空格 目标测试:8皇后都在棋盘上,且互相攻击不到 路径耗散函数:每一步耗散值1 •8皇后:92种解,本质解12个
返回
•找到一般n皇后问题复杂度为O(n)的算法(1989)
《人工智能》
n 皇后问题解的个数:独立解U;互不相同的解D 现在还没有已知公式可以对 n 计算 n 皇后问题的解的个数。
Q
() Q Q ((1,2))
((1,1))