假设您获得了一个 MDP,其中奖励归因于达到某个状态,与操作无关。然后在进行值迭代时:
什么是?
我遇到的问题是,默认情况下,终端状态有(一些终端奖励)。然后,当我尝试实现值迭代时,如果我将设置为(这是我的想法),我会得到与终端状态相邻的状态的值高于终端状态本身,因为
可以很容易地大于,这在实践中是没有意义的。所以我似乎能够得到的唯一结论是,就我而言, .. 这是正确的吗?
假设您获得了一个 MDP,其中奖励归因于达到某个状态,与操作无关。然后在进行值迭代时:
什么是?
我遇到的问题是,默认情况下,终端状态有(一些终端奖励)。然后,当我尝试实现值迭代时,如果我将设置为(这是我的想法),我会得到与终端状态相邻的状态的值高于终端状态本身,因为
可以很容易地大于,这在实践中是没有意义的。所以我似乎能够得到的唯一结论是,就我而言, .. 这是正确的吗?
什么是?
在这种情况下,它似乎代表了并从状态转换到状态时收到的预期即时奖励。它是这样编写的,因此它可以实现为一系列方阵,每个动作一个。如果只有少数转换是可能的,那么这些矩阵当然可能非常稀疏,但它是描述 MDP 的一种很好的通用形式。
不同的 RL 教程之间的符号不同,所以在查看其他来源时要小心。
我遇到的问题是,默认情况下,终端状态有(一些终端奖励)。
不,。一个状态的价值,是未来奖励的预期贴现总和。终端状态没有未来的奖励,因此其值始终。
您系统中的“最终奖励”发生在转换,因此它的期望值应该由
如果最终状态是某个目标状态,或者是某个情节的错误退出,并且您如何到达那里并不重要,那么在您给出的公式中,您仍然将其表示为,就是这样和的值对您的情况无关紧要。一般来说,对于其他 MDP,它们可能很重要。
所以我似乎能够得到的唯一结论是,就我而言, .. 这是正确的吗?
一般不会。然而,在某些问题中,这可能是一个合理的简化。如果您进行了这种简化,那么您应该注意在具有与单个状态相关联的值时要与奖励是用于进入特定状态还是退出特定状态保持一致。“处于某种状态”不会有奖励,最接近的方法是在进入状态时给予一致的奖励(忽略导致转换的先前状态和动作)。
在这里,您似乎在这里建议您想要退出特定状态的奖励 - 忽略其中采取了哪些操作,或者下一个状态是什么。我不知道你的 MDP 的细节,所以不能说这是否适合你。考虑到您的其余问题,也许不是。
如果您是笼统地问,那么您的答案
如果您要求处理特定的 MDP,我建议您再看看您的原始问题,并在此答案中提供额外信息。