首页 理论教育 智能体程序

智能体程序

时间:2022-02-11 理论教育 版权反馈
【摘要】:注意智能体程序和智能体函数之间的差别,在于智能体程序以当前感知为输入,而智能体函数是以整个感知历史作为输入的。智能体程序只把当前感知作为输入是因为从环境中无法得到更多的东西;如果智能体的行动依赖于整个感知序列,那么该智能体不得不记住全部感知信息。行动表明确地表示了智能体程序实现的智能体函数。令P为可能的感知信息的集合,T为智能体的寿命。

2.4.1 智能体程序

本书中我们设计的智能体程序都具有同样的骨架:它们从传感器得到当前感知信息作为输入,返回一个行动交给执行器[22]。注意智能体程序和智能体函数之间的差别,在于智能体程序以当前感知为输入,而智能体函数是以整个感知历史作为输入的。智能体程序只把当前感知作为输入是因为从环境中无法得到更多的东西;如果智能体的行动依赖于整个感知序列,那么该智能体不得不记住全部感知信息。

图2.7 TABLE-DRIVEN-AGENT程序被调用,处理每个新的感知信息并每次返回一个行动。它使用自己的私有数据结构记录感知序列

我们将用一段在附录 B 中定义的简单伪代码语言来描述智能体程序。(联机程序代码库包含用真正的程序设计语言所实现的程序。)例如,图2.7显示了一段相当普通的智能体程序,它记录感知序列,然后使用感知序列作为索引,到行动表里查询以决策该做什么。行动表明确地表示了智能体程序实现的智能体函数。要用这种方式来建造理性智能体,作为设计者,我们必须构造包含针对每个可能的感知序列的适当行动的函数表。

考虑为什么构造智能体的表驱动方法注定要失败是有益的。令P为可能的感知信息的集合,T为智能体的寿命(智能体收到的感知信息的总量)。查找表将包括个条目。考虑自动出租车的情况:来自单个摄像头的视频输入以大约每秒27MB的速度传入(每秒30帧,640×480像素分辨率, 24比特颜色信息)。这将使1个小时驾驶对应的查找表条目数超过10250 000 000 000。即使是国际象棋——现实世界的一个微小的、良好表现的片断——的查找表也将包含至少 10150个条目。这些表令人生畏的容量(在可观测到的宇宙原子的数目小于 1080)意味着:(a)这个宇宙中没有一个实际的智能体有保存该表的空间,(b)设计者没有时间来创建该表,(c)没有智能体能够从它的经验中学习所有正确的表条目,(d)即使环境足够简单,可以得到一个可行的表容量,设计者仍然得不到关于如何填写该表的条目的指导。

除了所有这些,TABLE-DRIVEN-AGENT确实能做到我们所需要的:它实现了所需的智能体函数。AI的关键挑战就是搞清楚如何编写程序,在可能的范围内,从少量的代码而不是大量的表条目中产生出理性行为。我们有很多例子显示出在其它很多领域这种做法是可行的:例如,20世纪70年代以前工程师和学童使用的巨大的平方根表,现在已经被电子计算器中的五行牛顿算法程序替代了。问题是, AI能像牛顿计算平方根那样产生一般的智能行为吗?我们相信答案是肯定的。

在本节剩余的部分,我们将概述四种基本的智能体程序,它们涵盖了几乎全部智能系统的基础原则:

• 简单反射型智能体;

• 基于模型的反射型智能体;

• 基于目标的智能体;

• 基于效用的智能体。

然后我们将概括地解释如何把这些智能体转换为学习智能体。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈