为下面给出的问题制定 MDP

数据挖掘 强化学习
2022-03-11 14:30:41

有人可以帮我为以下问题制定 MDP 吗?

问题定义

兔子在一个有两扇门的奇怪房间里醒来;一个在左边,一个在右边。他面前是一张建筑物的地图,清楚地标明了每扇门后面的东西。一扇门后面是一个有外面的房间,另一扇门后面是一个饿虎的房间。兔子不喜欢老虎。尤其是饿的。

  • 考虑一个控制问题,其中当前状态由兔子当前所在的房间指定,兔子可以采取的行动是穿过一扇门到另一个房间。假设起始房间有 2 扇门,每扇都通向自己的房间,而其他房间中的一个(特别是左边的那个)只有一扇通向出口的门,而另一个(特别是右边的一个)里面有一只老虎。此外,假设兔子完全了解这些细节,但有 10% 的机会在试图穿过其中一扇门时,他会感到困惑并转而穿过另一扇门。最后,假设当兔子和老虎一起进入房间时,这一集并没有结束。

问题

  • 为控制兔子的行为以避开老虎并离开建筑物的问题制定马尔可夫决策过程(MDP)。(以表格形式给出转移和奖励函数,或给出带有奖励的转移图)。

我想知道,在为某个问题制定 MDP 之前,是否需要考虑任何程序或规则

到目前为止我做了什么

在此处输入图像描述

  • 状态 A - 起始房间

  • 状态 B - 带出口的房间

  • 状态 C - 房间里有一只老虎

我不知道如何进一步进行。

1个回答

我想知道,在为某个问题制定 MDP 之前,是否需要考虑任何程序或规则

对于这样一个简单的问题,我会执行以下操作:

  • 列出州。
    • 你错过了一个状态——离开大楼的最终状态
  • 标记终端状态
    • 在这种情况下,只有离开建筑物才是最终状态。饥饿的老虎实际上并没有对兔子做任何事情,问题表明 MDP 应该继续进行。
  • 列出每个状态下可能采取的行动。
    • 在您的起始图中,您没有显示操作,这已经限制了您表达 MDP 的能力。
  • 列出可能的转换和它们的概率

    • 对于示例中的大多数操作选择,每个操作都有两种可能的结果。这个问题实际上并没有描述当只有一扇门时会发生什么,对于有老虎的房间,但似乎可以合理地说,当只有一扇门时兔子不可能混淆,所以退出有老虎的房间是个例外。
  • 分配奖励。奖励应与问题定义中所述的目标相关。对避免发生的事情(或通常避免浪费时间)的负面奖励。达到预期目标的积极奖励。

    • 在您的情况下,您有两个目标 - 避免老虎和退出建筑物。似乎没有任何时间限制。

通常,您会将动作选择显示为从状态到动作节点(通常只是一个小实心圆)的标记箭头,然后状态转换在该节点生效,进一步的箭头标记为到达状态的概率。所以状态 A 应该有两个箭头指向“选择左门”和“选择右门”,然后这些选择将再次分支——“选择左门”将进入状态 B,p=0.9,进入状态 C,p=0.1。

您可以自由选择放置奖励标签的位置,并且有几种不同的标准方法。在这种情况下,我会将非零奖励放在导致目标影响状态的状态转换上。例如,从 B 走出口到外面的状态转换可能会获得 +1 奖励。请注意,对于出口和有老虎的房间,由于随机转换,有两种可能的方法可以到达它们(感谢 Bunny 感到困惑)。

请注意,没有任何动作,也没有不同转换的可能性,Bunny 从状态 C 开始,并在下一个时间步以状态 C 结束。我认为您将状态 C 混淆为终端状态 - 尽管这是可以理解的,因为在现实世界中遇到饥饿的老虎很可能是终端,但问题清楚地表明,如果兔子遇到老虎,一切都会继续进行。这只是他想要避免的事情。如果他最终处于状态 C,那么他仍然可以采取行动来穿过门。当他采取这个行动时,他不会“迷惑”并选择错误的门,因此应该总是以 p=1.0 的状态 B 结束。

如果您决定绘制转换图,您可以自由选择布局。对此没有固定的方法,对于许多 MDP,可能无法绘制出漂亮的 2D 图。但是,在您的情况下,绝对可以以简单的 2D 排列布局状态。一个好的起点是将状态放置在与想象的房间地图相对应的位置。最初留出足够的空间,因为状态不会直接链接(正如您已经开始的那样),而是通过自身分支到下一个状态的动作节点链接。

我希望这足以指导您自己完成问题。自己解决剩下的问题比在这里把它变成一个工作的例子对你的学习要好得多。