environments

翻译 2017年03月01日 14:12:11

了解了 rational 之后,我们就可以设计 agent 了。
设计一个 agent 之前,我们要先指定好 4大项 PEAS (Performance, Environment, Actuators, Sensors)。
比如一个自动驾驶出租车的 agent,我们的 PEAS 是这样的:

这里写图片描述

  • Performance 的衡量包括:能够到达正确的目的地、最小化油耗和磨损、最小化时间或成本,最小化违章和对其他司机的干扰、最大化安全和对乘客的舒适度、最大化利润。很显然,这些目标是有冲突的,所以需要权衡。
  • Environment:各种路况,从农村小路到城市道路再到12车道高速,路上会有行人、动物,警车,路障,泥水,路陷。还要与潜在的和现有的乘客交互。另外还有雨雪天气,以及左舵右舵的可能性。显然,环境限制的越严格,则越简单。
  • Actuators:加速,转向,刹车,与乘客聊天(语言识别和发音),或者与其他车辆交流(打喇叭)。
  • Sensors:摄像头看路,红外或声纳判断与他车或障碍物的距离,计速器防止超速罚单以及弯道减速,探测车部的引擎表油表电表,GPS导航,键盘或麦克风让用户输入目的地。

下面是环境的各种属性:

Fully observable vs. partially observable vs unobservable:当 agent 可以感知所有环境时我们称这为完全可见。而有些 Sensors 可能不准确或者不可用时,我们称之为部分可见,当所有sensor都不可用时,我们称之为 完全不可见。

Single agent vs. multiagent:比如,自己解题的 agent 是 Single agent 环境,而两个下象棋的 agent 是 multiagent 环境,在象棋的两个对手agent中,他们是 竞争 的环境,而开车的多个 agent 则是 合作 的环境,在竞争环境中,随机行为是合理的,因为可以避免可预测性的陷阱(pitfalls of predictability)。

Deterministic vs. stochastic:当环境的下一个状态是由当前的状态以及 agent 要执行的 action 决定的,我们说它是 Deterministic,否则,说它是 stochastic。在一个“完全可见的”,且“Deterministic”环境中,agent 不需要担心不确定的东西。比如在游戏中,agent 是 Deterministic,即使它不能预测其他玩家的行动。而在现实中,形势太复杂,我们必须得看作是 stochastic,因为我们不可能知道所有不可见的因素。,如果一个环境不是完全可见的,或者不是 确定性的,我们说它是 uncertain。 “stochastic”一般来说意味着后果的不确定性在概率上是可以量化的。nondeterministic的环境是指 action 以它们可能的后果为特点,但是没有概率属性。nondeterministic 的环境通常用于描述衡量 performace 时 agent 达到 action 的所有可能的后果。

Episodic(偶发的) vs. sequential(串行的,与parallel相反):在偶发的环境中,agent 的经验被划分成原子事件,在每个事件中,agent 接收到感知,而后执行一个单独的 action,关键的是,下一个事件不依赖于上一个事件的 action。很多类别的任务都是偶发的。比如一个 agent 的决定是要找出组装流水线上有问题的部件,而不考虑前一个部件,也不影响下一个部件。在连续的环境中,当前的决定可能影响所有未来的决定,比如下象棋时的步骤决定。偶发的要简单的多,因为不需要考虑之前。

Static vs. dynamic:如果一个环境会在 agent 正在考虑时变化,我们称之为 动态的,否则是 静态的。静态的环境很容易处理,因为 agent 做决定时不需要持续观察整个世界,也不需要考虑时间的推移。而动态的环境会持续询问 agent 想要做什么,如果此时还没有决定,则认为决定什么都不做。如果环境不随着时间变化,但是agent 的 performance(目标) 随着时间变化,我们说它是 semidynamic。自动驾驶的agent是动态的,因为其他车和自己都一直在移动,而驾驶算法决定下一步要做什么。限时的象棋agent是半自动的。而不限时的解题agent是静态的。

Discrete(离散的) vs. continuous(连续的):离散/连续 的区别适用于环境的状态、处理时间的方式、以及agent 的感知和行动。比如,象棋的环境有一个有限数量的不同状态,象棋还有一个离散的感知和行动。自动驾驶是一个“连续状态”、“连续时间”的问题:车的速度和位置的值的变化是平滑的,而驾驶行动也是连续的,比如转向多少度。

Known vs. unknown:严格来说,这个区别不适用于环境本身,而用于 agent 的关于环境的“物理定律”的知识的状态。在已知的环境中,所有 action 的后果(或者随机环境下后果的概率)都给出了。显然,如果环境是未知的,agent 需要学习如何制定好的决策。注意 Known 与 unknown 的区别与 可见/部分可见 是不同的,因为已知的环境也可能是部分可见的,比如纸牌游戏,agent 知道规则,但是看不见下一张是什么牌。而未知的环境可以是完全可见的,新的电视游戏中,屏幕上显示整个游戏但是不知道按下按钮会发生什么。

所以,最麻烦的就是 partially observable, multiagent, stochastic, sequential, dynamic, continuous, 以及 unknown,自动驾驶全属于这些情况。

Mybatis配置之<environments>配置元素详述

在这篇文章中,我们接着前文继续往下看其他的配置元素,今天的主角就是我们的元素,该元素用于对我们需要访问的数据库配置进行设置,我们先来看一下配置: ...
  • andamajing
  • andamajing
  • 2017年05月11日 14:09
  • 1582

(读书笔记)mybatis (三)-----environments详解

Mybatis可以配置成适应多种环境,这种机制有助于将SQL映射应用于多种数据库之中,显示情况下有多重理由需要这么做。例如:开发,测试和生产环境需要不同的配置;或者共享相同的Schema的多个上产数据...
  • mqf163
  • mqf163
  • 2016年09月12日 15:48
  • 4374

mybatis如何配置使用多个数据源(environment)?

mybatis中分库和事务控制
  • everlasting_188
  • everlasting_188
  • 2016年04月20日 15:53
  • 1203

Mybatis配置之<environments>配置元素详述

在这篇文章中,我们接着前文继续往下看其他的配置元素,今天的主角就是我们的元素,该元素用于对我们需要访问的数据库配置进行设置,我们先来看一下配置: ...
  • andamajing
  • andamajing
  • 2017年05月11日 14:09
  • 1582

深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)

上篇文章《深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)》我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根节点下面,可...
  • u010122002
  • u010122002
  • 2015年03月19日 18:59
  • 328

【NDN IoT】NDN-ACE: Access Control for Constrained Environments over Named Data Networking 全文翻译

NDN-ACE使用层次化的NDN名字来表示细粒度的访问控制策略,该访问控制策略将命令发送者的身份和它们授权访问的服务绑定起来。NDN-ACE中的密钥管理协议允许发送者周期性地更新他们的访问密钥,而不需...
  • gongxifacai_believe
  • gongxifacai_believe
  • 2016年09月12日 20:56
  • 857

MyBatis_environments

MyBatis可以拥有多个环境,即一个项目可以连接多个数据库,不过在创建这     些数据库的同时需要注意的是:一个数据库对应一个SqlSessionFactory,也就是     说你有两个数据库需...
  • dearday
  • dearday
  • 2013年07月26日 19:02
  • 1143

Creating Configurable Environments with Hierarchical and Global Options (vmm_opts) in VMM

Verification environments need to accommodate changing specifications and at  the same time cater t...
  • naclkcl9
  • naclkcl9
  • 2012年02月08日 23:45
  • 2314

[译]The Python Tutorial#12. Virtual Environments and Packages

[译]The Python Tutorial#Virtual Environments and Packages 翻译
  • SakuraInLuoJia
  • SakuraInLuoJia
  • 2017年07月28日 11:53
  • 139

Configuration--environments(三-5)

上一篇文章中我们讲了settings,这一篇文章中,我们来讲一个比较重要的标签environments.顾名思义,environments就是配置mybatis的运行环境,包括事务(transacti...
  • XingTree
  • XingTree
  • 2017年08月01日 20:43
  • 187
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:environments
举报原因:
原因补充:

(最多只允许输入30个字)