第二章:智能Agent
一.Agent和环境
- Agent通过传感器感知环境并通过执行器对所处环境产生影响 。机器人Agent可以通过摄像头,红外测距仪作为传感器,各种马达作为执行器。软件Agent接受键盘敲击,文件内容和网路数据包作为传感器输入,并以屏幕显示,写文件和发送网络数据包为执行器来作用于环境。
- Agent的感知序列:是该Agent所收到的所有输入数据的完整历史。
- Agent函数:描述Agent的行为,它将任意给定感知序列映射为行动。
(1)人造Agent的Agent函数通过Agent程序实现,Agent程序是具体实现。
二.好的行为:理性的概念
理性是使期望的性能最大化
- 理性Agent:理性Agent是做事正确的Agent,即对于每一可能的感知数据序列,一个理性的Agent应该采取一个行为以达到最大的性能。
- 理性的判断:
(1)性能度量:一个客观的标准来评价Agent的行为的成功性
3.理性agent能够进行信息收集,理性的agent应该具有自主性,能够进行学习
三.环境的性质
- 任务环境:包括性能度量,环境,Agent的执行器和传感器,英文缩写为PEAS.(设计Agent时,第一步就是尽可能完整地详细说明任务环境)
- 例子:
(1)自动驾驶出租车:
(2)挑拣零件机器人:
(3)交互式英语教学者:
- 环境的性质决定了Agent的设计,也决定了实现Agent的主要技术群体的实用性。
- 任务环境分类:
(1)分类一:完全可观察的 vs.部分可观察的
如果Agent根本没有传感器,环境则是无法观察的 (2)分类二:单agent vs.多agent
(3)分类三:确定的 vs.随机的
如果环境的下一个状态完全取决于当前状态和Agent执行的动作,则环境是确定的。否则,它是随机的。我们说环境不确定是指它不是完全可观察的或不确定的
(4)分类四:片段式的 vs. 延续式的
片段式:Agent的经历被分成一个个原子片段,在每个片段中Agent感知信息并完成单个行动,下一个片段不依赖于以前的片段.
延续式:在延续环境中,当前决策会影响到所有未来的决策。
(5)分类五:静态的 vs. 动态的
如果环境在Agent计算的时候会变化,则该Agent环境是动态的;否则为静态
半动态的:环境本身不变化但Agent的性能评价随时间变化。
(6)分类六:离散的 vs.连续的
环境的状态,时间的处理方式以及Agent的感知信息和行动都有离散/连续之分
(7)分类七:已知的 vs.未知的
Agent的知识状态
最难处理的状态: 部分可观察的,随机的,连续的,动态的,延续式的,多agent的
四.Agent的结构
- AI的任务是设计Agent程序,它实现的是把感知信息映射到行动的Agent函数
- 体系结构:具备物理传感器和执行器的计算装置。
- Agent=体系结构+程序
- Agent程序
(1)以传感器得到的当前感知信息为输入
(2)以执行器的行动为输出
注意:Agent程序以当前感知为输入,而Agent函数是以整个感知历史作为输入的。如果Agent的行为要依赖于整个感知序列,那么该Agent必须要记住感知信息。 - Agent的表驱动方法的缺点:
(1)表太大
(2)创建表时间长
(3)非自主性,需人工填写
(4)即使能够学习,也需要很长的时间 - 四种基本的Agent程序
(1)简单反射Agent:基于当前的感知选择行动,不关注感知历史
(2)基于模型的反射Agent: Agent根据感知历史维持内部状态,Agent随时更新内部状态信息
(3)基于目标的Agent:除了根据感知信息之外,还要根据目标信息来选择行动,但效率比较低,需要推理。
(4)基于效用的Agent:当达到目标的行为有很多种的时候,需要考虑效率。环境是部分可观察的和随机的,不确定下的决策过程可以通过基于效用的agent来实现。
- 学习Agent可被划分为4个组件
(1)性能元件:相当于整个agent
(2)评判元件:反映性能元件做得如何
(3)学习元件:负责改进提高
(4)问题产生器:提出一些新的有建设性的探索尝试
- Agent的基本特性:
(1) 自治性(Autonomy ) :
Agent能根据外界环境的变化,而自动地对自己的行为和状态进行调整,而不是仅仅被动地接受外界的刺激,具有自我管理自我调节的能力。
(2) 反应性(Reactive):
能对外界的刺激作出反应的能力
(3) 主动性(Proactive):
对于外界环境的改变,Agent能主动采取活动的能力。
(4) 社会性(Social ) :
Agent具有与其它Agent或人进行合作的能力,不同的Agent可根据各自的意图与其它Agent进行交互,以达到解决问题的目的。
(5) 进化性:
Agent能积累或学习经验和知识,并修改自己的行为以适应新环境