博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《人工智能:计算Agent基础》——3.2 状态空间
阅读量:6122 次
发布时间:2019-06-21

本文共 1497 字,大约阅读时间需要 4 分钟。

本节书摘来自华章计算机《人工智能:计算Agent基础》一书中的第3章,第3.2节,作者:(加)David L.Poole,Alan K.Mackworth 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2 状态空间

智能行为的一种一般形式就是状态空间(state space)。一个状态(state)包含着所有必备的信息,以用来预测动作结果并确定是否是目标状态。状态空间搜索假设如下:

  • Agent具有状态空间的完全知识,并可观察自己所处的状态(即完全可见)。
  • Agent具有一个动作集,这些动作有已知的确定效果。72
  • 一些状态是目标状态,Agent想要到达其中一个目标状态,并可识别目标状态。
  • 解(solution)就是一个动作序列,使得Agent从当前状态到达目标状态。

【例3-1】 图3-1显示了机器人投递域及寻找从一个位置到达另一个位置的一条路径的任务。这可以抽象为一个状态空间的搜索问题模型,其中状态就是那些位置。假设Agent能够利用低级控制器去执行从一个位置到相邻位置的高级行为,那么在这种层次的抽象中,行为就是指相邻位置的明确的移动。

2448506b9b86495c3ed0dd383a13388e44ccb2b3

例如,机器人在房间r103外,即图中o103位置处,目标是到达房间r123。解就是使机器人到达r123的动作序列。

【例3-2】 在更复杂的情况下,投递机器人可能有多个包裹要投送到不同的位置。在这种情况下,状态包含:机器人的位置、机器人正在投送的包裹以及其他包裹的位置。机器人可能做出的动作包括:移动、捡起与自己在同一位置的包裹,或者随意将包裹放下。目标状态则可能是将一些特定包裹送达预期的位置。73因为我们不考虑机器人或者其他一些包裹的位置,所以可能会出现很多目标状态。
注意上述描述忽略了很多细节,例如,机器人怎样携带包裹(这会影响到它是否能携带其他包裹),机器人所剩的电量,包裹是否易碎或者损毁,以及地板的颜色。我们不把它们作为状态空间的一部分,而假定这些细节与目前所研究的问题无关。
【例3-3】 在一个指导系统中,一个状态可能包含着学生知道的主题集合。动作就是教授一门特定课程,教学行为结果可能是学生弄懂课程的主题,因为学生知道这些主题是他们掌握课程的先决条件。目标就是学生能够懂得一些特定的主题集合。
如果教学的效果也取决于学生的能力,那么这个细节信息也必须作为状态空间的一部分。如果学生正在做什么并不影响行为的结果,也不影响目标是否能达到,那么我们就不必为它建模。
一个状态空间问题(state-space problem)由以下部分组成:

  • 一个状态集;
  • 一个特定状态集合,称为初始状态(start state);
  • 每一个状态中Agent可执行的一个动作集;
  • 一个动作函数(action function),给定一个状态和一个动作,返回一个新的状态;
  • 一个目标状态集,通常被定义为布尔函数,goal(s),当s为目标状态时,这个函数返回值为真。
  • 用于检验一个可接受解的质量的标准。例如,只要能让Agent到达目标状态的任意一个行为序列都是可接受的解,或者动作是有花费的,Agent可能被要求找到最小总花费的解,这样的解叫做最优(optimal)解。或者说,比最优解花费多10%以内的解都是令人满意的。

这种框架在接下来的章节中会进一步扩展讲解,例如以下情况,Agent可以发掘状态的内在特征、状态不能完全可观察(例如,机器人不知道包裹在哪,或者老师不知道学生的能力),或者动作是随机的(例如,机器人有可能跑过了目标位置,或者学生可能不学习被教的主题),或者不仅仅是到达目标状态,还涉及奖惩时存在着复杂的偏好,等等。

转载地址:http://hjzua.baihongyu.com/

你可能感兴趣的文章
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
新手用Linux做代理服务器 三招搞定
查看>>
Android应用程序线程消息循环模型分析(4)
查看>>
Word 2003启动后如何彻底去掉缩略图
查看>>
创建一个.Net项目
查看>>
报表服务入门(实验4)创建共享数据源
查看>>
Lync 小技巧-39-批量-设置-AD-分机-手机-启用-Lync-设置-Lync-分机
查看>>
二、服务器优化(1)实现负载平衡
查看>>
iOS开发那些事-iOS应用本地化-资源文件本地化
查看>>
企业要寻找自己的生态环境
查看>>
RAC表决磁盘管理和维护
查看>>
python下运行报"SyntaxError: Non-ASCII character '/xe6' "错误解决方法
查看>>
MyBatis一对多双向关联——MyBatis学习笔记之七
查看>>
给《网络协议本质论》读者们的一封信:解读三类读者如何读好这本书
查看>>
Skype For Business Server 2015 启用离线消息
查看>>
46.异地(Azure)容灾-准备工作
查看>>
Exchange Server2010系列之十:典型Exchange Server高可用性规划
查看>>
SQL Server 输出 XML
查看>>
轻松搞定个人虚拟桌面部署之1-远程桌面服务概述
查看>>