本章将使理性智能体(rational agent)这个概念更加具体。
任何通过传感器(sensor)感知环境(environment)并通过执行器(actuator)作用于该环境的事物都可以被视为智能体(agent)。
我们使用术语感知(percept)来表示智能体的传感器正在感知的内容。智能体的感知序列(percept sequence)是智能体所感知的一切的完整历史。一般而言,一个智能体在任何给定时刻的动作选择可能取决于其内置知识和迄今为止观察到的整个感知序列,而不是它未感知到的任何事物。
从数学上讲,我们说智能体的行为由智能体函数(agent function)描述,该函数将任意给定的感知序列映射到一个动作。在内部,人工智能体的智能体函数将由智能体程序(agent program)实现。
智能体函数是一种抽象的数学表达,而智能体程序是一个具体的实现方法,可以在某些物理系统中运行。
理性智能体(rational agent)是做正确事情的事物,但是做正确的事情意味着什么呢?
人工智能通常坚持一种称为结果主义(consequentialism)的概念:我们通过结果来评估智能体的行为。
这种可取性的概念由性能度量(performance measure)描述,该度量评估任何给定环境状态的序列。注意,正确地制定性能度量可能非常困难。
作为一般规则,更好的做法是根据一个人在环境中真正想要实现的目标,而不是根据一个人认为智能体应该如何表现来设计性能度量。
理性智能体的定义:对于每个可能的感知序列,给定感知序列提供的证据和智能体所拥有的的任何先验知识,理性智能体应该选择一个期望最大化其性能度量的动作。
如果环境的地理信息是未知的,智能体则需要对其进行探索(explore)。
我们需要仔细区分理性和全知(omniscience)。
我们对理性的定义并不需要全知,因为理性决策只取决于迄今为止的感知序列。
采取行动来改变未来的感知,有时被称为信息收集(information gathering),这是理性的一个重要组成部分。
我们的定义要求理性智能体不仅要收集信息,还要尽可能多地从它所感知到的东西中学习(learn)。
如果在某种程度上,智能体依赖于其设计者的先验知识,而不是其自身的感知和学习过程,我们就说该智能体缺乏自主性(autonomy)。一个理性的智能体应该是自主的,它应该学习如何弥补部分或不正确的先验知识。
已经有了理性的定义,但是,还必须考虑任务环境(task environment),它本质上是“问题”,理性智能体是“解决方案”。
任务环境的性质直接影响智能体程序的恰当设计。
在讨论简单的智能体的理性时,我们必须指定性能度量,环境以及智能体的执行器和传感器。我们将这些都归在任务环境的范畴下,基于首字母缩写规则,我们称其为PEAS(Performance, Environment, Actuator, Sensor)描述。
注意,虚拟任务环境可能与“真实”世界一样复杂。例如,在拍卖和转售网站上进行交易的软件智能体(software agent),或称软件机器人或软机器人(softbot),为数百万其他用户和数十亿对象提供交易,其中许多对象具有真实的图片。
人工智能中可能出现的任务环境范围显然非常广泛,然而,我们可以确定相当少的维度,并根据这些维度对任务环境进行分类:
完全可观测的(fully observable)与部分可观测的(partially observable)
单智能体的(single-agent)与多智能体的(multiagent)
确定性的(deterministic)与非确定性的(nondeterministic)
(注意一点,随机的(stochastic)一词被一些人用作“非确定性”的同义词,但我们会区分这两个术语)
回合式的(episodic)与序贯式的(sequential)
静态的(static)与动态的(dynamic)
离散的(discrete)与连续的(continuous)
已知的(known)与未知的(unknown)
最困难的情况是部分可观测的,多智能体的,非确定性的,序贯的,动态的,连续的且未知的。
人工智能的工作是设计一个智能体程序(agent program)实现智能体函数,即从感知到动作的映射。假设该程序将运行在某种具有物理传感器和执行器的计算设备上,我们称之为智能体架构(agent architecture):
智能体 = 架构 + 程序 智能体=架构+程序 智能体=架构+程序
智能体程序大体的框架:将当前感知作为传感器的输入,并将动作返回给执行器。
最简单的智能体是简单反射型智能体(simple reflex agent)。这些智能体根据当前感知选择动作,忽略感知历史的其余部分。
条件-动作规则(condition-action rule)
它们的智能有限。只有在当前感知的基础上才能做出正确的决策,也就是说,只有在环境完全可观测的情况下才可行。
如果智能体可以随机化(randomize)其操作,则可以跳出无限循环。
智能体应该维护某种依赖于感知历史的内部状态(internal state),从而至少反映当前状态的一些未观测到的方面。
关于所谓的“世界如何运转”的知识,被称为世界的转移模型(transition model)。一些关于世界状态如何反映在智能体感知中的信息,这种知识称为传感器模型(sensor model)。
二者结合在一起后,使用此类模型的智能体称为基于模型的智能体(model-based agent)。
除了当前状态的描述之外,智能体还需要某种描述理性情况的目标信息。
搜索和规划是人工智能的子领域,专门用于寻找实现智能体目标的动作序列。
智能体的效用函数(utility function)本质上是性能度量的内部化。
从技术上讲,基于效用(utility)的理性智能体会选择能够最大化其动作结果期望效用(expected utility)的动作。
无模型的智能体(model-free agent)可以学习在特定情况下什么样的动作是最好的,而不必确切地了解该动作如何改变环境。
学习型智能体可以分为4个概念组件,最重要的区别在于负责提升的学习元素(learning element)和负责选择外部行动的性能元素(performance element)。学习元素使用来自评估者(critic)对智能体表现的反馈,并以此确定应该如何修改性能元素以在未来做得更好。最后一个组件是问题生成器(problem generator)。
从某种意义上说,性能标准将传入感知的一部分区分为奖励(reward)或惩罚(penalty),以提供对智能体行为质量的直接反馈。
原子表示(atomic representation)
因子化表示(factored representation)
结构化表示(structured representation)
(学习内容来源:《人工智能现代方法(第4版)》,Stuart Russell,Peter Norvig 著)