AI的任务是设计Agent程序,实现把感知信息映射到行动的Agent函数。
Agent就是能够行动的某种东西,具备自主的操作、感知环境、长期持续、适应变化并能创建与追求目标。
Agent的感知序列:是该Agent所受到的所有输入数据的完整历史。
Agent函数:描述了Agent的行动,它将任意给定感知序列映射为行动。
Agent函数是抽象的数学描述,
Agent程序是具体实现,程序对每个调用都有一个新的感知,并返回一个动作。
Agent函数与Agent程序的区别(判断题)
每个Agent函数都可以程序/机器组合实现
错。受机器的运行速度和存储能力所限。
一个Agent函数可能对应多个Agent程序
对。Agent程序与运行平台关联。
理性Agent:基于已知信息以追求最大化目标收益
对每一个可能的感知序列,根据已知的感知序列提供的证据和Agent具有的先验知识,理性Agent应该选择能使其性能度量最大化的行动。
练习:什么是理性
一个理性的打牌Agent不可能输
错。理性的打牌Agent是在已知牌面的情况下输得最少
一个Agent只能感知状态的部分信息,那么不可能是理性的
错。理性不等于全知。
一个全知的Agent明确的知道它的行动产生的实际结果并且做出相应的动作。全知者在现实中是不可能的。
理性是使期望的性能最大化,而完美是使实际的性能最大化。对Agent而言,完美是不太合理的要求。
理性并不要求全知。理性的选择只依赖于到当时为止的感知序列。
理性Agent 理性不等于成功 理性不等于全知,更不等于可以不知, 理性意味着探索、学习、自主
理性Agent应该
◼ 收集信息:真空吸尘器清洁Agent在初始未知的环境中必须探查
◼ 学习:Agent的初始设定是环境的先验知识,通过学习,知识会被改变或者增加。
不收集信息和学习的Agent是缺乏自主性的Agent
通过收集信息和学习以增加知识
Performance性能
Environment环境
Actuators执行器
Sensors传感器
Specifying an automated taxi driver
◼ Performance measure性能
safe, fast, legal, comfortable, maximize profits
◼ Environment环境
roads, other traffic, pedestrians(行人), customers
◼ Actuators执行器
Steering(方向盘), accelerator(加速器), brake(刹车), signal, horn(喇叭)
◼ Sensors传感器
cameras, sonar(声纳), speedometer(速度计), GPS
世界是如何独立于Agent而发展的信息:周围车辆在减速、加速、转弯、超车;移动的行人。
设计Agent的第一步:尽可能完整地详细说明任务环境。
完全可观察的 vs 部分可观察的
单Agent vs 多Agent
确定的 vs 随机的
片段式 vs 延续式
静态 vs 动态
离散 vs 连续
考虑到:
摄像头输入信号是离散的,但处理时它表示的是连续变化的亮度和位置
已知 vs 未知
最难处理的情况
Agent = 体系结构 (某个具备物理传感器和执行器的计算装置)+ 程序。
方法
Step 1:首先构建一个通用的条件-行为规则解释器。
Step 2:根据特定任务环境创建相应的规则集合。
简单反射Agent中的问题
缺点 :在部分可观察环境中运转的简单反射Agent经常不可避免地陷入无限循环中。
解决办法:行动随机化
使用世界模型的Agent称为基于模型的Agent
Agent应该根据感知历史维持内部状态,从而至少反映出当前状态看不到的信息。部分可观察、动态的、片段式的。
随时更新内部状态信息要求在Agent程序中加入两种类型的知识:
世界模型:
知识一:世界是如何独立于Agent而发展的信息
知识二:Agent自身的行动如何影响世界
缺点 :部分可观察环境中的Agent不能精准确定当前状态
既跟踪记录世界的状态,也记录它要达到的目标集合,并选择能(最终)导致目标达成的行动
特点 :
主要用在搜索和规划问题中:Agent 需要一个目标来了解期望达到什么状况
随着达到目标所需要的动作数目的增多,问题越来越难求解
虽然显得效率较低,但更灵活。因为支持它决策的知识被显示表现出来,且可以修改。
部分可观察、动态的、连续式的
自动驾驶出租车的PEAS
P: 遵守交通规则,安全驾驶,能够到达指定地点
E: 有车的公路
A: 停车、加速、减速、转弯
S: 摄像头、红外、车轮解码器等
理性的基于效用的Agent:选择期望效用最大化的行动,Agent在给定每个结果的概率和效用下,期望得到的平均效用。
Agent的效用函数是性能度量的内在化。实际实现时因为计算复杂性而不可能完美达成。
方法
Step 1:使用关于世界的模型,以及对各个世界状态的偏好程度进行度量的效用函数。
Step 2:选择可以取得最佳期望效用的行动。
Step 3:通过结果的概率来确定权值,最佳期望效用是通过计算所有可能结果状态的加权平均值得到的。
适用情况
1、当多个目标互相冲突时,只有其中一些目标可以达到时,效用函数可以在它们之间适当的折中。
2、当Agent有几个目标,但没有一个有把握达到时,效用函数可以在它们之间适当的折中。
负责改进提高,利用来自评判元件的反馈评价Agent做得如何,并确定应该如何修改性能元件以便将来做得更好。
接受感知信息并决策。
根据固定的性能标准告诉学习元件Agent的运转情况。
建议探索性行动,负责可以得到新的和有信息的经验的行动建议。
原子表示
没有内部结构的表示。
相关内容:搜索、博弈论、隐马尔可夫模型、马尔可夫决策过程。
要素化表示
一个状态中包含多个要素(原子),即多个变量和特征的集合。
相关内容:约束满足算法、命题逻辑、规划、Bayesian网、机器学习算法。
结构化表示
一个状态包含对象、每个对象可能有自身的特征值,以及与其他对象的关系。
相关内容:关系数据库、一阶逻辑、一阶概率模型、基于知识的学习、自然语言理解。
假设性能度量只关注环境的前 T个时间步,忽略其他所有。请说明理性 Agent 的行动可能不仅依赖于环境状态,还取决于它达到的时间点。
A. 只感知有关状态的部分信息的Agent不能是完美理性的。
B. 存在无法理性行为(能合理反应)的纯反射agent的任务环境。
C. 存在任务环境使得每个Agent都是理性的。
D. 对agent程序的输入与对agent函数的输入相同。
E. 每个Agent函数都可以程序/机器组合实现
F. 假设 Agent 从一组可能行动中随机选择行动。存在确定的任务环境使得此Agent 是理性的。
G. 一个给定的 Agent 在两个不同的任务环境中可能都是完美理性的。
H. 在不可观察环境中每个 Agent 都是理性的。
I.一个完美的打牌Agent都是不可能输的。
对于下列活动,分别给出任务环境的PEAS描述,并按2.3.2节列出的性质进行分析
Agent:对环境中的感知作出反应而采取行动的实体。
Agent函数:描述了Agent的行动,它将任意给定感知序列映射为行动。
Agent程序是具体实现,程序对每个调用都有一个新的感知,并返回一个动作。
理性是使期望的性能最大化。选择能够最大化其预期效用的行动。
自主性:Agent的一种属性,其行为由他们自己的经验决定,而不仅仅由他们的初始编程决定。
反射Agent:其动作仅取决于当前感知的Agent。
基于模型的Agent:保持内部状态,追踪记录当前感知信息中反映不出来的世界各方面。
基于目标的Agent:选择它认为将实现明确表示目标行动的Agent。
基于效用的Agent:选择它认为将最大化结果状态的预期效用的操作的Agent。
学习Agent:根据其经验,行为随时间而改变的Agent。
a: 不是完美理性:
简单反射agent不能记录历史状态信息,只能根据当前感知信息作出决策,这样就容易陷入一种无限循环中,除非我们可以将agent的行动随机化,可以避免无限循环。而完美是指实际的性能最大化,理性是指期望的性能最大化,由于可能会出现无限循环的情况,因此就不能使得性能最大化,所以就不是完美理性的。
d. 有内部状态的Agent会优于简单反射Agent。简单反射Agent具有极好的简洁性,但是它们的智能也有限,由于只根据当前的感知信息作出决策,很有可能作出错误的决策。而具有内部状态的Agent,可以根据感知历史维持内部状态。这样有利于作出更理性的决策。
前面习题中的真空吸尘器环境都是确定的。讨论下列随机版本下的 Agent 程序∶
a.Murphy 法则∶在 25%的时间里,Suck(吸尘)行动在地面干净的情况下不能清洁地面,在原来地面干净的情况下还会弄脏地面。如果灰尘传感器有10%的错误率,你的 Agent 程序会受到怎样的影响?
每次行动之前都需要使用灰尘传感器检测环境状态,产生的后果是不确定的,如果只有一个Agent灰尘传感器会导致环境总是不确定的。另外添加灰尘传感器会使得环境确定性改变。
因为只要当前的位置仍然很脏,Agent就会继续吸尘。对于构建Agent的动作序列,每个吸动作需要用“吸到干净”代替。如果污垢传感器在每一步上都有错误,那么Agent可能需要等待几个步骤来得到更可靠的测量决定是吸尘还是去一个新的方格。显然这是一种权衡,因为等待太久意味着泥土会留在地板上(会招致罚款),但立即行动会有风险弄脏一个干净的方格或忽略一个脏的方格(如果传感器错误)。一个理性的Agent也必须继续访问和检查方格,以防它在之前的路径中错过了一个方格(传感器读数错误)。这个问题是一个部分可观察的马尔可夫决策过程。
b.小孩∶在每个时间步,干净的方格有10%的机会被弄脏。在这种情况下能设计出理性 Agent 吗?
可以,理性是指考虑到传感器信息而做出正确决策的能力,此时Agent在做决策之前需要对所有方格做检测。
在这种情况下,Agent 必须无限期地继续访问方块。一个方格脏的概率随着最后一次清洗的时间单调增加,因此理性策略是重复执行所有方格中尽可能最短的行程。这个问题也是一个部分可观测的马尔可夫决策过程。