動態規劃(DP)是指,當給出一個具體的環境模型已知的馬爾科夫決定過程(MDP),可以用於計算其最佳策略的算法集合。經典DP算法在強化學習中的實用性有限,因爲他們假定了一個具體的模型,並且還受限於它們的計算cost很高,但它在理論上仍然很重要。
策略迭代
通用策略迭代是:
1. 先從一個策略
2. 策略評估(Policy Evaluation) - 得到策略
3. 策略改善(Policy Improvement) - 根據價值
4. 迭代上面的步驟2和3,直到找到最優價值
這個被稱爲通用策略迭代(Generalized Policy Iteration)。
數學表示如下:
因此,我們需要關心兩個問題:如何計算策略的價值,以及如何根據策略價值獲得一個優化的策略。即策略評估和策略優化。
總體框架如下圖:
下面分別講解策略評估(Policy Evaluation)和策略改善(Policy Improvement)。
策略評估
策略評估是通過狀態值函數來實現的,值函數定義爲(
此時,s狀態的值函數是由其他所有狀態在策略
策略優化
可以證明,最大化動作狀態值函數的同時也會最大化狀態值函數(P83)。所以策略優化通過最大化動作狀態值函數實現。
由此可以得到前面策略迭代的流程框圖。
價值迭代
價值迭代方法是對上面所描述的方法的一種簡化:
在策略評估過程中,對於每個狀態s,只找最優(價值是最大的)行動a。這樣可以減少空間的使用。步驟如下:
1. 初始化 - 所有狀態的價值(比如:都設爲0)。
2. 初始化 - 一個等概率隨機策略
3. 策略評估
對於每個狀態s,只找最優(價值是最大的)行動a。即:
價值迭代不需要優化過程,最後輸出的策略直接選取最大的值函數即可: