哈工大人工智能原理习题homework-1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工智能原理练习题-1
从习题中选择自己感兴趣的题目进行思考和解答,任何尝试都是有益的。
必要时,仔细阅读教科书当中的某些章节。
对于加星号的习题,应该编写程序来完成。
第1章人工智能概述
1 用自己的语言定义:(a)智能,(b)人工智能,(c)智能体。
2 用你自己的话定义下列术语:智能体、智能体函数、智能体程序、理性、自主、反射型智能
体、基于模型的智能体、基于目标的智能体、基于效用的智能体、学习智能体。
3 对于下列智能体,分别给出任务环境PEAS描述:
a. 机器人足球运动员;
b. 因特网购书智能体;
c. 自主的火星漫游者;
d. 数学家的定理证明助手。
4 检查AI的文献,去发现下列任务现在计算机是否能够解决:
a.打正规的乒乓球比赛。
b.在开罗市中心开车。
c.在市场购买可用一周的杂货。
d.在万维网上购买可用一周的杂货。
e.参加正规的桥牌竞技比赛。
f.发现并证明新的数学定理。
g.写一则有内涵的有趣故事。
h.在特定的法律领域提供令人满意的法律建议。
i.从英语到西班牙语的口语实时翻译。
j.完成复杂的外科手术。
对于现在不可实现的任务,试着找出困难所在,并预测如果可能的话它们什么时候能被克服。
5 Loebner奖每年颁发给最接近天通过某个版本图灵测试的程序。
查找和汇报Loebner奖最近的得主。
它使用了什么技术?它对AI目前的发展水平有什么推动?
6 这道习题要探讨的是智能体函数与智能体程序的区别:
a. 是否有不止一个智能体程序可以实现给定的智能体函数?请举例,或者说明为什么不可能。
b. 有没有无法用任何智能体程序实现的智能体函数。
c.给定一个机器体系结构,能使每个智能体程序刚好实现一个智能体函数吗?
d. 给定一个存储量为n 比特的体系结构,可以有多少种可能的不同智能体程序?
7 有一些类众所周知的难题对计算机而言是难以解决的困难,其它类问题是不能判定的。
这是否意味着AI是不可能的?
8 内省-----汇报自己的内心想法-----是如何不精确的?我会搞错我怎么想的吗?请讨论。
第2章搜索技术
1 解释为什么问题的形式化必须在目标的形式化之后。
2 有限的状态空间总是导致有限的搜索树吗?是树结构的有限空间呢?你能更精确地说出什么类型的状态空间总是导致有限的搜索树吗?(改编自Bender,1996)
2 给出下列问题的初始状态、目标测试、后继函数和耗散函数。
选择精确得足以实现的形式化。
a. 只用四种颜色对平面地图染色,要求每两个相邻的地区不能染成相同的颜色。
b. 一间屋子里有一只3英尺的猴子,屋子的房顶上挂着一串香蕉,离地面8英尺.屋子里有
两个可叠放起来、可移动、可攀登的3英尺高的箱子。
猴子很想得到香蕉。
c. 有一个程序,当送入一个特定文件的输入记录时会输出“不合法的输入记录”。
已知每个
记录的处理独立于其它记录。
要求找出哪个记录不合法。
d. 有三个水壶,容量分别为12加仑、8加仑和3加仑,还有一个水龙头。
可以把壶装满或者
倒空,从一个壶倒进另一个壶或者倒在地上。
要求量出刚好1加仑水。
*3 传教士和野人问题通常描述如下:三个传教士和三个野人在河的一边,还有一条能载一个人或者两个人的船。
找到一个办法让所有的人都渡到河的另一岸,要求在任何地方野人数都不能多于传教士的人数(可以只有野人没有传教士)。
这个问题在AI领域中很著名,因为它是第一篇从分析的观点探讨问题形式化的论文的主题(Amarel,1968)
a. 精确地形式化该问题,只描述确保该问题有解所必需的特性。
画出该问题的完全状态空间
图。
b. 用一个合适的搜索算法实现和最优地求解该问题。
检查重复状态是个好主意吗?
c. 这个问题的状态空间如此简单,你认为为什么人们求解它却很困难?
*4 编写一个程序,当输入两个网页的URL(链接地址)后能找到从一个网页到另一个网页的链接路径。
什么样的搜索策略是适合的?双向搜索是好主意吗?能用搜索引擎实现一个前辈函数吗?
5 考虑一个状态空间,它的初始状态编号为1,状态n的后继函数返回两个状态,编号为2n和
2n+1。
a. 画出状态1到15的部分状态空间图。
b. 假设目标状态为11。
列出用以下算法访问节点的顺序:广度优先搜索,深度限制为3的深
度有限搜索,以及迭代深入搜索。
c. 双向搜索是否适合这个问题?如果合适的话,详细地描述它是怎样工作的。
d. 在双向搜索中每个方向上的分支因子是什么?
e. 对(c)的回答是否能提出问题的一种重新形式化,使你可以几乎不用搜索来求解从状态1到达目标状态的问题?
*6 实现两种八数码游戏的后继函数:一种通过复制和编辑八数码游戏的数据结构立刻生成它的
全部后继;另一种每次调用的时候通过直接修改父状态(需要的话可以撤消修改)生成一个新后继。
写出使用这两种后继函数的迭代深入算法和深度优先算法并比较它们的性能。
7 证明用于GRAPH-SEARCH 算法是,单步耗散为常数的代价一致搜索和广度优先搜索是最优
的。
给出一个单步消耗为常数的状态空间,在其中使用迭代深入的GRAPH-SEARCH 算法会找到非最优解。
8 描述一个状态空间,在其中迭代深入搜索比深度优先搜索的性能要差很多(例如,一个是O
(n 2),另一个是O (n ))。
*9 在下图中所示的平面上有两个点,之间有很多凸多边形障碍物,考虑寻找这两个点之间的最
短路很的问题。
这是机器人在拥挤的环境中求解道路导航问题的一种理想化情况。
a . 假设状态状态空间由平面上所有的点(x,y )组成。
共有多少个状态?共有多少条到达目标的路径?
b . 简要解释为什么在这个场景中从一个多边形的顶点到另一个顶点的最短距离必然由连接某些多边形的顶点的直线段组成。
现在定义一个良好的状态空间。
这个状态空间有多大?
c . 定义必要的函数来实现这个搜索问题,包括把一个顶点作为输入的后继函数,它返回从该顶点出发能够通过直线段到达的顶点集合。
(不要忘记该顶点所在的多边形的相邻顶点。
)用直线段的长度作为启发函数。
d . 应用本章中的一种或多种搜索算法来求解这个领或内的一定范围的问题,并评价它们的性能。
10 跟踪A*搜索算法用直线距离启发式求解从Lugoj 到Bucharest 问题的过程。
按顺序列出算法
扩展的节点和每个节点的f ,g ,h 值。
11 启发式路径算法是一个最佳优先搜索,它的目标函数是f(n) = (2 - w) g(n) + w h(n)。
算法中w
取什么值能保证算法是最优的?当w = 0时,这个算法是什么搜索?w = 1呢?w = 2呢?
12 设计一个状态空间,在其中用GRAPH-SEARCH 的A*算法返回的不是最优解,如果它的启
发函数h(n)是可采纳的但不是一致的。
13 在第4.2.2节,我们定义了松弛的八数码游戏,其中如果B 是空的,一个棋子可以直接从方
格A 移到方格B 。
这个问题的精确解定义了Gaschnig 启发式(Gaschnig ,1979)。
解释为什G
么Gaschnig 启发式至少和h 1(不在位棋子数)一样精确,并说明它比h 1和h 2(曼哈顿距离)更精确的情况。
你能给出一个有效计算Gaschnig 启发式的方法吗?
14 根据下面的特殊情况给出算法的名称:
a. k = 1的局部剪枝搜索。
b. k = ∞的局部剪枝搜索。
c. 所有时刻T = 0的模拟退火搜索。
d. 种群大小为N = 1的遗传算法。
15 有些情况下一个问题找不到好的评价函数,但是有一个好的比较方法:即只是指出一个节点
是否优于另一个节点而不需要指出它们实际的评价数值。
证明这对于最佳优先搜索就已经足够了。
A*算法是否类似?
16 假设一个智能体在一个教科书中图4.18所示的3╳3大小的迷宫里(如下图)。
智能体知道它
的起始位置是(1,1),目标位置是(3,3),四种行动Up (上),Down (下),Left (左),Right (右)通常可以发挥效果,除非遇到有墙阻碍。
智能体不知道迷宫内部的墙在哪些地方。
在任何给定的状态,智能体知道合法行动集合;它也知道一个状态是已经访问过的状态还是新状态。
321321S
G
图4.18 一个简单的迷宫问题。
智能体从状态S 出发到达状态G ,但是智能体对环境一无所知
a. 解释这个联机搜索问题如何可以视为在信念状态空间中的脱机搜索问题,初始的信念状态包括所有可能的环境布局。
初始信念状态有多大?信念状态空间有多大?
b. 在初始状态可能有多少个不同的感知信息?
c. 描述这个问题的偶发性计划的头几个分支。
完整的计划(大约)有多大?
注意这个偶发性计划是符合给定描述的每个可能环境的解决方案。
因此,即使在未知环境
下搜索和行动的交叉也不是严格必需的了。
*17 在本题中,我们将在机器人导航问题中考察爬山法,以第9题中图示(教科书图3.22)的环境为例。
a. 用爬山法算法重复习题9。
智能体会卡在局部最小值上吗?可能遇到被凸障碍物卡住的情
况吗?
b. 构造一个非凸多边形的环境,智能体在其中会被卡住。
c. 修改爬山法算法,在决定下一步的时候不用深度为1的搜索,而用深度为k的搜索。
它
将找到最好的k步路径并且沿着该路径走一步,然后重复这个过程。
d. 有没有某个k使得新的算法保证能避免局部极小值?
e. 解释LRT A*是怎样使新的算法能够在这种情况下避免局部极小值的。
18 用你自己的话定义约束满足问题、约束、回溯搜索、弧相容、后向跳转和最小冲突。
19 图5.1(澳大利亚地图)所示的地图染色问题一共有多少个解?
20 解释为什么在CSP搜索中,一个好的启发式选择变量的时候应该选择约束最多的变量,而选
择值得时候应该选择造成约束最少的。
21 对以下两个问题给出精确的约束满足问题的形式化:
a. 直线地面规划:在一个大的矩形里找到不重叠放置许多小的矩形的方法。
b. 授课日程安排:给定了固定数量的教授和教室,一个可提供课程的清单,以及可能安排课
程的时间段清单。
每个教授有他(或她)能教的课程列表。
22 分别用回溯算法、前向检验算法、MRV和最少约束值启发式算法手工求解下图(图5.2)中的密码算术问题。
T W O
+ T W O
F O U R
(a)(b)
图5.2 (a)一个密码算术游戏。
每个字母表示一个不同的数字:目标是找到能使加法式子成立的代替字母的数
字,附加约束是前面的数字不能是0。
(b)密码算术游戏的约束超图,表示了Alldiff约束和每列相加的约束。
每
个约束在图中用方块表示,连接到它所约束的变量
23 考虑下述的逻辑问题:有5所不同颜色的房子,住着5个来自不同国家的人,每个人都喜欢
一种不同牌子的香烟、不同牌子的饮料和不同的宠物。
给定下列已知条件,请回答问题“斑马住在哪儿?以及哪所房子里的人喜欢喝水?”:
英国人住在红色的房子里。
西班牙人养的是狗。
挪威人住在最左边的第一所房子里。
住在黄色房子里的人喜欢抽Kools牌香烟。
喜欢抽Chesterfields牌香烟的人住在养狐狸的人旁边。
挪威人住在蓝色房子旁边。
喜欢抽Winston牌香烟的人养了一只蜗牛。
喜欢抽Lucky Strike牌香烟的人喜欢喝橙汁。
乌克兰人喜欢喝茶。
日本人喜欢抽Parliaments牌香烟。
喜欢抽Kools牌香烟的人住在养马的人的隔壁。
住在中间房子里的人喜欢喝牛奶。
讨论把这个问题表示成CSP问题的不同方法。
你认为哪种比较好,为什么?
24 这道习题以井字棋(圈与十字游戏)为例子,练习博弈中的基本概念。
我们定义X n为恰好有
n个X而没有O的行、列或者对角线的数目。
同样O n为正好有n个O的行、列或者对角线的数目。
效用函数给X3=1的局部赋值+1,给O3=1的局部赋值-1。
所有其它终止局面效用值为0。
对于非终止局面,我们使用线性的评价函数,定义为
Eval(s)= 3X2(s)+ X1(s)–(3O2(s)+ O1(s))。
a. 估算大约总共有多少种可能的井字棋局面?
b. 考虑到对称性,给出从空棋盘开始到深度为2的完整博弈树(例如,在棋盘上一个X和
一个O的局面)
c. 标出深度为2的所有局面的评价值。
d. 使用极小极大值算法标出深度为1和0的局面的回传值,并根据这些值选出最佳的起始
步。
e. 假设节点按对α-β剪枝的最优顺序生成,圈出如果使用α-β剪枝将被剪掉的深度为2
的节点。
25 证明下面的断言:对于每棵博弈树,MAX使用极小极大值算法对抗非最优招数的MIN得到的
效用值不会比对抗最优招数的MIN得到的效用值低。
你能构造出一棵博弈树,使得MAX用非最优策略对抗非最优MIN可以做得比使用最优策略更好吗?
26 考虑图6.14(下页图)中描述的两人游戏。
a. 用下面的约定,画出完整的博弈树:
●每个状态用(S A,S B)表示,其中S A和S B表示棋子的位置。
●每个终止状态外面画方框,并在圆圈里写出它的博弈值。
●把循环状态(已经在到根节点的路径上出现过的状态)放在双方框内。
由于不清楚
怎样给循环状态赋值,在圆圈里标记一个“?”。
b. 现在给每个节点标记回传得极小极大值(也标记在圆圈里)。
解释怎样处理“?”值和为
什么。
c. 解释标准的极小极大值算法为什么在这棵博弈树中会失败,简要地勾画你可能如何改进
它,并在问题(b)的图上画出你的答案。
你的改进算法对于所有包含循环的游戏都能给出最优决策吗?
d. 这个4-方格游戏可以推广到n个方格,对于任意n〉2。
证明如果n是偶数,A一定能赢;
而n是奇数,A一定会输。
图6.14 一个简单游戏的初始局面。
游戏者A先走。
然后两个游戏者轮流走棋,每个
人必须把自己的棋子移动到任一个方向上的相邻空位中。
如果对方的棋子占据着相
邻的位置,你可以跳过对方的棋子到下一个空位,如果有空位的话。
(例如,A在
位置3,B在位置2,那么A可以移回1。
)当一方的棋子移动到对方的棋盘端点时游
戏结束。
如果A先到达位置4,A的游戏值为+1;如果B先到位置1,A的游戏值-1。
27 给出一个关于α-β剪枝正确性的形式化证明。
要做到这个,考虑图6.15中的情况。
问题为是否要剪掉节点n j,它是一个MAX节点,也是n1的一个后代。
基本的思路是当且仅当n1的极小极大值可以被证明独立于n j的值时,才剪枝。
a. n1的值由下面公式给出
n1 = min(n2,n21,…,n2b2)
为n2找到类似的表达式,因此得到用n j表示n1的表达式。
b. 节点n i的极小极大值已知,l i是在节点n i左侧深度为i的节点的极小值(或者极大值)。
同样,r i是在n i右侧深度为i的未探索过的节点的极小值(或者极大值)。
用l i和r i的值重写你的n1表达式。
c. 现在调整你的表达式来说明为了影响n1,n j必须不超出由l i值得到的一个特定界限。
d. 对于n j是MIN节点的情况重复上面的过程。
28 描述把标准的博弈方法运用到连续的物理状态空间中进行的游戏,诸如网球、台球和门球,
效果会如何?
29 对于下列问题试用深度优先、广度优先、A*算法分别解决,如果步骤太多,可以择要加以讨论。
(1)有2n个硬币,其中除一个略重外,其余2n-1个都一样重,如果有一架无砝码的天平,请求出:至少称多少次才能把略重的那个硬币找出来?(提示:把2n个硬币对应于一个2n维状态向量,其中每个硬币对应于(1)未知(2)略重(3)正常三种状态。
)
(2)下图是一张西极洲地图,共14个国家,试用上述3种状态搜索法来解该图的四色问题。
(提示:可把状态设计为一个别14个维向量,每个分量可为红、黄、蓝、绿四色之一。
任意选择一个向量,例如全红,为初始状态,每步改变其中的一个颜色,直到相邻国家颜色都不同为止)
(3)下图是由四个圆环组成的盘面,每个圆环都可以独立地绕中心转动,每次转动900。
图中所示的是初始状态,要达到目标状态是每条半径上的数字总和为12。
试用上述3种状态搜索法搜索,并写出搜索步骤。
5
3
1
2
5 5 2 3 ・ 1 4 1 4
3
3
4
2
(4)有四个正方块。
在每个正方块上任意选择四面,分别涂上红、黄、蓝、绿四种颜色,其余两面随意各涂这四色之一。
请你把四个方块叠成一根方柱,使方柱每一面都具备四种不同颜色,并把搜索过程用状态空间法描述出来。
(5)有2n个硬币排成一行,n个正向的在左,n个反向的在右,规定每次移动时必须把紧挨着的两个一起移,只许旋转,要求至多用n步把它们变成正反相间的形式,并且中间不许出现空档。
下图n=3的情形。
初始:正正正反反反
第1步移动:正反反反正正
第2步移动:正反反正反正
第3步移动:反正反正反正
试给出n=4时的状态空间和搜索空间。
30 证明以下论点:
a. 广度优先搜索是代价一致搜索的一种特殊情况。
b. 广度优先搜索、深度优先搜索和代价一致搜索是最佳优先搜索的特殊情况。
c. 代价一致搜索是A*搜索的一种特殊情况。
31 证明如果一个启发式是一致的,它肯定是可采纳的。
构造一个非一致的可采纳启发式。
32 在八宫图搜索中,把启发函数h定义为h(n)=p(n)+3s(n)
其中p(n)是所有棋子偏离指定指定位置的距离总和,s(n)是对棋子排列顺序评分的总和。
其中若有一非中心棋子与其后继棋子的顺序不符合目标顺序,则该棋子得2分,否则得零分。
中心格内有棋子时得1分,否则得零分。
你能否
(1)证明h(n)≤h*(n)不成立。
(2)验证带宽条件h*(x)-d≤h(x)和h(x)≤h*(x)+e是否成立。
(3)如果成立,给出一个d和一个e
(4)如果可能,给出最小的d和最小的e.
(5)如果有可能,给出能使上述d和e被达到的例子。
(6)考察在此情况下所得与最优解的差距。
33 下图是一片方砖地,每块的每条边涂有(红、黄、蓝、绿)四色之一。
允许两种操作:(1)交换两块砖,(2)把一块砖旋转900。
目标是使每一对邻砖的公共边颜色一致,你能用爬山法解
4分别代表四种颜色。
34 再次考察本章的四色问题,假设给定西极洲地图的初始着色为(红,黄,蓝,绿,红,黄,蓝,绿,红,黄,蓝,绿,红,黄)按x1,…,x14排列,允许的操作是更换一个国家的着色,你能用爬山法解这个问题吗?请给出搜索过程。