NO.73——《人工智能·一种现代方法》Agent学习笔记
Agent
首先,何为Agent?通过传感器感知环境,并通过执行器对所处环境产生影响。
Agent的感知序列:是该Agent存储的所有输入历史的完整数据。
Agent函数
Agent函数是抽象的数学描述,Agent程序是具体实现。
两者区别:
- 每个Agent函数都可以由机器/程序组合呈现。False。受机器的运算能力和存储能力限制。
- 一个Agent函数可能对应多个Agent程序。True。Agent程序与运行平台关联。
例题:
- 实现给定Agent函数的Agent程序是否可以有多个?True。比如添加一些代理程序,只输入不会影响输出的空值。
- 有些Agent函数不能被任何agent程序构成?True。比如图灵机。
- 给定一个固定的机器结构,任意agent程序都会精确执行一个agent函数吗?True。agent的行为被结构和程序固定。
- 给一个能存储n位的机器,问有多少不同的agent程序在那?有2**n个不同的程序,但是大部分都不会执行。因为每个程序占用n个内存明显机器内存不足。
- 设想我们现在保持agent程序固定,但是我们加快机器运行速度为两倍,会影响agent函数吗?这取决于程序和环境。 如果环境是动态的,则加快机器速度可能意味着选择不同(也许更好)的动作。 如果环境是静态的,并且程序不在意运行时间,agent函数保持不变。
理性Agent
定义:基于已知信息追求最大化目标收益。
- 一个理性的打牌Agent不可能输。False。应该是在已知牌面的情况下输的最少。
- 一个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
玩橄榄球:Partially observable, stochastic, sequential, dynamic, continuous, multi-agent.
购买用于AI的书籍:Partially observable, deterministic, sequential, static, discrete, single agent. This can be
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有几个目标,但没有一个有把握达到时,效用函数可以在它们之间适当的折中。
NO.73——《人工智能·一种现代方法》Agent学习笔记相关推荐
- ListView的两种使用方法--Android学习笔记
1. 继承ListActivity ,使用listActivity中的 setListActivity()方法,注意在xml中listView的id一定要设置为android:id="@+ ...
- 人工智能 一种现代方法 第10章 经典的规划问题(classical planning)
文章目录 规划问题定义(PDDL)为一个搜索问题 状态空间搜索规划算法 前向状态空间搜索 后向相关状态搜索 规划的启发式 资源分享 本文旨在讲明: 1)规划问题定义(PDDL)为一个搜索问题 2)前向 ...
- 人工智能 一种现代方法 第11章 现实世界的规划与行动
文章目录 时间.调度和资源 车间调度问题 忽略资源约束的时间调度问题:关键路径方法 有资源约束的时间调度问题 分层规划 搜索原语解 搜索抽象解 非确定性问题的规划 无传感器规划 应急规划 资源分享 本 ...
- 人工智能 一种现代方法 第5章 对抗搜索
文章目录 博弈 博弈中的优化决策 Minmax算法(极小极大算法) 多人博弈时的最优决策 α-β剪枝(重点) 不完美的实时决策 评估函数 截断搜索 向前剪枝 资源分享 博弈 对抗搜索:竞争环境中每个A ...
- 人工智能 一种现代方法 第14章 概论推理
文章目录 贝叶斯网络 贝叶斯网络是什么 一种构造贝叶斯网络的方法 条件分布的有效表示 贝叶斯网络的精确推理 推理任务 通过枚举进行推理 变量消元算法(避免重复计算) 贝叶斯网络的近似推理 直接采样 似 ...
- SVO中 Inverse Compositional Image Alignment方法的学习笔记
SVO中 Inverse Compositional Image Alignment方法的学习笔记 这篇文章 光流法简介 逆向光流法 结尾 这篇文章 在SVO系统中的"Relaxation ...
- 7 种 Javascript 常用设计模式学习笔记
7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...
- 基于迁移学习的旋转机械故障诊断方法研究学习笔记
基于迁移学习的旋转机械故障诊断方法研究学习笔记 现在大一点的神经网络模型也要求数据量的足够大,但是对于小样本的数据,有一些神经网络模型也能够处理的很好 2. 这是现在神经网络也要求的数据最好能够独立同 ...
- python面向对象编程中方法和属性_Python面向对象编程中关于类和方法的学习笔记...
Python面向对象编程中关于类和方法的学习笔记 类与类方法是面向对象的编程语言中必不可少的特性,本文总结了Python面向对象编程中关于类和方法的学习笔记,需要的朋友可以参考下 类和实例 pytho ...
- 人工智能全栈学习路线之人工智能概览(百度云智学院学习笔记)
最近参加了百度云智学院的AI学习课程,下面是课程链接: 人工智能全栈学习路线 课程内容通俗易懂,下面是我在学习的过程中整理的笔记 AI趣味课堂 人工智能基础知识 计算机视觉 自然语言处理 语音任务 人 ...
最新文章
- 机电传动控制第二周学习笔记
- Java初学者必看2
- oracle误删表空间 无法关闭,oracle 误删表空间文件启动不了数据库的解决办法
- 哈尔滨工业大学计算机学院官网,哈尔滨工业大学计算机学院 唐好选 tanghx@hope.hit...
- SAP成都研究院小伙伴们开发的一个SAP C4C POC - 通过名片扫描的方式录入联系人数据到系统
- CF2B The least round way(贪心+动规)
- websocket阮一峰博客地址教学
- python从小白到大牛pdf 下载 资源共享_Kotlin从小白到大牛 (关东升著) 中文pdf高清版[12MB]...
- 一行指令造成 60 亿美元蒸发,更让 Facebook 遭遇史诗级故障!
- PHP如何读取excel文,PHP-php如何读取excel?
- matlab 线性规划求最大值,MATLAB求解线性规划(含整数规划和01规划)问题.pdf
- 安装ubuntu18.04报:failed to load ldlinux.c32
- JS实现网页二维码扫描功能
- 什么是网络,网络类型,网络结构
- 编程入门先学什么 c语言软件,编程入门先学什么软件
- 一场分销裂变活动,不止是发发朋友圈这么简单
- 移动应用的引导模式设计
- 【记录】一次项目架构的设计
- Fail-Fast和Fail-Safe的解释
- php-cs-fixer实践