人工智能03 状态机

状态机

用特征向量来表示环境

一个S-R agent所用的特征向量可以看做对与agent有关的环境状态的表示。这个agent可以从该特征向量中计算出一个适合环境状态的动作。这种agent的传感器的局限是特征向量不可能精准地表示环境状态——特别是那些从即刻传感器输入中进行计算的特征向量。在此,我们可以考虑传感器的历史因素,从而提高其表示的精准度,因为agent也许曾感知过这些即可无法感知的环境状态的某些重要因素。

  • 状态机

    假设在某一时间t=0时,存在一个对环境的初始表示。在假设,在任意一个接下来的时间步骤(t+1)时对环境的状态标识是(t+1)时的传感器输入、前一时间t时对环境状态的表示和t时所采取的动作的函数。这种方法跟踪其环境状态的机器为状态机。

    状态机必须具备用来储存环境模型的储存器。

这个模型可采用多种形式。最简单的就是一个特征向量的表示。特征向量X~t+1~要依另一个特征向量X~t~而定。如下图所示。

以第二章中提到的agent为例,当时agent通过8个传感器输入中计算的特征值来构造其环境模型,这些传感器输入把围绕agent的8个单元是否空缺的信息传递给agent。如果此agent只能感知其东南西北四个方向,那么在这种情况下,agent只要从它的即刻传感器、前一特征向量和刚完成的动作中计算所需的特征向量。机器人任然可以完成沿边界运动这一行为。

Elman网络

一个agent能用一种特殊的递归神经网络(被称为Elman网络)来学习如何从前一个特征向量和传感器输入中计算后一个特征向量的动作。这里将说明只能感知其东南西北四个方向的沿墙运动的机器人是如何让完成上述过程的。这个网络学会了储存那些适合当前任务的前一次所感知的特性。下图就展示了一个Elman网络。该网络有8个隐藏单元,他们与上一节讨论的机器人所需特征一一对应。网络输入包括即刻传感器输入的四个信号,和前一时间步骤中8个隐藏单元的值。这8个附加输入称为“上下文单元”它们使网络将动作建立在已学会的前一次所感知的数据特性之上。

这里我们需要四个可以区分的输出来与东南西北四个动作一一对应。在一个典型的学习情况中,我们并不知道需要多少隐藏单元或多少层面。

图标系统

特征向量只是表示环境的一种方法,我们还可以运用其他数据结构。比如,沿边界运动的机器人在感知时,可以用一个数组来储存一张由空缺单元和非空缺单元组成的映像。用特征或数据结构来表示世界的方法预示了人工智能的两大派别。其中一派,我们称之为对世界“基于特征”的表示——即特征向量或属性向量;另一派我们称之为“图标”表示——即数据结构(图标表示有时也被称为模拟表示)

扫描二维码关注公众号,回复: 6778107 查看本文章

当agent运用图标表示时,它对数据结构的响应方式与没有储存器的agent对传感器的响应方式几乎一样:计算数据结构的特征。存在这样一个机器人,它对局部环境的感知如下图所示,空缺为0,非空缺为1,未知单元表示为?,机器人所处位置为R。每次做完动作后,机器人都要更新其模型,从而改变自身位置,并处理新的传感器数据。

黑板系统

一个用来模型化世界的数据结构并不一定是图标的。一种重要的人工智能及其基于“黑板”结构。一个被称为“知识源”的程序读取并修改这一黑板。黑板系统详细的阐述了前面所描述的产生式系统。每个知识源有条件部分和动作部分,条件部分是计算一个特征的值,这个特征可以是任意有关黑板的数据结构条件,其值为1或0。动作部分任一改变数据结构或执行外部条件的程序。

举个例子,依然讨论处于网络世界的机器人——这次,它的即刻传感器有时会给出错误信息。这个机器人有一幅他所处世界的不完整信息。这一地图可能不完整并且存在错误,这样表达地图的数据结构和包含传感器的数据结构组成了一个黑板。

猜你喜欢

转载自www.cnblogs.com/Cccccz/p/11145477.html