【RL系列】馬爾可夫決策過程中狀態價值函數的一般形式


請先閱讀上一篇文章:【RL系列】馬爾可夫決策過程與動態編程

在上一篇文章里,主要討論了馬爾可夫決策過程模型的來源和基本思想,並以MAB問題為例簡單的介紹了動態編程的基本方法。雖然上一篇文章中的馬爾可夫決策過程模型實現起來比較簡單,但我認為其存在兩個小問題:

  • 數學表達上不夠簡潔
  • 狀態價值評價型問題與動作價值評價型問題是分離的,形式上不夠統一

 


 

本篇主要來解決第一個問題。

 

第一個問題是比較直觀的,下面給出狀態價值函數以作分析:

$$ \mathbb{Value}(S_1) = \mathbb{Reward}(S_1) + \gamma \sum_{i = 1}^{n} \pi(A_i|S_1)\sum_{j = 1}^{N(A_i)}P\left[S_{A_i}(j)|A_i, S_1\right] \mathbb{Value}\left[S_{A_i}(j)\right] $$

實際上如果將這個價值函數的后半Futrue Value部分展開了寫,可以寫為:

$$\begin{align}
\mathbb{Value}(S_1) & = \mathbb{Reward}(S_1) + \gamma \sum_{i = 1}^{n} \pi(A_i|S_1) \left[ \begin{matrix} P\left[S_{A_i}(1)|A_i, S_1\right] \mathbb{Value}S_{A_i}(1) + \\ P\left[S_{A_i}(2)|A_i, S_1\right] \mathbb{Value}S_{A_i}(2) + \\......\\P\left[S_{A_i}(N(A_i))|A_i, S_1\right] \mathbb{Value}S_{A_i}(N(A_i)) \end{matrix} \right] \\& = \mathbb{Reward}(S_1) + \gamma \sum_{i = 1}^{n} \pi(A_i|S_1) \left[\begin{matrix} P\left[S_{A_i}(1)|A_i, S_1\right]\\ P\left[S_{A_i}(2)|A_i, S_1\right]\\ ......\\ P\left[S_{A_i}(N(A_i)|A_i, S_1\right]
\end{matrix} \right]^T \left[\begin{matrix} \mathbb{Value}S_{A_i}(1)\\ \mathbb{Value}S_{A_i}(2)\\ ......\\ \mathbb{Value}S_{A_i}(N(A_i))
\end{matrix} \right] \end{align}$$

可以將關於動作$ A_i $的可能轉移狀態的價值函數矩陣寫為$ \mathbf{V}(A_i) $,將狀態轉移概率矩陣寫為$ \mathbf{P}^{T}(A_i) $,那么價值函數就可以表示為:

$$ \mathbb{Value}(S_1) = \mathbb{Reward}(S_1) + \gamma \sum_{i = 1}^{n} \pi(A_i|S_1) \mathbf{P}^{T}(A_i) \mathbf{V}(A_i) $$

如果每一個可執行的動作所可以得到的狀態都是固定一樣多的話,那么這個式子的形式還可以繼續化簡。假設在有限馬爾可夫決策過程中,存在有限的動作集合$ \mathbb{A} = \{A_1, A_2, ...,A_n \} $和有限的狀態集合$ \mathbb{S} = \{S_1, S_2, ...,S_m \} $, 每個動作都可以產生m個有限的狀態(如果實際應用中,不可能產生的狀態則狀態轉移概率為0)。所有動作所對應的狀態轉移概率矩陣$ \mathbb{P} $ 就可以寫為:

$$ \mathbb{P} = \left[\begin{matrix} \mathbf{P}^{T}(A_1) \\ \mathbf{P}^{T}(A_2)\\ ......\\ \mathbf{P}^{T}(A_n) \end{matrix}\right] = \left[\begin{matrix} P\left[S_{A_1}(1)|A_1, S_1\right] & P\left[S_{A_1}(2)|A_1, S_1\right]& ... & P\left[S_{A_1}(m)|A_1, S_1\right] \\ P\left[S_{A_2}(1)|A_2, S_1\right] & P\left[S_{A_2}(2)|A_2, S_1\right]& ... & P\left[S_{A_2}(m)|A_2, S_1\right] \\ ...... & ...... & ... & ......\\ P\left[S_{A_n}(1)|A_n, S_1\right] & P\left[S_{A_n}(2)|A_n, S_1\right]& ... & P\left[S_{A_n}(m)|A_n, S_1\right] \end{matrix}\right] $$

我們同樣可以設動作轉移概率舉證$ \mathbf{\Pi} $為:

$$ \mathbf{\Pi} = \left[\begin{matrix} \pi(A_1|S_1)\\ \pi(A_2|S_1)\\ ......\\ \pi(A_n|S_1) \end{matrix}\right]^{T} $$

這樣我們就可以將對狀態$ S_1 $的價值評價的一般形式寫出來:

$$ \mathbb{Value}(S_1) = \mathbb{Reward}(S_1) + \gamma \mathbf{\Pi} \mathbb{P} \mathbf{V}$$

到目前位置所有公式的推導都有一個大前提,就是當前狀態為$ S_1 $,如果我們將價值函數的一般形式推廣到所有狀態,那么除了向量$ \mathbf{V} $外,每個項的維度都會提升一個。這樣的話,$\mathbf{\Pi}$矩陣變為二維矩陣,狀態轉移矩陣$\mathbb{P}$變為一個三維矩陣,即張量$ \mathrm{P}_{s'a}^{s} $

$$ \mathrm{P} = \mathrm{fold} \left[\begin{matrix} \mathbb{P}(S_1) \\ \mathbb{P}(S_2) \\......\\ \mathbb{P}(S_m) \end{matrix} \right] $$

至此我們可以寫出狀態價值函數的最一般形式:

$$ \mathbf{V} = \mathbf{R} + \gamma \mathbf{\Pi} \mathrm{P}_{s',a}^{s} \mathbf{V} $$

我們可以用狀態轉移圖將該式表示出來,這樣更加直觀:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM