landing_image landing_image landing_image landing_image landing_image landing_image landing_image
portrait

YX.S

成為一個厲害的普通人

動態規劃(DP)指的是給出一組完美的環境模型後可以算出優化策略的方法

動態規劃將問題分為好幾個子問題,並將他儲存成方案

當遇到重複的子問題時,就可以拿出來用

動態規劃因為受限於需要模型所以實務上比較難用

但就理論來說依然有其重要性

 

策略估計(Policy Evaluation)

先來考慮如何決定策略 π

回想第三篇,我們講到評估策略的價值 vπ(s)

π(a|s) 所指的是在策略 π 之下根據狀態 s 所採取的動作 a

並且只要 γ < 1 就可以確定 vπ 具有唯一性

如果環境的動態是已知的

則解開式子的方法就是繁瑣的迭代計算

而起始值 v0 則是隨機選擇的

更新規則:

經過不停的迭代,最後可以收斂到最好的策略

而收斂的條件就是

新的估計值與舊的估計值一樣

迭代算法:

 

策略改善(Plicy Improvement)

前面講了透過迭代可以知道目前的策略在每個狀態下的價值

那麼如果想知道換個策略會不會比較好呢?

評估的方法就是選擇一個狀態 s 並且執行動作 a

關鍵點在於是否大於或小於 vπ(s)

假設 π′ 和 π 是在比較的策略,且
qπ(s, π′(s)) ≥ vπ(s)
那就代表 π′ 是比較好的,同理
vπ′ (s) ≥ vπ (s)

π′ 可以表示為

 

策略迭代(Policy Iteration)

將上面兩個講的 策略評估 以及 策略改善合再一起

就稱之為策略迭代

E表示評估,I表示改善

算法:

 

價值迭代(Value Iteration)

策略迭代中的策略評估在運算時需要花很多時間

因此有了價值迭代來提升效率

這個方法讓策略評估每次在進行迭代時只做一次就停止

價值迭代的算法

 

參考:Reinforcement Learning: An Introduction(Richard S. Sutton and Andrew G. Barto)第4節