由于Q-learning采用的是off-policy,如下图所示
但是为什么不需要重要性采样。其实从上图算法中可以看到,动作状态值函数是采用1-step更新的,每一步更新的动作状态值函数的R都是执行本次A得到的,而我们更新的动作状态值函数就是本次执行的动作A的 Q ( S , A ) Q(S,A) Q(S,A)。就算A不是通过 g r e e d y greedy greedy策略选择的(是通过 ϵ − g r e e d y \epsilon-greedy ϵ−greedy采样得到),对 Q ( S , A ) Q(S,A) Q(S,A)估计的更新也不会受到任何影响。因为对于下一个动作的选取是贪心的 max a Q ( s ′ , a ) \max_{a}Q(s',a) maxaQ(s′,a)。但是如果是n-step更新,则会出现问题
Q ( s t , a t ) = Q ( s t , a t ) + α [ R t + γ R t + 1 + γ 2 max a Q ( s t + 2 , a