在上一篇文章 強化學習(二):馬爾可夫決策過程 中, 我們介紹用來對強化學習問題進行建模的馬爾可夫決策過程(Markov Decision Processes, MDPs).
由於MDPs的貝爾曼最優方程沒有封閉解, 因此一般採用迭代的方法對其進行求解.
本文將介紹使用動態規劃(Dynamic Programming)演算法來求解MDPs.
文章目錄
1. 動態規劃
1.1. 動態規劃的性質
1.2. 用動態規劃進行預測和控制
2. 策略評估
2.1. 策略評估問題
2.2. 迭代策略評估演算法
3. 策略改進
4. 策略迭代
4.1. 策略迭代
4.2. 策略迭代演算法
4.3. 策略迭代的擴展
4.3.1. 改良策略迭代
4.3.2. 廣義策略迭代
5. 值迭代
5.1. 最優性原則
5.2. 確定性值迭代
6. 同步動態規劃演算法總結
7. 動態規劃的擴展
7.1. 非同步動態規劃
7.1.1. 就地動態規劃
7.1.2. 優先掃描
7.1.3. 實時動態規劃
7.2. 全寬和採樣備份
7.2.1. 全寬備份
7.2.2. 採樣備份
8. 壓縮映射
1. 動態規劃
- 動態(Dynamic): 問題中的時序部分
- 規劃(Planning): 對問題進行優化
動態規劃將問題分解為子問題, 從子問題的解中得到原始問題的解.
1.1 動態規劃的性質
最優子結構(Optimal substructure)
- 應用最優性原則(Principle of optimality)
- 最優解可以從子問題的最優解中得到
重疊子問題(Overlapping subproblems)
馬爾可夫決策過程滿足上面兩種性質:
貝爾曼方程 給出了問題的遞歸分解表示, 值函數 存儲和復用了問題的解.
1.2 用動態規劃進行預測和控制
前提:
動態規劃假設我們知道MDP的所有知識, 包括狀態、行為、轉移矩陣、獎勵甚至策略等.
對於預測(Prediction)問題:
輸入:
輸出:
- 值函數
對於控制(Control)問題:
輸入:
MDP
輸出:
- 最優值函數
- 最優策略
2. 策略評估(Policy Evaluation)
2.1 策略評估問題
問題: 評估一個給定的策略
求解: 對貝爾曼期望方程進行迭代,
通常使用同步備份(synchronous backups)方法:
對於第 次迭代, 所有狀態 在第 時刻的價值 用 進行更新, 其中 是 的後繼狀態.