人工智能之与或图搜索问题
《人工智能及其应用》(蔡自兴)课后习题答案第3章

第三章搜索推理技术3-1什么是图搜索过程?其中,重排OPEN表意味着什么,重排的原则是什么?图搜索的一般过程如下:(1) 建立一个搜索图G(初始只含有起始节点S),把S放到未扩展节点表中(OPEN表)中。
(2) 建立一个已扩展节点表(CLOSED表),其初始为空表。
(3) LOOP:若OPEN表是空表,则失败退出。
(4) 选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。
称此节点为节点n,它是CLOSED表中节点的编号(5) 若n为一目标节点,则有解并成功退出。
此解是追踪图G中沿着指针从n到S这条路径而得到的(指针将在第7步中设置)(6) 扩展节点n,生成不是n的祖先的那些后继节点的集合M。
将M添入图G中。
(7) 对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针,并将它们加进OPEN表。
对已经在OPEN或CLOSED表上的每个M成员,确定是否需要更改通到n的指针方向。
对已在CLOSED表上的每个M成员,确定是否需要更改图G中通向它的每个后裔节点的指针方向。
(8) 按某一任意方式或按某个探试值,重排OPEN表。
(9) GO LOOP。
重排OPEN表意味着,在第(6)步中,将优先扩展哪个节点,不同的排序标准对应着不同的搜索策略。
重排的原则当视具体需求而定,不同的原则对应着不同的搜索策略,如果想尽快地找到一个解,则应当将最有可能达到目标节点的那些节点排在OPEN表的前面部分,如果想找到代价最小的解,则应当按代价从小到大的顺序重排OPEN表。
3-2 试举例比较各种搜索方法的效率。
宽度优先搜索(1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。
(2) 如果OPEN是个空表,则没有解,失败退出;否则继续。
(3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。
(4) 扩展节点n。
人工智能第4章图搜索技术

例4.4 对于八数码问题,应用
深度优先搜索策略,可得如图4—
6所示的搜索树。
283
深度优先搜索亦称为纵向搜 1 4 765
索。由于一个有解的问题树可能
含有无穷分枝,深度优先搜索如
果误入无穷分枝(即深度无限,但
解不在该分支内),则不可能找到
目标节点。所以,深度优先搜索
策略是不完备的。另外,应用此
例4.6 设A城是出发地,E城是目的地,边上的数字代表 两城之间的交通费。试求从A到E最小费用的旅行路线。
B 4
6
A
3
4
A
E
C 3
D1
3
4
D2 23
E1 3
C
D
2
(a)
E2
B2 6
深度优先搜索算法:
步1 把初始节点S0放入OPEN表中; 步2 若OPEN表为空,则搜索失败,退出。
步3 取OPEN表头节点N放入CLOSED表中,并冠以顺序编号n;
步4 若目标节点Sg=N,则搜索成功,结束。 步5 若N不可扩展,则转步2; 步6 扩展N,将其所有子节点配上指向N的返回指针依次放入
2831 14 765
第4章 图搜索技术
2 283
14 765
6 83
214 765
7 283 714 65
14 83 214 765
15 283 714 65
22 83 214 765
23 813 24 765
3 23 184 765
8 23
1 84 7 65
9 23 184 765
16 1 23
第4章 图搜索技术
步1 把S0放入OPEN表中,置S0的深度d(S0)=0; 步2 若OPEN表为空,则失败,退出。 步3 取OPEN表头节点N,放入CLOSED表中,并 冠以顺序编号n; 步4 若目标节点Sg=N,则成功,结束。 步5 若N的深度d(N)=dm(深度限制值),或者若N无 子节点,则转步2; 步6 扩展N,将其所有子节点Ni配上指向N的返回 指针后依次放入OPEN表中前部,置d(Ni)=d(N)+1,转 步2。
《人工智能导论》第3章 图搜索与问题求解

第 3 章 图搜索与问题求解 图 3-5 修改返回指针示例
第 3 章 图搜索与问题求解
说明:
(1) 这里的返回指针也就是父节点在CLOSED表中的编 号。
(2) 步6中修改返回指针的原因是, 因为这些节点又被第 二次生成, 所以它们返回初始节点的路径已有两条, 但这两 条路径的“长度”可能不同。 那么, 当新路短时自然要走 新路。
第 3 章 图搜索与问题求解
3.1.5 加权状态图搜索
1.加权状态图与代价树
例3.6 图3-9(a)是一个交通图,设A城是出发地,E城 是目的地, 边上的数字代表两城之间的交通费。试求 从A到E最小费用的旅行路线。
第 3 章 图搜索与问题求解 图 3-9 交通图及其代价树
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3. 状态图表示
一个问题的状态图是一个三元组 (S, F, G)
其中S是问题的初始状态集合, F是问题的状态转换 规则集合, G是问题的目标状态集合。
一个问题的全体状态及其关系就构成一个空间, 称为状态空间。所以,状态图也称为状态空间图。
第 3 章 图搜索与问题求解
例 3.7 迷宫问题的状态图表示。
的返回指针和f(x)值, 修改原则是“抄f(x)
”。
(2)对其余子节点配上指向N的返回指针后放入OPEN表中, 并对OPEN表按f(x)值以升序排序, 转步2。
第 3 章 图搜索与问题求解
算法中节点x的估价函数f(x)的计算方法是 f(xj)=g(xj)+h(xj) =g(xi)+c(xi, xj)+h(xj) (xj是xi的子节点)
第二章 人工智能搜索

搜索法中的问题表示
• 对问题进行形式化描述,便于计算机处理。 • 描叙方法对搜索效率有很大的影响。 • 一般用状态空间来表示待求解的问题。
状态空间法(1)
• 找到一个数,该数大于等于13548并且能够被
• • •
13547整除。 问题的论域为【13548,+∞】,为了计算机处 理,可以选择一个足够大的数。 因此,问题的状态空间可以定义为【13548, 1E20】。所有的状态空间构成一个连续自然数序 列。 用状态空间表示法描叙问题时,要定义状态空间, 表示问题的全部可能状态和相互关系。
能找到 • 搜索的效率,避免生成或扩展无用的点。 • 控制开销。即控制策略的开销要尽可能小。
• 几个目标之间有冲突,在以上几个目标中
寻求平衡。
1.1 回溯策略
• 例:皇后问题
Q Q Q Q
()
Q ()
((1,1))
Q () Q
((1,1))
((1,1) (2,3))
Q ()
((1,1))
((1,1) (2,3))
搜索图与搜索树的比较
• 如果采用广度优先搜索算法,优点为实现
简单,但是有可能需要重复处理多次。 • 如果采用深度优先搜索算法,有可能陷入 死循环。需要采用一定的策略避免。 • 图搜索需要额外的计算去检查下一个节点 是否已经生成过。(可以使用广度或深度 优先来遍历图产生生成树)
搜索算法的衡量标准
• 搜索算法的完备性,即只要有解,就一定
– 盲目搜索 – 启发式搜索
• 关键问题:
如何利用知识,尽可能有效地找到问题 的解(最佳解)。
搜索问题(续2)
• 讨论的问题:
– 有哪些常用的搜索算法。 – 问题有解时能否找到解。 – 找到的解是最佳的吗? – 什么情况下可以找到最佳解? – 求解的效率如何。
第3章 图搜索与问题求解

( 4 )对其余子节点配上指向 N 的返回指针后放入 OPEN 表 中某处,或对OPEN表进行重新排序,转步2。
3.1.2 状态图搜索
树式算法的几点说明
返回指针指的是父节点在CLOSED表中的编号。 步6中修改指针的原因是返回初始节点的路径有两 条,要选择“短”的那条路径。 这里路径长短以节点数来衡量,在后面将会看到以 代价来衡量。按代价衡量修改返回指针的同时还要 修改相应的代价值。
3.1.2 状态图搜索
1 搜索方式
树式搜索 在搜索过程中记录所经过的所有节点和边。树式搜 索所记录的轨迹始终是一棵树,这棵树也就是搜索过 程中所产生的搜索树。 线式搜索 在搜索过程中只记录那些当前认为在所找路径上的 节点和边。
不回溯线式搜索 可回溯线式搜索
3.1.2 状态图搜索
2 搜索策略
3.1.2 状态图搜索
搜索:从初始节点出发,沿着与之相连的边试探 地前进,寻找目标节点的过程。 搜索过程中经过的节点和边,按原图的连接关系, 便会构成一个树型的有向图,这种树型有向图称 为搜索树。 搜索进行中,搜索树会不断增长,直到当搜索树 中出现目标节点,搜索便停止。这时从搜索树中 就可很容易地找出从初始节点到目标节点的路径 (解)来。
八数码深度优先搜索
…
3.1.4 启发式搜索
• 启发式搜索的目的 利用知识来引导搜索,达到减少搜索范围,降低问题复 杂度。 • 启发性信息的强弱 强:降低搜索的工作量,但可能导致找不到最优解。 弱:一般导致工作量加大,极限情况下变为盲目搜索, 但可能可以找到最优解。
3.1.4 启发式搜索
启发函数
步5 扩展N,选取其一个未在CLOSED表中出现过的
人工智能06-07期末试题答案

只有一个孤独的影子,她,倚在栏杆上;她有眼,才从青春之梦里醒过来的眼还带着些朦胧睡意,望着这发狂似的世界,茫然地像不解这人生的谜。
她是时代的落伍者了,在青年的温馨的世界中,她在无形中已被摈弃了。
她再没有这资格,心情,来追随那些站立时代前面的人们了!在甜梦初醒的时候,她所有的惟有空虚,怅惘;怅惘自己的黄金时代的遗失。
咳!苍苍者天,既已给与人们的生命,赋与人们创造社会的青红,怎么又吝啬地只给我们仅仅十余年最可贵的稍纵即逝的创造时代呢?。
人工智能基础与应用-人工智能人脸识别-人工智能机器也认识你-人工智能案例照片智能搜索

授课人:目录01提出问题02预备知识任务2——利用训练好的模型来辨识照片030405任务1——训练目标人脸识别模型解决方案随时人民生活水平的提高和手机照相功能的日趋完美,我们不经意中拍摄了很多值得回忆的时刻,一场说走就走的旅行途中也记录下许多令人心动的瞬间,不知不觉之中,我们身边保存了大量的生活相片。
然而,每当你想重温你或者他的系列照片时,或者想分享一张你特别满意的靓照,从众多的照片中一遍遍翻找这些照片的确是一件费时费力的事情。
这时,你可能会问:既然AI无时不在我们身边,能否借助AI的人脸识别技术来帮助我自动整理出我想要的照片,实现照片的智能搜索呢?答案无疑是肯定的。
下面,我们就利用人脸识别技术和OpenCV工具,对相册中的照片进行自动挑选以解决上述问题。
帮人从相册中找出指定人物的系列照片,对于人工操作而言,并不是一件困难的事情,但整理的效率可能不尽人意,毕竟手动翻阅每张照片是个耗时费力的事。
让计算机替代人来完成这个事,难点在于如何从被检照片中识别与目标人脸高度相似的人脸,如果被检照片中有此人,说明该照片就是你想要的那一张,否则,该照片被忽视。
因此,一种可行的方案是:首先训练计算机认识不同式样的同一系列人脸,让它知道其实这些照片上的人物是同为一个人,从而得到目标人脸训练模型;其次,遍历相册中的每张照片,检测出该照片上所有的人脸,提取人脸特征值,然后用目标人脸训练模型依次对人脸特征值进行预测比对,如果两者之间只要有一次高度匹配,就保留该照片,立即进入下一张照片的搜索,如果均不匹配,则忽视该照片,进行下一张搜索,直至搜索完所有的照片;最后得到的所有保留照片就是智能搜索的结果,至此,整个智能搜索照片过程结束。
问题的解决方案如下图所示。
解决方案利用OpenCV来智能搜索相片,有两个重要的环节,一是人脸区域的检测,这要用到前面提到的人脸检测器;二是基于人脸区域数据的人脸识别,这要用到人脸识别模型,下面分别来了解OpenCV中人类检测器和人脸识别模型的使用。
第3章 图搜索与问题求解

第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3.1.4 启发式搜索 1. 问题的提出
2. 启发性信息 按其用途划分, 启发性信息可分为以下三类: (1) 用于扩展节点的选择, 即用于决定应先扩展哪一个节 点, 以免盲目扩展。 (2) 用于生成节点的选择,即用于决定应生成哪些后续节点, 以免盲目地生成过多无用节点。 (3) 用于删除节点的选择,即用于决定应删除哪些无用节点, 以免造成进一步的时空浪费。
第 3 章 图搜索与问题求解
代价树的搜索。所谓代价,可以是两点之间的距离、交 通费用或所需时间等等。通常用g(x)表示从初始节点So到 节点x的代价, 用c(xi,xj)表示父节点xi到子节点xj的代价,即边 (xi,xj)的代价。从而有
g(xj)=g(xi)+c(xi, xj)
而 g(So)=0
第 3 章 图搜索与问题求解 2.深度优先搜索
第 3 章 图搜索与问题求解
深度优先搜索算法: (1) 把初始节点So放入OPEN表中。 (2) 若OPEN表为空, 则搜索失败, 退出。 (3) 取OPEN表中前面第一个节点N放入CLOSED表中,并 冠以顺序编号n。 (4) 若目标节点Sg=N, 则搜索成功,结束。 (5) 若N不可扩展, 则转步(2)。 (6) 扩展N, 将其所有子节点配上指向N的返回指针依次放 入OPEN表的首部, 转步(2)。
第 3 章 图搜索与问题求解
3. 最近择优法(瞎子爬山法) 把局部择优法算法中的h(x)换成g(x)就可得最近择优 法的算法。 例:用代价树搜索求解例3-6中给出的问题。 用分支界限法得到的路径为
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3,1,1,1,1)
(2,2,1,1,1) 我方必胜
(2,1,1,1,1,1) 30
对于比较复杂的博弈问题,只能模拟人的思维 “向前看几步”,然后作出决策,选择最有利自 己的一步。即只能给出几层走法,然后按照一定 的估算办法,决定走一好招。
31
中国象棋
一盘棋平均走50步,总状态数约为10的161 次方。
(2,2,2,1,MAX)
(2,2,1,1,1,MIN)
(2,1,1,1,1,1,MAX)
注:如果MAX走红箭头的分法,必定获胜。 29
分钱币问题
对方先走
(7)
(6,1) (5,2)
(4,3)
(5,1,1) (4,2,1) (3,2,2)
(3,3,1)
(4,1,1,1) (3,2,1,1) (2,2,2,1)
6
普通图搜索的情况
s
n
f(n) = g(n) + h(n) 对n的评价实际是对从s到n这条路 径的评价
7
与或图: 对局部图的评价
初始节点
c
a b
目标
目标
8
两个过程
图生成过程,即扩展节点
从最优的局部途中选择一个节点扩展
计算耗散值的过程
对当前的局部图从新计算耗散值
9
n1 n3 n6
n7 目标
44
步2
Open为空,即已经扩展完节点
5、若CLOSED表为空,则转8;否则取出
CLOSED表中的第一个节点,记为 np;
45
6、若 np 属于MAX层,且对于它的属于MIN层
的子节点 nci 的 e ( nci )有值,则: e ( np ) =max { nci }
46
(续) 若 np 属于MIN层,且对于它的属于MAX层的子 节点 nci 的 e ( nci )有值,则:
用博弈树来表示,它是一种特殊的与或树。节点 代表博弈的格局(即棋局),相当于状态空间中 的状态,反映了博弈的信息, 并且与节点、或 节点隔层交替出现。
20
为什么与节点、或节点隔层交替出现?
假设博弈双方为:MAX和MIN 在博弈过程中,规则是双方轮流走步。在博弈 树中,相当于博弈双方轮流扩展其所属节点。
21
从MAX方的角度来看:
MIN
所有MIN方节点都是与节点
好招
理由:
因为MIN方必定选择最不利于MAX方的方式来 扩展节点,只要MIN方节点的子节点(下出棋 局)中有一个对MAX方不利,则该节点就对 MAX方不利,故为“与节点”。
22
MAX
从MAX方的角度来看:
所有属于MAX方的节点都是或节点
好招
假设1毫微秒走一步,约需10的145次方年。 结论:不可能穷举。
32
在人工智能中可以采用搜索方法 来求解博弈问题,下面就来讨论 博弈中两中最基本的搜索方法。
33
极大极小过程
对于复杂的博弈问题,要规定搜索深度与时间, 以便于博弈搜索能顺利进行。
假设由MAX来选择走一步棋,问题是: MAX如何来选择一步好棋?
OO
OO
OO
XX
XX
XX
XXO
X
XO
X
OX
-
1
0
1
OOO
OO
OO
OO
XX OXX
XX
XX
X
-
X
1
XO
1
X
O
1
OO
X
-
X
X
OOO
OO
OO
OO
X
OX
X
XO
X
XX
X XOX X
X
-
1
2
2
OO O
OO
OO
OO
X
OX
X
XO
XX
XX
XXO XX
-
0
2
1
59
但是,从MAX的角度出发,所有使MAX获胜的 状态格局都是本原问题,是可解节点,而使MIN 获胜的状态格局是不可解节点。
25
博弈树特点
(1)博弈的初始状态是初始节点; (2)博弈树的“与”节点和“或”节点是逐层交替出
现的; (3)整个博弈过程始终站在某一方的立场上,所以能
使自己一方获胜的终局都是本原问题,相应的节 点也是可解节点,所有使对方获胜的节点都是不 可解节点。
34
极大极小过程
极大极小过程是考虑双方对弈若干步之后, 从可能的走法中选一步相对好的走法来走, 即在有限的搜索深度范围内进行求解。
需要定义一个静态估价函数e,以便对棋局 的态势做出评估。
35
极大极小过程的基本思路:
① 对于每一格局(棋局)给出(定义或者倒推) 一个静态估价函数值。值越大对MAX越有利,反 之越不利;
目标
n4(1) n8(0)
n7(0)
红色:5
黄色:6
13
n1 n3 n6
n7目标
n0
初始节点
n0
初始节点
n2 n5
n1 5
n4 n2(4) n5(1) 2
n3(4) n6(2) n8
目标
1 n4(1)
n8(0)
n7(0)
红色:5
黄色:6
14
2.3 博弈树搜索
博弈 是一类具有竞争性的智能活动
双人博弈:即两位选手对垒,轮流依次走步,
n4(1) n5(1)
红色:4 黄色:3
11
n1 n3 n6
n7目标
n0
初始节点
n0
初始节点
n2 n5
n1 5
n4 n2(4)
n3(4)
n5(1)
n4(1)
n8
目标
红色:4 黄色:6
12
n1 n3 n6
n7目标
n0
初始节点
n0
初始节点
n2 n5
n1 5
n4 n2(4) n5(1) 2
n3(4) n6(2) n8
28
现在取 N=7 的简单情况,并由MIN先分
(7,MIN)
所有可能的分法
(6,1,MAX)
(5,2,MAX)
(4,3,MAX)
(5,1,1,MIN)
(4,2,1,MIN)
(3,2,2,MIN)
(3,3,1,MIN)
(4,1,1,1,MAX) (3,1,1,1,1,MIN)
(3,2,1,1,MAX)
41
极大极小过程的基本思想:
(1)当轮到MIN走步的节点时,MAX应考虑最 坏的情况(即f(p)取极小值);
(2)当轮到MAX走步的节点时,MAX应考虑最 好的情况(即f(p)取极大值);
(3)评价往回倒推时,相应于两位棋手的对 抗策略,交替使用(1)和(2)两种方 法传递倒推值。
42
极大极小搜索过程为: 1、将初始节点 S 放入 OPEN 表中,开始时搜索
0
O OX X
2
O XX
O
2
O X XO
3
O
O
OO
XX
XXO XX
O
0
1
1
O
1
X
O
O
OO
X
X
XO
X
X
OX
X
O
1
2
2
X
X
OO
O
O
X
OX
X
0
1X
1X
0O X
58
XOO
1
X
X
OO
1
X
X
第三步
OO
X X -
X
XOO XOO XOO XOO
OX
X
X
XO
X
XO
X
OX
1
2
1
1
OO
- X X
OO X
X
XX
-
OOO
利的,不存在对双方均有利或均无利的棋,对 弈的结果是一方赢,而另一方输,或者双方和 棋。
17
博弈的特点:
双方的智能活动,任何一方都不能单独控制 博弈过程,而是由双方轮流实施其控制对策 的过程。
18
人工智能中研究的博弈问题:
如何根据当前的棋局,选择对自己最有利的 一步棋 ?
中国象棋
19
博弈问题(求解过程)的表示:
e ( np )=min{ nci }
47
7、转5; 8、根据 e (S) 的值,标记走步或者结束(-∞,
∞或 0)。
48
算法分成两个阶段:
第一阶段为1、2、3、4步,用宽度优先算法生成 规定深度 k 的全部博弈树,然后对其所有端节点 计算 e(P);
第二阶段为5、6、7、8步,是自下而上逐级求节 点的倒推估价值,直至求出初始节点的 e(S) 为止, 再由 e(S) 选得相对较好的走法,过程结束。
53
② 若 P 是MAX获胜,则 e(P)=+∞
③ 若 P 是MIN获胜,则 e(P)=-∞
54
例:计算下列棋局的静态估价函数值
O ×
棋局
e(P)=6-4=2
×O× × ×× × ××
行=2 列=2 对角=2
OOO O×O OOO
行=2 列=2 对角=0
55
利用棋盘的对称性,有些棋局是等价的
O ×
树 T 由初始节点 S 构成;
2、若 OPEN 表为空(节点扩展结束),则转5;
3、将 OPEN 表中第一个节点 n 移出放入
CLOSED 表的前端;
43
4、若 n 可直接判定为赢、输、或平局,则令对应的
e(n)=∞,-∞或 0,并转2;否则扩展 n,产生 n 的 后继节点集 { ni },将{ ni }放入搜索树 T 中。此时, 若搜索深度d{ ni }小于预先设定的深度 k,则将 { ni }放入OPEN表的末端,转2;否则,ni 达到深 度k,计算e ( ni ),并转2;