智能体和环境
理性智能体 (rational agent) 需要为取得最佳结果或在存在不确定性时取得最佳期望结果而采取行动。
任何通过传感器(sensor) 感知 环境(environment) 并通过 执行器(actuator) 作用于该环境 的事物都可以被视为 智能体(agent) 。
行为
理性智能体 (rational agent)是做正确事情的事物,人工智能通常坚持一种称为 结果主义 (consequentialism)的概念:我们通过结果来评估智能体的行为。
作为一般规则,更好的做法是根据一个人在环境中真正想要 实现的目标 ,而不是根据一个人认为智能体应该如何表现来设计性能度量。
全知、学习和自主:
- 全知:全知的智能体能预知其行动的实际结果, 并能据此采取行动;
- 学习:理性智能体不仅要收集信息,还要尽可能多地从它所感知到的东西中学习 (learn)。
- 自主:如果在某种程度上,智能体依赖于其设计者的先验知识,而不是其自身的感知和学习过 程,我们就说该智能体缺乏自主性(autonomy)。
环境
任务环境 (task environment),本质上是“问题”,理性智能体 是“解决方案”。
PEAS (Performance,Environment,Actuator,Sensor),详细地讨论每个元素:性能度量、环境、执行器、传感器;
任务环境的属性:
- 完全可观测的(fully observable)、部分可观测的(partially observable)、不可观测的(unobservable);
- 单智能体的(single-agent)与多智能体的(multiagent);
- 竞争性(competitive)与合作 的(cooperative);
- 确定性的(deterministic)、非确定性的(nondeterministic)、随机的(stochastic);
- 回合式的(episodic)与序贯的(sequential);
- 静态的(static)、动态的(dynamic)、半动态的(semidynamic);
- 离散的(discrete)与连续的(continuous);
- 已知的(known)与未知的(unknown);
智能体的结构
人工智能的工作是设计一个 智能体程序 (agent program)实现智能体函数,即从感知到动作的映射。
假设该程序将运行在某种 具有物理传感器和执行器的计算设备上,我们称之为 智能体架构 (agent architecture):智能体 = 架构 + 程序
-
简单反射型智能体 (simple reflex agent):智能体根据当前感知选择动作, 忽略感知历史的其余部分。
-
基于模型的反射型智能体 :处理部分可观测性的最有效方法是让智能体追踪它现在观测不到的部分世界, 智能体应该维护某种依赖于感知历史的内部状态(internal state),从而至少反映当前状态的一 些未观测到的方面。(其中包含概念:世界的转移模型(transition model)、传感器模型(sensor model)、基于模型的智能体(model-based agent))
-
智能体的效用函数 (utility function)本质 上是性能度量的内部化。内部效用函数和外部性能度量一致,那么根据外部性能度量选择 动作,以使其效用最大化的智能体是理性的。
-
学习型智能体 ,学习型智能体可分为 4 个概念组件:区别在于负责提升的学习元素(learning element)和负责选择外部行动的性能元素(performance element)。
智能体组件间的工作方式:
- 原子表示(atomic representation):将变量拆解为单一的知识原子。搜索和博弈中的标准算法、隐马尔可夫模型以及马尔可夫决策过程都基于原子表示;
- 因子化表示(factored representation):每个状态拆分为一组固定的变量或属性,每个变量或属性都可以有一个值。约束满足算法、命题逻辑、规划、贝叶斯网络以及各种机器学习算法。
- 结构化表示(structured representation):可以明确地描述对象及其各种不同的关系。关系数据库和一阶逻辑、一阶概率模型和大部分自然语言理解的基础。