本章的主要问题就是理解什么是Agent,如何根据特定问题构建出合适的Agent模型以及可以构建出什么样的Agent的问题。
智能Agent
- 理性Agent
- 环境的性质
- Agent的结构
-
- 基于反射的Agent
- 基于模型的Agent
- 基于目标的Agent
- 基于效用的Agent
理性Agent
理性的判断依赖于以下四个方面:
- 定义成功标准的性能度量(P)
- Agent 对环境的先验知识(E)
- Agent可以完成的行动(A)
- Agent截止到此时的感知序列(S)
理性Agent的定义:对每一个可能的感知序列,根据已知的感知序列提供的证据和Agent具有的先验知识,理性Agent应该选择能使其性能度量最大化的行动。
环境的性质
考虑任务环境是理性Agent要“求解”的基本“问题”。
根据理性的定义,我们的任务环境也必须将上述的四个方面性能度量、环境·、Agent执行器、传感器归结在一起才能构建出合适的任务环境。(根据四方面的首字母定义该描述为PEAS描述)
简单例子:自动驾驶出租车系统
- 性能度量:油耗、到达目的地的时间长短、安全性、乘客舒适度等等
- 环境:各种道路、路上的行人车辆、天气等等
- 执行器:个人感觉可以理解成action,如踩油门,方向盘的控制,与顾客的交流等等
- 传感器:主要是车上搭载的摄像头来感知环境变化
更多示例:
Agent的结构
Agent程序,它实现的是把感知信息映射到行动的Agent 函数。
假设该程序要在某个具备物理传感器和执行器的计算装置上运行——我们称为体系结构。
Agent =体系结构+程序
基于反射的Agent
这类Agent基于当前的感知和内置的规则集选择行动,不关注感知历史。虽然结构简单,但只感知当前的信息,对于许多需要考虑历史对当前影响的场景是不适用的。
基于模型的Agent
这类Agent不仅仅是有规则集,还有它需要知道Agent的行动会对环境造成什么影响,即知道世界如何运转,在内部需要有一个世界模型(model)
基于目标的Agent
这类Agent除了知道自己当前的状态,还可以用目标信息来描述想要达到的状态,基于目标的Agent更加的明确,通过目标的指引,利用自己已知的模型和感知的信息不断更新自己的状态以达到目标。
此类决策与前面描述的条件-行动规则有根本的不同,原因是它考虑了未来——包括“如果我这样做会发生什么?”和“这样做会让我高兴吗?”这样的问题。基于目标用的做动作是是推理,而基于反射是基于规则进行行动的。
基于效用的Agent
这类Agent是对于基于目标Agent更加精细化的描述,如果说基于目标的Agent对于性能度量是二值的,那么基于效用的Agent对于目标的性能度量是从0到1的连续值。