如何计算强化学习中的价值函数

时间:2013-10-19 20:23:15

标签: artificial-intelligence reinforcement-learning

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

solution

仍然需要帮助!

1 个答案:

答案 0 :(得分: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。然后是c-b-c-f: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很小)

再次,拿出一粒盐;我不是强化学习的专家。