讨论智能体的性质、环境的多样性、以及由此产生的各种类型的智能体

2.1 纵览AI的各种研究途径

  • 控制论和大脑仿真 Cybernetics and brain simulation
  • 符号与亚符号 Symbolic vs. Sub-symbolic
  • 基于逻辑与反逻辑 Logic-based vs. Anti-logic
  • 符号主义与联结主义 Symbolism vs. Connectionism
  • 统计方法 Statistical approach
  • 智能体范式 Intelligent agent paradigm

2.2 理性Agent

Here we concentrate on general principles of rational agents and on components for constructing them.
我们在此专注于理性智能体的一般原理和构造智能体的组件

为什么采用理性智能体

  • 与“类人的思考/动作”方式相比更通用,因为正确推理只是为了获得理性的可行机制之一。
  • 与“类人的思考/动作”方式相比更顺应科技的发展。

Agent举例

智能体指任何能通过传感器感知环境和通过执行器作用于环境的实体。

  • A human agent 人类智能体
  • A robotic agent (robot) 机器智能体(机器人)
  • A software agent (softbot) 软件智能体(软件机器人)

    抽象智能体

  • 智能体经常被大致地描述成一个类似于计算机程序的抽象功能系统。

  • 它们有时被称为抽象智能体,将其与现实世界的计算机系统、生物系统、或组织机构加以区别。
  • 某些智能体的定义强调其自主性,因而喜欢自主智能体这个术语
  • 其他人仍然将目标导向行为作为智能的本质,故而喜欢从经济学借用的术语,理性智能体。

各种定义

  • 逐渐顺应新的问题求解规则
  • 适合在线与实时
  • 能够从行为、错误与成功方面进行自我分析
  • 通过与环境交互进行学习与改善
  • 迅速从大量的数据中学习
  • 具有基于内存的样本存储和检索能力
  • 具有表示短期和长期记忆、遗忘等参数

  • 什么是理性智能体?

是一个有正确行为的智能体—— 该功能表中的每个条目都正确填写。

  • 什么是正确的行为?
    • 一个智能体在一个环境中依据感知生成一系列动作
    • 这些动作经由一系列状态而引起环境发生变化
    • 如果该系列变化是所期望的,则该智能体表现良好
  • 正确的行为 = 理性的动作

对给定的感知序列,能使期待的性能指标最大化。

  • 理性 = 最佳
  • 理性 = 最优
  • 理性 ≠ 全知全能
  • 理性 ≠ 明察秋毫
  • 理性 ≠ 百战百胜

理性的概念

理性依赖于四件事:

  • 定义成功标准的性能指标
  • 智能体对环境的先验知识
  • 智能体能够完成的动作
  • 智能体最新的感知序列

    2.3 任务环境

    什么是PEAS

    PEAS 是一种任务环境的规范,在设计智能体时须首先明确的四大要素,简称PEAS:

  • 性能度量 (Performance measure)

  • 环境 (Environment)
  • 执行器 (Actuators)
  • 传感器 ( Sensors )

eg.

  • 自动出租车智能体 PEAS
    • 性能度量: 安全、快速、合法、舒适、利润最大化
    • 环境: 道路、其他交通工具、行人、顾客
    • 执行器: 方向盘、油门、刹车、信号、喇叭
    • 传感器: 摄像机、声纳、测速仪、GPS、里程表、发动机传感器、键盘
  • 卫星图像分析系统 略
  • 网上购物 略

不同的环境类型

  • 完全可观察 vs. 部分可观察 (Fully observable vs. partially observable)
  • 单Agent vs. 多 Agent (Single vs. multi-agent)
  • 确定的 vs. 随机的(非确定性的)(Deterministic vs. stochastic)

  • 阵发性 vs. 连续性 (Episodic vs. sequential)
  • 静态的 vs. 动态的 (Static vs. dynamic)
    • 半动态 semi-dynamic
  • 离散的 vs. 连续的 (Discrete vs. continuous)
  • 已知 vs. 未知 (Known vs. unknown)

image.png

2.4 Agent的结构

智能体函数和程序

一个智能体就是由一个由感知系列映射到动作的智能体函数来确定的。
2 智能体 - 图2
目标:找到实现理性智能体函数的方法。

智能体的结构

一个智能体的行为可以数学上被描述为一个智能体函数,将每个感知映射为动作。
2 智能体 - 图3
image.png

智能体函数

智能体函数是一个抽象的概念,它可以包含将各种决策制定的原则

  • 单个选项的效用计算
  • 贯穿逻辑规则的推论
  • 模糊逻辑
  • 查找表
  • …

    智能体程序

    实现一个智能体函数。它将感受器的输入作为当前的感知,然后返回一个动作给执行器。
    该智能体程序通过查找表返回一个动作。 ```bash function TABLE-DRIVEN-AGENT(percept) returns an action persistent: percepts, a sequence, initially empty
    1. table, a table of actions, indexed by percept sequences, initially fully specified.
    2. action, the most recent action, initially none
    append percept to the end of percepts
    1. action ← LOOKUP(percepts, table)
    return action
  1. <a name="NKSiM"></a>
  2. ### 智能体的结构
  3. ![](https://cdn.nlark.com/yuque/__latex/9affbc9b2a70f280fccef795d4f794e0.svg#card=math&code=%5Cbegin%7Baligned%7D%20%5Ctext%20%7BAgent%7D%20%26%3D%5Ctext%20%7Bplatform%7D%2B%5Ctext%20%7Bagent%20program%7D%20%5C%5C%20%5Ctext%20%7Bplatform%7D%20%26%3D%5Ctext%20%7Bcomputing%20device%7D%2B%5Ctext%20%7Bsensors%7D%2B%5Ctext%20%7Bactuators%7D%20%5C%5C%20%5Ctext%20%7Bagent%20program%7D%20%26%20%5Csupset%20%5Ctext%20%7Bagent%20function%7D%20%5Cend%7Baligned%7D&height=64&width=422)
  4. <a name="mlbhM"></a>
  5. #### 智能体的层次
  6. - 智能体通常表现为一个分层的结构,它包含许多“子智能体”。
  7. - 子智能体处理和执行较低级的功能。
  8. - 智能体和子智能体构建一个完整的系统,它可以通过行为和反应来完成艰巨的任务。
  9. <a name="pOoo1"></a>
  10. #### 表征智能体状态的三种方式
  11. <a name="kjgCz"></a>
  12. ##### 原子式
  13. - 每个状态是个黑盒子,没有内部结构。
  14. - 例如,寻找驾驶路径问题,从某个国家的一端到另一端,经过一系列城市。
  15. <a name="vDH28"></a>
  16. ##### 因子式
  17. 每个状态由一组固定的属性和值组成。<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1571172/1600570176600-b0e41d83-344f-408d-855d-be9bae66d36f.png#align=left&display=inline&height=323&margin=%5Bobject%20Object%5D&name=image.png&originHeight=323&originWidth=829&size=104674&status=done&style=none&width=829)
  18. <a name="ka1nl"></a>
  19. ##### 结构式
  20. 每个状态包含对象,每个具有属性以及与其它对象的关系。<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1571172/1600570195578-637fbfe2-37f9-4375-b48f-7a7f0dd66d21.png#align=left&display=inline&height=383&margin=%5Bobject%20Object%5D&name=image.png&originHeight=383&originWidth=867&size=177281&status=done&style=none&width=867)
  21. <a name="a5Nqm"></a>
  22. ## 2.5 智能体的主要类别
  23. 该分类是基于他们感知的智能和能力的程度。<br />这里我们将介绍5种类型的智能体,体现几乎所有智能系统的基本原理。
  24. <a name="WWeba"></a>
  25. ### 简单反射智能体
  26. 简单反射智能体仅仅在当前感知的基础上动作,忽略其余的感知历史。<br />智能体功能是基于条件动作规则:if 条件 then 动作。<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1571172/1600570320504-0cde4caf-c10e-4684-83f1-72ac178f8a6b.png#align=left&display=inline&height=288&margin=%5Bobject%20Object%5D&name=image.png&originHeight=384&originWidth=959&size=85889&status=done&style=none&width=719)
  27. - 仅当外部环境为完全可观测时,该智能体的功能才能发挥。
  28. - 某些反射智能体也可以包含关于其当前状态的信息,允许它们忽视执行器已被触发的条件。
  29. - 智能体在部分可观测环境下运行时,无限循环往往是无法避免的。
  30. - 注意:如果智能体可以随机产生其动作,有可能从无限循环中摆脱出来。
  31. 简单反射型智能体程序
  32. ```bash
  33. function SIMPLE-REFLEX-AGENT(percept) returns an action
  34. persistent: state, the agent’s current conception of the world state
  35. rules, a set of condition–action rules
  36. action, the most recent action, initially none
  37. state ← INTERPRET-INPUT(percept)
  38. rule ← RULE-MATCH(state, rule)
  39. action ← RULE-ACTION[rule]
  40. return action

一个简单反射智能体。它按照规则动作,其条件匹配由感知所定义的当前状态。
只有在环境完全可见的情况下才能工作,否则可能会出现无限循环!!(有时可以采用随机化来避免)

基于模型的反射智能体

一个基于模型的反射智能体可以处理部分可观测环境。
其当前状态存储在智能体中,维护某种结构,它描述不可见外部环境的一部分。
image.png

  • 关于“外部环境如何运作”的知识被称为一个外部环境模型,由此得名“基于模型的智能体”
  • 基于模型的反射智能体将保持某种内部模型。
  • 内部模型依赖于感知的历史,因此至少反射某些当前状态无法观测的方面。
  • 然后它作为反射智能体以某种方式选择动作

基于模型的反射型智能体程序

  1. function MODEL-BASED-REFLEX-AGENT(percept) returns an action
  2. persistent: state, the agent’s current conception of the world state
  3. model, a description of how the next state depends on
  4. current state and action rules, a set of condition-action rules
  5. action, the most recent action, initially none
  6. state ← UPDATE-STATE(state, action, percept, model)
  7. rule ← RULE-MATCH(state, rule)
  8. action ← RULE-ACTION[rule]
  9. return action

一个基于模型的反射智能体算法。它采用一个内部模型来保持当前外部环境状态的轨迹。然后用等同于简单反射智能体的方式选择一个动作。

基于目标的智能体

通过利用“目标”信息,基于目标的智能体进一步扩展了基于模型的智能体的功能。
image.png

  • 目标信息描述所希望的情形
  • 它允许智能体在多个可能性之间选择一种方式,挑选出达到目标状态的那一个
  • 搜索和规划是人工智能的子领域,致力于发现达到智能体目标的动作序列
  • 在某些情况下,基于目标的智能体似乎不太有效
  • 但它更灵活,因为这种支持其决策的知识明显地展示出来,并且可以被修改

    基于效用的智能体

    一个特殊的状态可通过一个效用函数得到,该函数将一个状态映射到一个该状态效用的度量。
    image.png

  • 一种更通用的性能度量,应该根据他们使得智能体多么“高兴”的程度,允许对不同的外部环境状态进行比较

  • 效用这个术语,可用于描述智能体是多么高兴
  • 一个理性的基于效用的智能体选择动作,将动作结果的期待效应最大化
  • 一个基于效用的智能体需要建模并记录环境、任务的轨迹,这涉及大量的感知、表征、推理、和学习的研究

    学习智能体

    学习允许智能体最初在未知的环境中运行,并且与其最初的知识相比,会变得越来越胜任。
    image.png

  • 学习要素

它利用评论者对智能体如何动作的反馈,然后决定应该如何修改性能要素以便未来做得更好

  • 性能要素

它是我们曾考虑过的什么是完整的智能体:它获得感知并且决定动作

  • 问题发生器

它对推荐的动作负责,这将形成新的经验
eg. 深度强化学习

其他智能体

前面尚未介绍的某些子智能体也许是智能体的一部分,或者是一个完整的智能体:

  • 决策智能体:与决策制定相关
  • 输入智能体:处理和理解感受器的输入
  • 处理智能体:解决诸如语音识别的问题
  • 空间智能体:与物理现实世界相关联
  • 时间智能体:可以使用基于时间的信息来提供指令(或数据动作)给计算机程序(或人类),然后接收程序输入感知来调整下一步行为。
  • 世界智能体:并入所有其它智能体的组合以便允许自主行为。
  • 可信智能体:通过利用交互的(智能体所嵌入的)人工特性展示个性。
  • 购物智能体
  • 客户服务台
  • 个人智能体
  • 数据挖掘智能体

    智能体的视角

    image.png

    智能体的分类法

    image.png

    思考题:

    选择下列智能体的一个给出它PEAS描述,

    以及其任务环境的性质:
  1. 足球机器人
  2. 扫地机器人
  3. 网络购物助理

    用你自己的理解定义以下术语:

  4. 智能体

  5. 理性智能体

    五种Agent之间的差异分析。