价值迭代算法中的利率

时间:2015-09-27 14:48:15

标签: artificial-intelligence

在关于计算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是什么意思吗?他们是怎么得到的?为什么在上面的算法中使用终止条件?

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时,需要进行多次迭代。