《人工智能:计算Agent基础》——2.2 Agent系统

2.2 Agent系统

图2-1展示了Agent与环境的一般交互过程,该图所示整体即是我们所说的Agent系统。44
一个Agent系统是由Agent和其所在环境构成。Agent接收环境中的刺激,然后做出相应动作。
一个Agent由主体(body)和控制器(controller)两部分组成。控制器从主体处接收感知,然后将命令送至主体处。
主体包括传感器和执行器,传感器将外部刺激转化为感知,执行器能将命令转换成动作。
刺激包括光、声音、键盘上输入的单词、鼠标移动或者物理冲击,也包括从网页或者数据库中获取的信息。
常见的传感器包括触摸传感器、相机、红外传感器、声呐、麦克风、键盘、鼠标或者通过网页来抽取信息的XML阅读器。作为原型传感器,相机感知进入它的光束,将其转换成亮度数值的二维数组,称为像素。有时会使用多维像素数组来表示不同的颜色或者满足多镜头相机的需求。这些像素数组可被控制器感知。而更多的时候,感知对象通常有着更高层的特征,如线、边或深层次的信息。通常来说,接收的都是特定信息,如明亮的橙色圆点的位置,学生关注的演出部分或者人们打出的手势信息。
动作一般包括转向、加速、移动关节、讲话、展示信息或者向某一网址发送邮件的命令。命令又包括低级命令(如将发动机的电压设定为某个数值)和高级命令(如令一个机器人进行某些运动,例如“停止”,“以1m/s的速度向正东方向运动”或者“到103房间去”)。执行器同传感器类似,都包含噪声。例如,停止是需要时间的;机器人在物理规则下运动,所以具备动量,且信息传递需要时间。机器人也许最终只是以接近1m/s的速度运动,45接近正东方向,且速度和方向都是不断波动的,甚至运动到某一指定房间的行为可能会由于各种原因而失败。
控制器是Agent的大脑,本章的剩余部分将主要讨论如何构建一个控制器。
Agent的功能
Agent应构建为实时性的:应能即时接收传感器信息,并即时做出反应。特定时刻的Agent动作是其输入的函数。我们首先考虑时间的概念。
设T为时间点集合,假定T有序,且任意两个时间点的时序距离均可测定。大体上,我们设定T可以映射到实线上的一些子集。
若任意两个时间点间仅存在有限个时间点,则称T是离散的,如每一天或1/100秒有一个时间点,或者有趣事件发生的时刻也可以是时间点。但如果T中任意两个时间点间都存在另一个时间点,则认为T是稠密的,这表明T中的任意两个时间点间存在无限多个时间点。离散时间存在如下特征:除了最后时间点,其他任何时间点均存在下一时间点。而稠密时间则无“下一时间点”。我们将时间初始化为离散的,且没有尽头。因此每个时间点都存在下一时间点。我们令t+1为时间点t的下一时间点,但这并不代表时间点之间是等间隔的。
假定T有初始时间点,我们这里称其为0。
假定P为所有可能感知对象的集合。一个感知轨迹或者一个感知流则为一个从T到P的函数,它描述了每一时间点所观察到的事物。
假定C是所有命令的集合。 图2-2 例2-1的感知轨迹 图2-3 例2-1的命令轨迹47一个命令轨迹为从T到C的函数,其代表在每个时间点的命令。
【例2-1】 我们来考虑一个家居交易Agent,它监控着多种家居用品价格(如它监视着某些特定交易,并记录卫生纸的涨价情况)及家中相应存量。它必须决定是否购进某物及在何种价格时购进。感知对象为当前商品价格及家中存量。命令为Agent决定购买的各类商品的数量(若不购进则数目为0)。感知轨迹描述了每个时间点(如每天)的商品价格和库存数量,如图2-2所示。命令轨迹描述每个时间点Agent购进的商品数量,如图2-3所示。
实际购入动作依赖于命令,但有可能有所不同。如Agent发出一条以某一特定价格购入12卷(1打)卫生纸的命令,但并不意味着Agent实际购入了12卷卫生纸,因为可能由于网络通信问题,仓库中的卫生纸已卖完,或者在决定买和实际买之间时价格已经46发生变动。
一个Agent的感知轨迹是控制器在过去、现在和将来接收到的所有感知信息的序列。命令轨迹则是控制器在过去、现在和将来发出的所有命令信息的序列。命令可以是历史感知的函数。这就产生了转换的概念,从感知轨迹映射到命令轨迹的函数。
因为所有的Agent都处于时间流中,所以Agent不能真正地观察到全部感知序列;在任意时刻,它只能观察到截至现在的感知轨迹。在t(t∈T)时刻只能观察到t时刻及其之前的信息流。其命令只能根据其经验来决定。
转换过程是有因果联系的,如果对于所有时刻t,在t时间的命令都仅由t和其之前的感知信息决定。因果限制是必需的,因为Agent处于时间流中,所以t时刻的命令不可能依靠t之后的感知信息。
控制器完成因果转换的具体实现。
Agent在时间t的历史包括其在t时刻和之前的感知流和在t时刻和之前的命令流。
因此,一个因果转换可看做是从Agent在t时刻的历史到其在t时刻发出的命令的函数。这可被认为是Agent的最规范描述。
【例2-2】 继续例2-1的情况,一个因果转换可认为,对于任意时刻,Agent需要购买多少日用品取决于历史价格、历史库存量(包括时下价格和现有库存)及过往购买历史。
因果转换的示例如下:当库存量低于5打且价格低于过去20天的平均价格的90%时则购买4打;若库存量低于1打时购进1打;其他情况下不购进。
尽管因果转换是用户历史的函数,但其不能直接实现,因为Agent不能直接获得它们的全部历史信息,它只能获得当前的感知信息和它仍能记住的信息。
一个Agent在时间t时的信念状态是其所能记住的所有以前时间的信息的总和。Agent只能获取其存在信念状态中的历史。因此信念状态蕴含了其现在和将来命令所能用到的所有历史信息。在任何时间,Agent都能访问其信念状态和感知信息。
信念状态可以包含任何信息,仅受制于其存储器大小和处理能力限制。这是信念的一个非常普通的定义;有时我们会使用信念的一个更特别的定义,如Agent的信念是关于世界上哪些为真,或是关于环境的动态改变,或是关于其在未来会做什么。
一些信念状态的实例如下所示:

  • 有固定顺序指令队列的Agent的信念状态可能是一个程序计数器,记录着该序列的当前位置。48
  • 信念状态可能包含有用的特定事实,例如,传送机器人在何处放下包裹去找钥匙,或者它找钥匙时已经去过的地方,记住任何当前无法立即观察却相对稳定的信息对Agent是有用的。
  • 信念状态可以编码成一个模型或者整个世界状态的部分模型。Agent可以保留其对于当前世界状态的最佳猜测,也可以是可能世界状态的一个概率分布,详情内容见5.6节和第6章。
  • 信念状态可以是世界的动态表示、感知的意义,Agent可以使用其感知来判断世界中什么是正确的。
  • 信念状态可以编码为Agent的愿望、它需实现的目标、它关于世界的信念、它的意图或者为了实现目标而准备实施的步骤。当Agent行动和观察世界时,这些能被维持,例如,移除已经达成的目标或当发现更适合的步骤时改变意图。

控制器必须保存Agent的信念状态并决定每个时刻发出何种命令。当它做这些时,它应该获得的信息需包括自身信念状态和当前感知。
离散时间下的信念状态转换函数可表示为
remember:S×P→S
其中,S是信念状态集,P是可能认知的集合;st+1=remember(st,pt)表示状态st+1是在信念状态st之后观察到pt得出的信念状态。
指令函数可表示为
do:S×P→C
其中,S是信念状态集,P是可能认知的集合,C是可能指令的集合;ct=do(st,pt)表示当前的信念状态为st,观察到pt时控制器需要发出的指令ct。
信念状态转换函数和指令函数一起描述了Agent的因果转换过程。可以发现,因果转换是Agent历史的函数,Agent不必访问历史,但指令函数是Agent信念状态和认知的函数,这两个是Agent必须要访问的。
【例2-3】 为了实现例2-2中的因果转换,控制器必须跟踪过去20天内的价格。通过使用均值(ave)的跟踪数值,可以更新均值
ave∶=ave+(new-old)/20
其中,new是最新时刻的价格,old指记住的最早时刻的价格,它在使用后立即会被丢弃。其中最初20天的数据将会做一些特殊处理。49
为了使控制器更加简单,其不需记忆过去20天的历史来获取平均值,而改为仅存储平均值,并使用平均值来替代最早价格。信念状态便仅包含一个数据(ave)。更新平均值的状态转换函数为
ave∶=ave+(new-ave)/20
这个控制器很容易实现,对于在过去20个时间单位之前发生的变化不敏感。这种保留平均估计值的方法是强化学习中的时间差分法的基础。
如果仅存在有限的可能信念状态,控制器可被称为有限状态控制器或者有限状态机。因素化表达是指信念状态、感知和命令均由特征来定义。如果存在有限特征,且每个特征仅存在有限种可能的取值,那控制器就是一个因素化有限状态机。更全面的控制器可以采用无限数量的特征或特征取值来构建。一个有可数状态的控制器可以计算任何图灵机可计算的问题。

时间: 2024-09-20 05:51:28

《人工智能:计算Agent基础》——2.2 Agent系统的相关文章

《人工智能:计算Agent基础》——第二部分 表达和推理第3章 状态和搜索3.1 用搜索进行问题求解

第二部分 表达和推理 第3章 状态和搜索 你看到过海岸上的螃蟹在寻找大西洋的过程中一直向后爬行,最终消失吗?人们也是同样的思考方式.--H.L.Mencken (1880-1956) 前面一章讨论了Agent是如何理解和动作的,但是没有讲到它们的目标是如何影响动作的.一个Agent可以根据既定的目标集有规划的去动作,但是如果不能适应变化的目标,这样的Agent就是非智能的.或者,Agent能够根据自身能力和既定目标去推理,从而决定应该做什么.这一章介绍将Agent决定做什么的问题描述为在一个图中

《人工智能:计算Agent基础》——1.6 原型应用

1.6 原型应用 人工智能领域的应用广泛而且多样化,包括医疗诊断.工厂流程调度.险恶环境中的机器人.博弈.太空中的无人驾驶车辆.自然语言处理系统.指导系统等.这些应用并不是独立进行的,我们抽象出这些应用的本质特点,来研究智能推理及动作背后的原理. 本节概述了4个应用领域,其中的几个实例将贯穿整本书.尽管我们介绍的几个实例都很29简单(如此他们才适用于本书),但其应用领域代表了人工智能技术能够或正在应用的领域范围. 4个应用领域如下所示: 自主传送机器人会在某个建筑物旁徘徊,负责给里面的人传送包裹

《人工智能:计算Agent基础》——1.4 知识表示

1.4 知识表示 一般情况下,要解决的问题或要完成的任务,包括解的构成,是通过非形式化的方式给出的,例如"他们到达时,请立即递交包裹"或"请修理家中存在故障的电力系统". 计算机解决问题的一般框架在图1-4中给出.为了解决问题,系统设计者必须: 具体化任务,并制定解决方案. 用特定的语言表达问题,以便计算机进行推理.11 用计算机计算出相应结果进行输出,可以给用户呈现一个答案或是在环境中需要执行的一系列行为. 解释作为问题的解决方案的输出结果. 知识是可以用来解决本

《人工智能:计算Agent基础》——1.2 人工智能简史

1.2 人工智能简史 纵观人类历史,人们曾一直用技术为人类自身建立模型,例如古代的中国.古埃及和古希腊都可以证明,每一种新技术都不断地用来建造Agent或其他意识模型.发条装置.水力学.电话转换系统.全息图.模拟计算机以及数字计算机等都被提出作为智能装置和意识模型的技术原理.大约400年前,人们开始解释思维与推理的本质.Hobbes(1588-1679)被Haugeland6[1985,P.85]称为人工智能的始祖,认为思考是符号推理,例如大声说话或用纸笔计算出某个答案.Descartes(15

《人工智能:计算Agent基础》——导读

前 言 本书是一本关于人工智能(AI)科学的图书.本书认为AI所要研究的是如何设计智能计算Agent(智能体).本书采用教科书的组织形式,适合广大读者阅读.过去几十年,我们见证了AI这门综合学科的兴起.正如其他学科一样,AI具有清晰.规范的理论和难操控的实验部分.本书平衡了理论和实验,并将两者密切地结合.俗话说"好的理论必须有其实用价值",因此我们将工程应用融入到AI的科学研究中.本书所述方法都秉承了格言"凡事都应尽量从简,但不可过简".我们认为科学必须有其坚实的基

《人工智能:计算Agent基础》——1.5 复杂性维度

1.5 复杂性维度 从自动调温器到在竞争性环境中有多种目标的企业,Agent在环境中行为的复杂性各不相同.Agent的设计存在多个维度的复杂性.这些维度可以分开来考虑,但建造智能Agent时必须组合起来.这些维度定义了人工智能的一个设计空间,空间里的不同点可以通过改变维度值来得到.这里我们介绍9个维度:模块性.表示方案.规划期.感知不确定性.效用不确定性.偏好.Agent数量.学习和计算限制.这些维度对智能系统的设计空间做了粗糙的划分.有时为了建立智能系统必须做出很多其他的选择.1.5.1 模块

《人工智能:计算Agent基础》——第一部分 世界中的Agent:什么是Agent及如何创建它们第1章人工智能与Agent1.1 什么是人工智能

第一部分 世界中的Agent:什么是Agent及如何创建它们 第1章人工智能与Agent 人工智能的历史充满幻想.可能.验证和希望.自从荷马描绘机器"鼎"服侍在众神的餐桌旁,那想象中的机器佣人便成为我们文化的一部分.然而,我们人工智能的研究者,直到50年前,才首次制造出实验性机器来验证那些假想,即有关具备思维和智能行为机器人的假想,使得之前仅在理论上具备可能性的机器人得到验证.--Bruce Buchanan [2005] 历经几个世纪的思想构建,人工智能学科被公认为有超过50年的历史

基于数据库、OLE及VBA技术的《计算机文化基础》集成考试系统

数据|数据库         基于数据库.OLE及VBA技术的<计算机文化基础>集成考试系统            陈克力      内容提要:本文介绍了在VB中利用数据库技术.对象链接技术(OLE)及VBA编程开发的集成考试系统,从而实现在<计算机文化基础>课中对理论知识与操作技能进行无纸化考试与自动阅卷.    关键词:数据库 OLE VBA 无纸化考试                         一. 问题提出     <计算机文化基础>是非计算机专业都要开设

《FLUENT 14.0超级学习手册》——第1章 流体力学与计算流体力学基础1.1 流体力学基础

第1章 流体力学与计算流体力学基础 FLUENT 14.0超级学习手册 流体力学是力学的一个重要分支,它主要研究流体本身的静止状态和运动状态 ,以及流体和固体界壁间有相对运动时的相互作用和流动的规律,在生活.环保.科学技术 及工程中具有重要的应用价值. 计算流体力学或计算流体动力学(Computational Fluid Dynamics, CFD),是用电子计算机和离散化的数值方法对流体力学问题进行数值模拟和分析的一个分支. 本章先介绍流体力学中支配流体流动的基本物理定律,然后在此基础上介绍用

软硬件结合,让人工智能计算进入民主化时代

 [51CTO.com原创稿件]在这个火热的七月里,芯片行业老大哥英特尔动作不断.先是发布了新一代的至强可扩展处理器,紧接着对外公布了基于Apache Spark的分布式开源深度学习框架BigDL的新版本,并计划于近期正式发布.不久前,笔者曾在北京采访了英特尔公司软件与服务事业部副总裁,系统技术和优化部门大数据技术总监马子雅女士,就深度学习四大痛点与BigDL解决之道进行了交流与沟通.近期,笔者再次跟随英特尔转战上海,来到位上海紫竹科学园区的英特尔亚太研发有限公司,对英特尔公司软件与服务事业部副