您似乎假设您应该在下一个时间步中查看状态值。这是不正确的。Q 函数回答了这个问题:
如果我处于 state x
,我应该采取什么行动?
在非确定性环境中,您甚至不知道下一个状态将是什么,因此无法确定在您的解释中要采取何种行动。
Q-learning 的学习部分确实作用于两个后续时间步长,但在它们已知之后,它们用于更新Q-function 的值。这与如何收集这些样本(状态、动作、强化、下一个状态)无关。在这种情况下,样本由与环境交互的代理收集。并且在 Q-learning 设置中,代理根据策略与环境交互,该策略基于此处 Q 函数的当前值。从概念上讲,一项政策可以回答我上面引用的问题。
1,A
在步骤 1 和 2 中,仅针对状态和修改 Q 函数2,A
。在步骤 3 中,代理处于状态3,A
,因此这是 Q 函数中唯一相关的部分。
在第三步中,为什么采取的行动是“正确”而不是“向上”(回到 A2)。
在状态3,A
下,具有最高 Q 值的动作是“正确的”(0.2
)。所有其他行动都有价值0.0
。
另外,即使那里有一堵墙而且不可能走对,为什么 2,C 对“正确”的行动的奖励值为 2?我们是否只是假设这不可能而忽略它的 Q 值?
在我看来,从 . 的右侧没有墙2,C
。然而,给出了 Q 函数,在这个任务中是否有可能使用 Q 学习达到这样的 Q 函数是无关紧要的。无论如何,您总是可以从任意 Q 函数开始 Q 学习。
在 Q-learning 中,您唯一的知识是 Q-function,因此您对“墙”和其他事物一无所知 - 您根据 Q-function 行事,这就是该算法的全部优点。
然后在步骤 6 中,在状态 1、C 下“向下”和“向右”的 Q 值相等。那时代理只是随机选择吗?那么对于这个问题,我会选择最好的举动,因为代理人可能会选择它?
同样,您应该查看代理当前处于的状态的值,因此1,B
“正确”是最佳的 - 它具有0.1
并且其他操作是0.0
。
回答最后一个问题,即使它在这里无关紧要:是的,如果代理正在采取贪婪的步骤并且多个动作看起来是最优的,它会在最常见的策略中随机选择一个。
说代理人没有回到他以前来自的状态是真的吗?一个代理是否会多次探索同一个状态(不包括开始一个新的迷宫实例)?
不。正如我上面所说的——在纯 Q 学习中使用的唯一指导代理是 Q 函数。它不知道它以前一直处于特定状态。