《人工智能:计算Agent基础》——2.8 习题

2.8 习题

2.1 2.3节提到一个论点,即不可能脱离Agent的任务和目的而独立地构建一个世界表示。此习题能使你评估此论点。
选择一个特定的世界,如当前你的桌面的一部分。
i) 让某个人列出在此世界上存在的所有东西(或者自己完成)。
ii) 再考虑20种没有列出的,且尽可能相互完全不同。例如,桌子最右边的圆珠笔的笔头上的小球、订书机的弹簧,或是桌上某本书66页的第三个单词。
iii) 找出一个无法用自然语言描述的东西。
iv) 选定一个任务,如整理桌面,并写出所有与此任务相关的所有物体的描述。
基于此习题,讨论如下几个状况:
(a) 世界上存在什么是由观察者观察来决定的。
(b) 我们需要某种方法来指定到每一个个体,而非期望每个个体都有独立的名字。
(c) 存在哪些个体是由任务同样也是世界的属性决定的。
(d) 为了描述领域中的某个个体,你需要有一个极大的词典和一个有效的方法来组合66它们用于描述个体,而且这点必须与任何特定的领域无关。
2.2 解释为何例2-5中的中间层必须有前一目标位置和当前目标位置作为输入。假定只有其中一个作为输入,哪一个是必需的?这将会导致什么问题?
2.3 例2-6中的目标位置的定义意味着当规划结束时,机器人将会将其最后一个目标位置作为其目标位置,然后不断绕圈。改变定义使得机器人可以返回原点,然后围绕原点绕圈。
2.4 如例2-5中的方法躲避障碍物很容易便会陷入困局。
(a) 设置一个障碍物和一个目标以便于机器人使用例2-5中的控制器,会发现其不能到达(会崩溃或者绕圈)。
(b) 即使没有障碍物,机器人也可能无法到达目的地。例如,如果他在目标位置附近,它就会不断绕圈而无法到达目标地点。设计一个可以发现此问题并能使其到达目标点的控制器。
2.5 考虑图2-11中的“机器人困境”。
(a) 解释一下为何它会使一个机器人难以到达目标点g。你必须解释机器人现在会有何种行为,且为何难以设计一个更为复杂的机器人(如,一个使用“右手规则”的机器人会沿着墙走:当其碰到障碍物时其会左转并沿着墙走,而墙面始终在其右侧)来工作。
(b) 直观上我们认为如果想要脱离这个迷宫,需要当一个机器人撞到墙后,它会一直绕着墙走直到右转次数与左转次数相同。告诉我们如何实现此方法,解释信念状态、信念状态转换函数和命令函数。

2.6 当用户选择并移动当前目标位置时,此章中的机器人会继续行至此目标的原坐标处,而不会再去其当前位置。试着改变此控制器使其可以向目标的当前位置移动。
2.7 现在的控制器会顺序访问todo列表中的地点。
(a) 改控制器为投机型,当它需要选择下一个位置时,它会选择距离当前位置最近的目的地。当然其仍需访问所有的目的地。
(b) 给出一个环境实例,在此环境中新控制器完成访问任务花费的时间少于使用原控制器花费的时间。
(c) 给出一个环境实例,在此环境中使用原控制器花费的时间要少于使用修改后的控制器所花费的时间。
(d) 改变控制器,使得Agent在行进的每一步都朝向距其当前位置最近的目的地。
(e) 使用(d)中描绘的控制器会不会出现陷入死循环以致无法到达目的地,而使用原控制器却可以正常工作的环境中?给出一个其会陷入原地转圈的例子并解释为何其无法找出一个解决方法,或者给出其为何不会陷入转圈的原因。
2.8 改变控制器使得机器人可以感知环境并获知某位置的坐标。这里假定主体可以提供已命名位置的坐标。
2.9 假设你有个新工作,必须为一个机器人构建一个控制器。你告诉老板你只需要实现命令函数和状态转换函数。他们会对此产生质疑。为何是这些函数?只需要这些函数?向其解释为何一个控制器仅需要一个命令函数和一个状态转换函数。请用适当的言语,要简洁。

时间: 2024-08-24 19:03:27

《人工智能:计算Agent基础》——2.8 习题的相关文章

《UNIX/Linux 系统管理技术手册(第四版)》——2.2 bash脚本编程

2.2 bash脚本编程 UNIX/Linux 系统管理技术手册(第四版) bash特别适合编写简单的脚本,用来自动执行那些以往在命令行输入的操作.在命令行用的技巧也能用在bash的脚本里,反之亦然,这让用户在bash上投入的学习时间获得了最大的回报.不过,一旦bash脚本超过了100行,或者需要的特性bash没有,那么就要换到Perl或者Python上了. bash脚本的注释以一个井号(#)开头,并且注释一直延续到行尾.和命令行中一样,可以把逻辑上的一行分成多个物理上的多行来写,每行末尾用反斜

《UNIX/Linux 系统管理技术手册(第四版)》——第2章 脚本和shell 2.1 shell的基础知识

第2章 脚本和shell 好的系统管理员都要写脚本.脚本以标准和自动的方式履行系统管理员的繁杂事务,藉此把管理员的时间节省出来,以花在更重要和更有意思的任务上.从某种意义上讲,脚本也是一种低质量的文档,因为它们充当了一种权威提纲,提纲里列出完成特殊任务所需的步骤. 从复杂性来看,系统管理脚本的范围很广,小到一个脚本,简单得只封装几条静态命令,大到一个重要的软件项目,为整个站点管理主机配置和管理性数据.在本书里,我们所感兴趣的主要是系统管理员通常会碰到的较小的日常脚本项目.因此,对于较大项目才需要

《UNIX/Linux 系统管理技术手册(第四版)》——2.7 推荐读物

2.7 推荐读物 UNIX/Linux 系统管理技术手册(第四版) BROOKS, FREDERICK P., JR. The Mythical Man-Month: Essays on Software Engineer- ing. Reading, MA: Addison-Wesley, 1995. Shell基础知识和bash脚本编程 ALBING, CARL, JP VOSSEN, AND CAMERON NEWHAM.Bash Cookbook. Sebastopol, CA: O'R

《UNIX/Linux 系统管理技术手册(第四版)》——1.2 读者的知识背景

1.2 读者的知识背景 UNIX/Linux 系统管理技术手册(第四版) 本书假定读者已经具备一定程度的Linux或者UNIX经验.尤其要从用户的角度对系统的风格有个一般性的概念,因为我们不再复述这方面的材料.有一些优秀的书籍可以帮助读者迅速掌握这些概念,参见本章1.14节. 即便在现今有三维图形显示功能的桌面计算机上,用于UNIX和Linux系统管理的GUI工具与其下层丰富的软件相比,依然显得相当简单.在现实世界里,我们仍然要通过编辑配置文件和编写脚本来完成管理工作,因此读者需要习惯于使用某种

《UNIX/Linux 系统管理技术手册(第四版)》——2.6 脚本编程的最佳实践

2.6 脚本编程的最佳实践 UNIX/Linux 系统管理技术手册(第四版) 虽然本章里的代码片段几乎不带注释,而且很少打印用法说明,只是因为我们已经列出了每个例子的大纲,从而体现出若干关键点.实际的脚本应该有更好的表现.有几本书通篇就讲编码的最佳实践,不过其中的基本指导原则如下. 如果运行脚本时带了不合适的参数,脚本应该打印一则用法说明,然后再退出.更好的做法是,也以这样的方式实现--help选项. 验证输入的有效性,并检查获得的输入值.例如,在对算出来的一个路径执行rm -fr操作之前,可能

《UNIX/Linux 系统管理技术手册(第四版)》——2.4 Perl编程

2.4 Perl编程 UNIX/Linux 系统管理技术手册(第四版) Larry Wall发明了Perl语言,它第一种真正伟大的脚本编程语言.它的能耐要比bash大得多,而且编写良好的Perl代码也相当容易阅读.另一方面,Perl没有给开发人员强加太多的风格规范,所以不考虑可读性的Perl代码显得很神秘.Perl也被诟病为只适合写(不适合读)的语言. 我们在这里介绍Perl 5,这个版本成为标准已经有10年了.Perl 6是一个仍处在开发之中的主要版本.参考perl6.org了解详情. 对于系

《UNIX/Linux 系统管理技术手册(第四版)》——1.14 推荐读物

1.14 推荐读物 UNIX/Linux 系统管理技术手册(第四版) ROBBINS, ARNOLD. UNIX in a Nutshell (4th Edition). Sebastopol, CA: O'Reilly Me- dia, 2008. SIEVER, ELLEN, AARON WEBER, AND STEPHEN FIGGINS.Linux in a Nutshell (5thEdition). Sebastopol, CA: O'Reilly Media, 2006. GANC

《UNIX/Linux 系统管理技术手册(第四版)》——1.6 特定于系统的管理工具

1.6 特定于系统的管理工具 UNIX/Linux 系统管理技术手册(第四版) 在现代的操作系统内,包含有各种各样可视化的工具和控制面板(比如SUSE的YaST2和IBM的SMIT),帮助用户配置或者管理选定的系统功能.这些工具非常有用,特别是对于管理员新手来说更是如此,但是它们也倾向于不能完整地体现下层软件的实际操作.它们让管理工作变得容易,但大多数又变得不那么权威. 在本书中,出于下面几个原因,我们要介绍可视化工具调用的底层机制,而不是工具本身.第一,可视化工具趋于专有化(或者至少是趋于为系

《UNIX/Linux 系统管理技术手册(第四版)》——第1章 从何处入手 1.1 系统管理员的基本任务

第1章 从何处入手 UNIX/Linux 系统管理技术手册(第四版) 现如今,有关UNIX和Linux的知识太多太多,由手册.博客.期刊.图书以及其他参考资料构成了浩如烟海的知识库,因此,我们在策划本书内容的时候,就从上述的知识库中遴选出沧海一粟,力求专门满足系统管理员的需求. 首先,本书是一本入门培训指南.书中探讨了主要的管理性系统,先区分它们彼此间的不同之处,然后又阐述它们如何协同工作.在很多情况下,同一概念有若干种不同的实现,系统管理员必须要在其中做出自己的选择,我们则介绍每种实现的优缺点

《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档

1.10 其他的权威文档 UNIX/Linux 系统管理技术手册(第四版) 手册页仅仅是官方文档中的很小一部分.遗憾的是,其余更大一部分的文档都散布在Web上. 1.10.1 针对系统的专门指南 大多数发行商都有自己专门的文档项目,许多发行商还出整本书那样的手册.现在,一般都能找到联机形式的手册,而不是纸质的书.文档的规模和质量则大有不同,但是大多数发行商都至少提供一份系统管理指南和一份安装指南.表1.4给出了在哪儿可以找到我们示例系统的文档. 在这其间最出众的是IBM,IBM针对系统管理的各方