Reinforcement learning an introduction example 6.2 i.e. exercise 6.6

在第二版的p125中有写道:

Thus, the true values of all the states, A through E, are 1 6 \frac{1}{6} 61, 2 6 \frac{2}{6} 62, 3 6 \frac{3}{6} 63, 4 6 \frac{4}{6} 64, and 1 6 \frac{1}{6} 61.

那么这些结果哪里来的。在本书大部分的时间里,value可以由Bellman equation获得:
v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_\pi(s) = \sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_\pi(s')] vπ(s)=aπ(as)s,rp(s,rs,a)[r+γvπ(s)]

在上式中,我们想要求得的是 v v v,但这伴随的未知量还包括p。
对于给定的一个s,四元函数p如果简简单单地记成1,并且把 π \pi π也写成0.5的话,并不能获得正确的答案。
因为书中写道,

… then proceed either left or right by one state on each step, with equal probability.

所以 π ( a ∣ s ) \pi(a|s) π(as)的取值应该没问题,
所以我认为,问题就在于四元函数p

给定了s和动作a,获得相应的s’和r的概率怎么就不是1了呢?换言之,这个里的s’和r难道不一定是立即可能的state和reward的了吗?

我联想到了Exercise 3.14,在那里,书中写道:

… show numerically that this equation holds for the center state, valued at +0.7, with respect to its four neighboring states, valued at …

应用上述的bellman equation,并且结合网上的答案,可以知道,仅就四个周边而言,反推得到的center的value值是:
1 4 × 1 × 0.9 × ( 0.4 − 0.4 + 2.3 + 0.7 ) = 0.675 ≠ 0.7 \frac{1}{4}\times1\times0.9\times(0.4-0.4+2.3+0.7)=0.675\neq0.7 41×1×0.9×(0.40.4+2.3+0.7)=0.675=0.7
我猜测,这个里的误差不仅源于数位保留的缘故(诚如在题干后边写的那样:

These numbers are accurate only to one decimal place.)

还应该在于,这里的四元函数p被默认为1了。这给人一种思考:是不是说,给定同样的状态和动作,并不是邻近的状态平均分享那四元函数?只不过它的比重接近但不一定完全一样而已。

那这样的话,如果有精确的计算,就不准确了。
但好在这个问题有一些好处:

  • discount = 0
  • reward = 0 except at the right end.

因此,以E为例, v π ( E ) = 0.5 × p ( R , 1 ∣ E , rightward ) × ( 1 + 1 × 1 ) v_\pi(E)=0.5\times p(R,1| E, \text{rightward})\times(1+1\times1) vπ(E)=0.5×p(R,1E,rightward)×(1+1×1)也就等于
p ( R , 1 ∣ E , rightward ) p(R,1| E, \text{rightward}) p(R,1E,rightward)

那么怎么求这个东西呢?
这个问题的一大特点,它是episodic,也就是说对于所有的情况,总共只有两种可能,一个是终结于左端,一个是终结于右端。那这样的情况是容易进行干净的分类讨论的。
参考了网上的答案,可以这样做:
首先,把 p ( R , 1 ∣ E , rightward ) p(R,1| E, \text{rightward}) p(R,1E,rightward)记作 P E ( R ) P_E(R) PE(R),意味终结于右端的那种可能情形;进而,终结于左端的可能情形记作 P E ( L ) P_E(L) PE(L)。注意,这里求出两种终端情形的概率并不难,巧的是 P E ( R ) P_E(R) PE(R)正好就是 p ( R , 1 ∣ E , rightward ) p(R,1| E, \text{rightward}) p(R,1E,rightward)而已。

P E ( R ) + P E ( L ) = 1 P_E(R)+P_E(L) = 1 PE(R)+PE(L)=1
进而展开 P E ( L ) P_E(L) PE(L):
P E ( L ) = P D ( L ) × P E ( D ) P_E(L)=P_D(L) \times P_E(D) PE(L)=PD(L)×PE(D)
已知 P E ( D ) = 0.5 P_E(D)=0.5 PE(D)=0.5,继续展开 P D ( L ) P_D(L) PD(L):
P D ( L ) = P D ( C ) × P C ( L ) + P D ( E ) × P E ( L ) P_D(L)=P_D(C) \times P_C(L) + P_D(E) \times P_E(L) PD(L)=PD(C)×PC(L)+PD(E)×PE(L)
根据对称性, P C ( L ) = 0.5 P_C(L)=0.5 PC(L)=0.5
又, P D ( C ) = 0.5 P_D(C)=0.5 PD(C)=0.5,综上形成闭环。
求得 P E ( R ) = 5 6 P_E(R)=\frac{5}{6} PE(R)=65
因此 v π ( E ) = 5 6 v_\pi(E)=\frac{5}{6} vπ(E)=65
根据对称性, v π ( A ) = 5 6 v_\pi(A)=\frac{5}{6} vπ(A)=65
接下来,
P D ( R ) = P D ( E ) × P E ( R ) + P D ( C ) × P C ( R ) = 2 3 ≡ 4 6 P_D(R)=P_D(E) \times P_E(R) + P_D(C) \times P_C(R) =\frac{2}{3} \equiv \frac{4}{6} PD(R)=PD(E)×PE(R)+PD(C)×PC(R)=3264
因此 v π ( D ) = 4 6 v_\pi(D)=\frac{4}{6} vπ(D)=64
同样根据对称性, v π ( B ) = 2 6 v_\pi(B)=\frac{2}{6} vπ(B)=62

你可能感兴趣的:(工作记录,强化学习)