《强化学习》(第 2 版) 习题 6
6.1
在 $V$ 被不断更新的情况下, 式子左边的 $V(S_t)$ 与右边的是不等价的. 因为右边的 $V(S_t)$ 是没有更新的, 而左边的 $V(S_t)$ 却是已经更新的. 因此右边得再加上 $\alpha\delta_t$ .
6.2
我们将整个走高速以及到家的过程简化成一个状态 $s_2$ , 从新办公楼到新停车场到高速的过程简化成 $s_1$ , 显然 $V(s_2)$ 与之前的是一样的, 于是我们如果采取时序差分只需一步就可以获得较准确的更新, 这样显然比蒙特卡洛整个走一遍再更新的效率要高, 且准确度是差不多的 (关键就在于 $V(s_2)$ , 即某些状态的价值仍然相当正确的) .
6.3
因为无折扣, 所以 $\gamma=1$ , 又因为在多数情况下回报 $R=0$ , 所以根据 $\text{TD}$ 方法的更新公式多数情况的价值都不会改变 (仍是 $0.5$). 而第一幕, 应该是到达了左边的终止状态, 值改变了 $-0.5\alpha$ .
6.4
不知如何回答.
但是总的来说, $\alpha$ 越小, 收敛约慢, 相同的结果也越好. 且同一参数下 (至少不是太大的参数) $\text{TD}$ 总是优于蒙特卡洛.
6.5
可能是因为 $\alpha$ 过大导致难以收敛. 应该与初始化有关.
6.6
蒙特卡洛和 $\text{TD}$ . 猜不到.
6.7
将第 5 章中 “离轨策略 $\text{MC}$ 控制算法, 用于估计 $\pi\approx\pi_*$“ 中更新公式中的 $[G-Q(S_t,A_t)]$ 改为 $[R_{t+1}+\max_aQ(S_{t+1}, a)-Q(S_t, A_t)]$ .
$$
V(S_t)=R_{t+1}+\max_aV(S_{t+1})-V(S_t)
$$
6.8
$$ \begin{aligned} G_t-Q(S_t,A_t)&=R_{t+1}+\gamma G_{t+1}-Q(S_t,A_t)+\gamma Q(S_{t+1}, A_{t+1})-\gamma Q(S_{t+1}, A_{t+1})\\ &=\delta_t+\gamma(G_{t+1}-Q(S_{t+1}, A_{t+1}))\\ &=\cdots\\ &=\sum_{k=t}^{T-1}\gamma^{k-t}\delta_k \end{aligned} $$6.9
6.10
6.11
因为它的更新公式与 $\text{Sarsa}$ 的区别在于将 $Q(S', A')$ 换成了 $\max_aQ(S',a)$ . 这其实与将你当前的策略换成贪心策略是等价的. 因此事实上你其实是用了贪心策略来更新你现在的 (不一定是贪心) 的策略, 因此是 “离轨” 的.
6.12
并不.
$\text{Sarsa}$ 在 $Q$ 更新前就已经选取好了下一步动作 $A'$ . 而 $\text{Q}$ 学习在更新后才选取 $A'$ . 如果执行动作后的环境 $S'$ 仍然是先前的环境 $S$ . 那么 (下一步选取的动作) 就会产生不同.
6.13
应当随机的用其中一个 $Q$ , 如何用 $\epsilon$-贪心 策略选取一个动作 $A_{t+1}$ , 然后在更新公式中用另一个 $Q$ 来计算 $Q(S_{t+1}, A_{t+1})$ .