通过David Silverman的演讲,现在尝试做一些练习来巩固知识,我发现我不明白返回的概率实际指的是什么。在政策评估中,我们发现
$ v_ {k + 1}(s)= \ sum_ {a \ in A} \ pi(a | s)(R_s ^ a + \ gamma \ sum_ {s'\ in S} P ^ a_ {ss '} v_k(s))$
并且我已经在Python中为gridworld环境成功实现了这一点;
def policy_eval(policy, env, discount_factor=1.0, theta=0.00001):
V = np.zeros(env.nS)
while True:
delta = 0
for state in range(env.nS):
v = 0
for action in range(env.nA):
for prob, next_state, reward, done in env.P[state][action]:
v += policy[state][action] * prob * (reward + discount_factor * V[next_state])
delta = max(delta, abs(v - V[state]))
V[state] = v
if delta < theta:
break
return np.array(V)
我知道policy [state] [action]是在该状态下执行该操作的概率,而奖励是在该状态下执行该操作的奖励,另外两个是不言自明的。我看不到概率如何适应甚至什至指代。
答案 0 :(得分:0)
在进行了更多的体育锻炼和价值迭代之后,我发现概率回报与进行某些操作导致某些我们无法控制的事件的概率有关。这个例子向我展示了真正的意思是赌徒问题。我们有一个赌客有一些钱,如果他拿到$ 100,他就赢了,否则他必须下注0到他拥有的钱之间。如果玩的游戏是正面还是反面,则概率为0.5,表示50%的时间我们加倍下注,而50%的时间我们输掉所有下注。因此,我们无法控制一个动作(一个动作在下注)之后发生的事情。
希望这可以帮助遇到相同困境的其他人