我的问题可能很简单,但我对著名的Q-learning方程中的时间索引不太确定。
方程如下:Qt+1(St, At) = Qt(St, At) + alpha * (Rt+1 + gamma * max_A(Qt(St+1, A)) – Qt(St, At))
我不明白Rt+1代表什么。一个简单的例子:
- 我们在时间T的状态X。
- 基于epsilon-greedy选择新的动作
- 应用动作
- 我们在时间T + 1的状态Y
- (现在我们想要更新状态Y的Q值)奖励是从动作X -> Y计算的(?),还是在评估所有下一个Q值(max_A(Q(Y, A)))后从动作Y -> Z计算的奖励
- 重复1
回答:
在前一个回合中,你处于状态s(t)并采取了动作a(t)。现在你处于状态s(t+1),接收到奖励r(t+1),并(贪婪地)选择动作a(t+1)。你调整前一个动作的值,使其趋向于新动作的折扣值与奖励的总和。
你的例子中有一些误解:
- 你实际上是在更新动作的值,而不是状态值
- 你是在更新状态X的动作值,而不是Y
- 在状态X采取的特定动作可能导致不同的状态,而不仅仅是Y,所以没有所谓的X→Y动作