首页 理论教育 任务环境的属性

任务环境的属性

时间:2022-02-11 理论教育 版权反馈
【摘要】:在片段式的任务环境中,智能体的经验被分成了一个个原子片段。另一方面,在出租车驾驶的环境中,避免发生冲撞使得所有智能体的性能度量都最大化,所以它是一个部分合作的多智能体环境。在多智能体环境中产生的智能体设计问题往往与来自单智能体环境的相差甚远;例如,通讯经常作为理性行为出现在多智能体环境中;在一些部分可观察的竞争环境中,随机行为是理性的,因为它可以避免预测中的缺陷。

2.3.2 任务环境的属性

在人工智能中可能出现的任务环境的范围显然是很大的。然而,我们可以定义数量相当少的维度,用来对任务环境进行分类。这些维度在很大程度上决定了适当的智能体设计和实现智能体的每个主要技术家族的实用性。首先,我们把这些维度列出来,然后我们分析一些任务环境,来举例说明这种思想。这里的定义不是形式化的;我们将在后面的章节中给出更精确的陈述和每种环境的例子。

完全可观察的与部分可观察的

如果一个智能体的传感器每个时间点上都能让它访问获取环境的完整状态,那么我们就说这个任务环境是完全可观察的[20]。如果传感器能够检测所有与行动选择相关的方面,那么这个任务环境是有效完全可观察的;而相关性则取决于性能度量。完全可观察的环境是方便的,因为智能体不再需要维护任何内部状态来记录世界的状况。环境可能因为噪声和不精确的传感器,或者仅仅因为丢失了来自传感器数据的部分状态数据,而成为部分可观察的——例如,只有一个局部灰尘传感器的真空吸尘器智能体无法知道另一个方格是否有灰尘,自动出租车也无法了解别的司机在想什么。

确定性的与随机的

如果环境的下一个状态完全决定于当前的状态和智能体执行的动作,那么我们说该环境是确定性的;否则,它是随机的。原则上,智能体在完全可观察的、确定性的环境中无需考虑非确定性。不过如果该环境是部分可观察的,那么它可能表现为随机的。如果环境复杂,这是特别真实的,因为复杂的环境会造成难以记录所有未观察到的方面。如此,从智能体的角度出发,按照确定性的或者随机的观点来考虑环境,通常是更好的。在这个意义上,出租车驾驶的环境显然是随机的,因为无人能够预测确切的交通状况;另外,某辆车爆胎或者某辆车引擎失灵都是不可能事先警告的。根据我们的描述,真空吸尘器世界是确定性的,但是变种可以包含一些随机元素,比如随机出现的尘土和不可靠的抽气机构(习题2.12)。如果环境是确定性的,除非有其它智能体活动的影响,那么我们称该环境是策略的。

片段式的与延续式的[21]

在片段式的任务环境中,智能体的经验被分成了一个个原子片段。每个片段的组成包含了智能体所感知的信息以及进而执行的单个行动。最为重要的是,下一个片段不依赖于以前的片段中采取的行动。在片段式环境中,行动的选择只取决于当前片段自身。大多数分类任务属于片段式的。例如,装配线上检测次品零件的机器人只需要把每次决策建立在当前零件的基础上,不用考虑以前的决策;而且,当前的决策也不会影响到下一个零件是否有缺陷。与之相反,在延续式环境中,当前的决策会影响到所有未来的决策。下棋和出租车驾驶都是延续式的:在这两种情况下,短期的行动都会有长期的效果。片段式环境要比延续式环境简单得多,因为智能体不需要前瞻。

静态的与动态的

如果环境在智能体思考的时候会变化,那么我们称该环境对于那个智能体是动态的;否则,该环境是静态的。静态的环境比较容易对付,因为智能体既不需要在决策行动的时候保持对世界的观察,也不需要顾虑时间的流逝。与之相反,动态的环境会持续地要求智能体决定做什么;如果智能体没有做出决策,就认为它决定不做任何事情。如果环境本身不随时间的流逝变化,但是智能体的性能评价随时间变化,那么我们称这个环境是半动态的。出租车驾驶明显是动态的:当驾驶算法对下一步行动犹豫不决的时候,其它车辆和出租车自身都在保持运动。国际象棋,比赛的时候要计时,是半动态的。纵横字谜游戏是静态的。

离散的与连续的

离散/连续的区别可以应用于环境的状态,时间的处理方式,以及智能体的感知信息和行动。例如,诸如国际象棋游戏这样的离散状态环境包含有限个数的独特状态。国际象棋同时也有感知信息和行动的离散集合。出租车驾驶是一个连续状态和连续时间的问题:出租车和其它车辆的速度和位置都在一个连续值范围内变化,并且随时间平滑地变化。出租车驾驶的行动也是连续的(转向角度等)。虽然严格地说,来自数字摄像头的输入信号是离散的,但通常当作对连续变化的亮度和位置的表示来处理。

单智能体与多智能体

单智能体和多智能体环境之间的区别可能看上去很简单。例如,一个独自解决纵横字谜游戏的智能体显然处于单智能体环境中,而一个下棋的智能体就处于两智能体环境中。不过,这里有一些微妙之处。首先,我们已经说明了什么样的实体可以被视为智能体,但我们并没有解释哪些智能体必须被视为智能体。智能体A(例如出租车驾驶员)是否必须把物体B(另外一辆车)当作智能体对待,还是可以仅仅把它当作一个随机行动的物体,类似于海滩上的波浪或者风中摇摆的树叶?关键的区别在于B的行为是否最好被描述成寻求让依赖于智能体A的行为的性能度量最大化。例如,下棋的时候,对手实体B试图最大化它的性能度量,而根据国际象棋的规则,同时也就要最小化智能体A的性能度量。因此,国际象棋是一个竞争的多智能体环境。另一方面,在出租车驾驶的环境中,避免发生冲撞使得所有智能体的性能度量都最大化,所以它是一个部分合作的多智能体环境。它同时也是部分竞争的,因为用例子来说,一辆车只能占据一个停车位。在多智能体环境中产生的智能体设计问题往往与来自单智能体环境的相差甚远;例如,通讯经常作为理性行为出现在多智能体环境中;在一些部分可观察的竞争环境中,随机行为是理性的,因为它可以避免预测中的缺陷。

综上所述,最难对付的情况就是部分可观察的、随机的、延续式的、动态的、连续的和多智能体的环境。而且因为实际情况太复杂了,以致它们是否真正是确定性环境都是很难判定的。出于实用的目的,它们必须被当作是随机的。从这些意义上说,出租车驾驶的环境是困难的。

图 2.6 列举了一些常见环境的属性。需要指出的是这些回答并非总是绝对正确的。例如,我们把棋赛列为完全可观察的;但严格地说,这是错误的,因为一些特定的规则包括王车易位、吃过路兵,以及不变作和等都要求记住对局过程的某些历史事实,那些是不能作为棋盘状态的部分被观察到的(译者注:王车易位是一种同时移动王和车的特殊走法,要求参与易位的王和车在易位前都没有移动过;吃过路兵是一方的兵攻击对方的兵的一种特殊方式,只能在对方的兵从原始位置直行两格时完成;不变作和是指棋局状态发生重复而双方都不愿意改变自己的招数的情况下,判定双方和棋)。当然这些可观察性的例外与出租车驾驶员、英语教师或者医学诊断系统面临的情况比较而言,只能算小问题。

图2.6 任务环境的例子和它们的特点

表中的另一些回答取决于任务环境是如何定义的。我们把医疗诊断任务列为单智能体环境,因为把病人的疾病过程当作智能体模型并不划算;但是医学诊断系统还可能不得不应付不听话的病人和疑心的职员,所以环境有多智能体的方面。更进一步,医疗诊断是片段式的,如果认为任务就是根据已知的症状清单挑选诊断结果;然而,如果任务还包括提出一系列的测试、对治疗过程进行评价等等,那么这个问题环境就变成延续式的了。还有很多环境在比智能体的个体行动更高的层次上是片段式的。例如,一次国际象棋巡回赛包含一系列比赛;每局比赛是一个片段,因为(大体上)每局比赛中的走棋对智能体的总体性能的贡献不会受到它以前对局的走棋的影响。另一方面,单看每一局比赛内的决策,当然是延续式的。

本书的程序代码库中(网址为:aima.cs.berkeley.edu)包括一些环境的实现,连同一个通用的环境模拟器,可以把一个或者多个智能体放置在模拟的环境中,观察它们随时的行为并根据给定的性能度量对它们进行评价。这些实验一般不是针对一个单一环境进行的,而是针对一个环境类代表的很多环境进行的。例如,在模拟的交通中评价出租车自动驾驶员,我们会希望进行多次模拟,在不同的交通状况、照明情况和天气条件下。如果我们只针对单一的环境设计智能体,我们也许能够利用特殊情况的特性,但是无法得到一个能在一般情况下驾驶的良好设计。为此,程序代码库里还包括针对每个环境类的环境生成器,可以选择运行智能体的特殊环境(以一定的似然性)。例如,对于真空吸尘器环境生成器随机地初始化灰尘模式和智能体的位置。我们对智能体在环境类上的平均性能感兴趣。针对一个给定环境类的理性智能体能使这个平均性能达到最大化。习题2.7到2.12将领你体验开发一个环境类和评价在其中运行的各种智能体的过程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈