我试图弄清楚如何在 gridworld 示例中实现 Q 学习。我相信我了解 Q 学习如何运作的基础知识,但它似乎并没有给我正确的价值观。
这个例子来自 Sutton 和 Barton 关于强化学习的书。
网格世界的指定使得代理可以在任何给定状态下以相等的概率采取动作 {N,E,W,S},并且所有动作的奖励为 0,除非代理尝试离开网格,在这种情况下它是 - 1. 有两种特殊状态,A 和 B,其中代理确定性地分别移动到 A' 和 B',奖励分别为 +10 和 +5。
我的问题是关于我将如何通过 Q 学习来实现这一点。我希望能够通过矩阵求逆来估计价值函数。代理以某种初始状态开始,什么都不知道,然后采取由 epsilon-greedy 算法选择的动作并获得我们可以模拟的奖励,因为我们知道奖励是如何分配的。
这引出了我的问题。每次代理从某个状态 S -> S' 转换时,我是否可以构建一个转换概率矩阵,其中概率是根据代理采取特定动作并进行特定转换的频率计算的?