当前位置:   article > 正文

NO.73——《人工智能·一种现代方法》Agent学习笔记_是否有不止一个agent程序可以实现给定的agent函数? 请举例说明,或者说明为什么不

是否有不止一个agent程序可以实现给定的agent函数? 请举例说明,或者说明为什么不

Agent

首先,何为Agent?通过传感器感知环境,并通过执行器对所处环境产生影响。

Agent的感知序列:是该Agent存储的所有输入历史的完整数据。

Agent函数

Agent函数是抽象的数学描述,Agent程序是具体实现。

两者区别:

  1. 每个Agent函数都可以由机器/程序组合呈现。False。受机器的运算能力和存储能力限制。
  2. 一个Agent函数可能对应多个Agent程序。True。Agent程序与运行平台关联。

例题:

  1. 实现给定Agent函数的Agent程序是否可以有多个?True。比如添加一些代理程序,只输入不会影响输出的空值。
  2. 有些Agent函数不能被任何agent程序构成?True。比如图灵机。
  3. 给定一个固定的机器结构,任意agent程序都会精确执行一个agent函数吗?True。agent的行为被结构和程序固定。
  4. 给一个能存储n位的机器,问有多少不同的agent程序在那?有2**n个不同的程序,但是大部分都不会执行。因为每个程序占用n个内存明显机器内存不足。
  5. 设想我们现在保持agent程序固定,但是我们加快机器运行速度为两倍,会影响agent函数吗?这取决于程序和环境。 如果环境是动态的,则加快机器速度可能意味着选择不同(也许更好)的动作。 如果环境是静态的,并且程序不在意运行时间,agent函数保持不变。

理性Agent

定义:基于已知信息追求最大化目标收益。

  1. 一个理性的打牌Agent不可能输。False。应该是在已知牌面的情况下输的最少。
  2. 一个Agent只能感知状态的部分信息,呢么不可能是理性的。False。理性不等于全知。

理性与全知的区别:

  • 一个全知的Agent能明确的知道他的行动带来的实际后果。全知在现实中不存在。
  • 理性是使期望的性能最大化,而完美是使实际最大化,对Agent而言,完美是不太合理的要求。
  • 理性并不要求全知。理性的选择只依赖于到当前为止的感知序列。

任务环境(PEAS)

  • Performance 性能
  • Environment 环境
  • Actutor 执行器
  • Sensor 感知器

自动驾驶出租车的PEAS:
Performance measure: 遵守交通规则,安全驾驶
Environment:有车的公路
Actuator: 停车、加速、减速、转弯
Sensors: 摄像头、红外、车轮解码器等

      任务环境的性质:

1、fully observable vs. partially observable

如果Agent传感器在每个时间点上都可以获取环境的完整状态,这个任务环境就是完全可观察的。否则,是部分可观察的。

如果传感器能够检测所有与行动决策有关的信息,该任务环境就是完全有效可观察的。

如果Agent压根没有传感器,环境是无法观察的。

2、singel agent vs. multiagent

区分两者的关键在于Agent B 行为的性能度量最大化是否需要依赖于Agent A的行为。
竞争性的多Agent环境:
Agent B想要最大化自己的性能度量,就需要最小化Agent A的性能度量。(国际象棋)
合作性的多Agent环境:
Agent B想要最大化自己的性能度量,就需要最大化Agent A的性能度量。(车辆驾驶)
部分合作部分竞争的多Agent环境 (随机行为是理性的,这样可以避免预测中的缺陷)

3、deterministic vs. stotastic

如果环境的下一状态完全取决于当前状态和Agent执行的动作,该环境是确定的;否则是随机的。

不确定与随机的区别:
环境不确定是指环境不是完全可观察的或不确定的,行动后果可能有多种,但与概率无关。
环境随机是指后果是不确定的并且可以用概率来量化

4、episodic(片段) vs. sequential(延续)

在sequential中,当前动作会对未来产生深远影响,比如国际象棋和自动驾驶。episodic要比sequential简单的多,因为它不需要提前考虑什么东西。

5、static vs. dynamic

如果环境在Agent计算的时候会变化,该环境是动态的,否则是静态的。

如果环境本身不随时间变化而变化,但Agent的性能评价随时间变化,则环境是半动态的。

6、discreate vs. continuous

国际象棋是离散的,因为它有有限个离散的状态。自动驾驶室连续的,它包括不间断的摄像头和语音输入。

7、known vs. unknown

如果环境是未知的,Agent需要学习环境是如何工作的,以便做出好的决策。

最难处理的情况

  • 部分可观察的、多Agent的、随机的、延续的、动态的、连续的和未知的环境。

例题:

体操艺术表演:Partially observable, stochastic, sequential, dynamic, continuous, multi-agent.

探索太平洋海底:Partially observable, stochastic, sequential, dynamic, continuous, single agent (unless

there are alien life forms that are usefully modeled as agents).

玩橄榄球:Partially observable, stochastic, sequential, dynamic, continuous, multi-agent.

购买用于AI的书籍:Partially observable, deterministic, sequential, static, discrete, single agent. This can be

multi-agent and dynamic if we buy books via auction, or dynamic if we purchase on a
long enough scale that book offers change.

 

A simple Reflex agnet:

它的行为只取决于当前状态和感知。

  • 基于当前的感知选择行动,不关注感知历史。 针对完全可观察的环境。
  • 无法处理动态的、随机的、延续的、部分可观察的任务环境

方法
Step 1:首先构建一个通用的条件-行为规则解释器。
Step 2:根据特定任务环境创建相应的规则集合。

简单反射Agent中的问题

规则构建与存储困难
规则冲突
不能存储历史信息(无限循环)
不能处理世界的随机性、变化性
缺点 :在部分可观察环境中运转的简单反射Agent经常不可避免地陷入无限循环中。
解决办法:行动随机化

 

Model-based reflex agents:

它的行为由内部模型状态决定。

Agent应该根据感知历史维持内部状态,从而至少反映出当前状态看不到的信息。部分可观察、动态的、片段式的。

随时更新内部状态信息要求在Agent程序中加入两种类型的知识:
知识一:世界是如何独立于Agent而发展的信息
知识二:Agent自身的行动如何影响世界

缺点 :部分可观察环境中的Agent不能精准确定当前状态

 

Goal-based Agent:

根据目标最大化做出相应行动。

既跟踪记录世界的状态,也记录它要达到的目标集合,并选择能(最终)导致目标达成的行动

特点 :

主要用在搜索和规划问题中:Agent 需要一个目标来了解期望达到什么状况
随着达到目标所需要的动作数目的增多,问题越来越难求解

虽然显得效率较低,但更灵活。因为支持它决策的知识被显示表现出来,且可以修改。

部分可观察、动态的、连续式的

不适用的情况:
多个目标互相冲突
有几个目标,但没有一个有把握达到
这两种情况,通过效用Agent可以解决

Utility-based agents:

基于预期实用性最大化。

  • 理性的基于效用的Agent:选择期望效用最大化的行动,Agent在给定每个结果的概率和效用下,期望得到的平均效用。

  • Agent的效用函数是性能度量的内在化。实际实现时因为计算复杂性而不可能完美达成。

  • 方法
    Step 1:使用关于世界的模型,以及对各个世界状态的偏好程度进行度量的效用函数。
    Step 2:选择可以取得最佳期望效用的行动。
    Step 3:通过结果的概率来确定权值,最佳期望效用是通过计算所有可能结果状态的加权平均值得到的。

    适用情况
    1、当多个目标互相冲突时,只有其中一些目标可以达到时,效用函数可以在它们之间适当的折中。
    2、当Agent有几个目标,但没有一个有把握达到时,效用函数可以在它们之间适当的折中。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/295297
推荐阅读
相关标签
  

闽ICP备14008679号