在关于计算MDP最优策略的Value Iteration算法的章节中,有一个算法:
function Value-Iteration(mdp,ε) returns a utility function
inputs: mdp, an MDP with states S, actions A(s), transition model P(s'|s,a),
rewards R(s), discount γ
ε, the maximum error allowed in the utility of any state
local variables: U, U', vectors of utilities for states in S, initially zero
δ, the maximum change in the utility of any state in an iteration
repeat
U ← U'; δ ← 0
for each state s in S do
U'[s] ← R(s) + γ max(a in A(s)) ∑ over s' (P(s'|s,a) U[s'])
if |U'[s] - U[s]| > δ then δ ← |U'[s] - U[s]|
until δ < ε(1-γ)/γ
return U
(我为格式化道歉,但我需要10个代表来发布图片和$ latex格式化$在这里似乎不起作用。)
前面还有一章声明:
折扣因子γ相当于利率(1 /γ)-1。
有人能解释一下利率(1 /γ)-1是什么意思吗?他们是怎么得到的?为什么在上面的算法中使用终止条件?
答案 0 :(得分:1)
t-1的奖励被认为是因子γ(y)。也就是说,old = y x new。所以new =(1 / y)* old,new - old =((1 / y) - 1)* old。这是你的利率。
我不太清楚为什么它会在终止条件下使用。无论如何,epsilon的值是任意的。
事实上,我认为这种终止标准非常糟糕。当y = 1时它不起作用。当y = 0时,迭代应立即停止,因为它足以估计完美值。当y = 1时,需要进行多次迭代。