1

任何人都可以帮助解释如何生成以下价值函数,附上问题和解决方案,我只是不知道解决方案是如何生成的。谢谢你! 问题

解决方案

仍然需要帮助!

4

1 回答 1

1

由于没有其他人对此进行尝试,我将展示我对这个问题的理解(免责声明:我不是强化学习方面的专家,我将其发布为答案,因为它太长而无法发表评论)

可以这样想:例如,当从节点 d 开始时,随机游走者有 50% 的机会跳到节点 e 或节点 a。每一次这样的跳跃都会通过乘数 y(图中的伽马)减少奖励 (r)。您继续跳来跳去,直到到达目标节点(在本例中为 f),然后您收集奖励 r。

如果我理解正确的话,两个较小的 3x2 方块代表从每个节点开始时奖励的预期值。现在,很明显为什么在第一个 3x2 方格中每个节点的值都是 100:因为 y = 1,奖励永远不会减少。你可以一直跳,直到最终到达奖励节点,并收集 r=100 的奖励。

然而,在第二个 3x2 方格中,每跳跃一次,奖励就会减少 0.9 倍。因此,要从方格 c 开始获得奖励的期望值,请将您从不同路径获得的奖励相加,乘以它们的概率。从 c 到 f 有 50% 的机会,它是 1 次跳跃,所以你得到 r = 0.5*0.9^0*100 = 50。然后是路径 cbef: 0.5*(1/3)*(1/3) *0.9^2*100 = 4.5。然后是 cbcf:0.9^2*0.5^​​2*(1/3)^1*100 = 6.75。你一直这样下去,直到你正在检查的路径的奖励微不足道,然后将所有路径的奖励加在一起。这应该会给你相应节点的结果,即 50+6.75+4.5+... = 76。

我想这样做的程序化方法是使用修改后的 dfs/bfs 来探索长度为 N 或更短的所有路径,并将这些路径的奖励加在一起(选择 N 以使 0.9^N 很小)。

再一次,把这个和一粒盐放在一起;我不是强化学习方面的专家。

于 2013-11-04T12:58:37.713 回答