第2章 体系结构和分层控制
所谓分层或分层系统,是指一个系统由多个相互关联的子系统组成,而每个子系统又可再次分层直至到达最底层基本子系统为止。自然界的大部分系统中,何时停止分层及什么是基本元素的随意性极大。物理学中会经常使用基本粒子的概念,但是粒子早已证实不是物质的最底层基本元素。
我们从实验观察到自然中的大部分复杂系统都展示出分层结构。从理论上讲,我们希望世界上的复杂系统都具备分层结构,其复杂系统可从简单系统演变而来。
——Herbert A.Simon[1996]
本章主要讨论智能Agent在实时环境中如何感知、推理和动作。实际上,这涉及Agent的内部结构。正如上面西蒙所指出的,层次分解是复杂系统(如智能Agent)设计中的重要部分。因此本章主要描述了用层次分解方式设计智能Agent的方法、构建智能Agent的方法以及构建“智能”所需的知识。
2.1 Agent
Agent是指在具体环境中具有动作能力的对象,如一个人、一个机器人、一条狗、一只小虫子、一阵风、重力、一盏灯或者一个能购物和售货的计算机程序。43
有意图的Agent是具有偏好的,它会偏爱于某些环境状态,并将采取行动来达到它们最偏好的状态。无意图的Agent则会聚集在一起并被称为自然。建模时需设定一个Agent是否为有意图Agent,此建模假定是否合适要根据环境来定,如在一些情境中,需要将某条狗定义为有意图的,而有时候则不需要。
如果一个Agent不具有偏好,由定义可知它不会关心其所处的环境状况,因此也不会关心自己做什么。设计此类Agent的唯一目的是逐步培养其偏好,使其更偏爱某种环境状态并尽力实现之。Agent并非必须知道自己的偏好,如一个恒温器,它只需感知环境,并控制加热器开和关即可。它嵌入了偏好,即让房间中的人员处在一个合适的温度中,尽管它并不知道自己具有此偏好。Agent的偏好一般是Agent设计者的偏好,但是有时在Agent运行中也可赋予目标和偏好。
Agent需要一个“主体”来与环境进行交互。一个嵌入式的Agent有一个物理的主体。机器人就是一个人造的具有目的性的嵌入式Agent。有些Agent则仅在信息空间存在,也被称为机器人,这里我们说的Agent指的便是此类。
本章讨论了如何构建有意图的Agent,我们用机器人作为主要的实例,因为机器人学科中已有相当多的研究,且许多术语来自于机器人学科。当然,此讨论适用于所有Agent。
Agent通过传感器来接收信息。一个Agent的动作取决于通过传感器获取的信息。这些传感器有可能反映环境的真实状态。传感器可能是有噪声的、不可靠的、坏掉的,甚至有时传感器是可靠的,但是它传回的关于环境的信息却是模棱两可的,而Agent却必须依靠其获取的信息来行动。这些信息经常很弱,例如,传感器s看上去会生成数值v。
Agent通过它们的执行器(也叫effectors)来动作。执行器同样可能是有噪声的、不可靠的、行动缓慢的或者坏掉的。Agent所控制的是其发送给执行器的信息(命令)。Agent经常会采取行动去寻找更多的环境信息,如打开橱柜门查看物件或者对学生进行测试来测定他们的知识。