ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NO.73——《人工智能·一种现代方法》Agent学习笔记

2020-02-03 11:03:42  阅读:823  来源: 互联网

标签:最大化 人工智能 环境 NO.73 程序 agent sequential 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有几个目标,但没有一个有把握达到时,效用函数可以在它们之间适当的折中。

 

 

one named slash 发布了73 篇原创文章 · 获赞 58 · 访问量 8万+ 私信 关注

标签:最大化,人工智能,环境,NO.73,程序,agent,sequential,Agent
来源: https://blog.csdn.net/ghl1390490928/article/details/104147850

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有