最近學習了MDP,查看一些資料,本文翻譯了維基百科http://en.wikipedia.org/wiki/Markov_decision_process。有許多地方翻譯的不好,有翻譯錯的地方請多多諒解!歡迎給我留下意見,我會盡快更改!
定義
一個很簡單的只有3個狀態和2個動作的MDP例子。
一個馬爾可夫決策過程是一個4 - 元組 ,其中
S是狀態的有限集合,
A是動作的有限集合(或者,As是處於狀態s下可用的一組動作的有限集合),
表示 t時刻的動作 a 將導致馬爾可夫過程由狀態 s 在t+1 時刻轉變到狀態 s' 的概率 。
Ra(s,s') 表示以概率Pa(s,s')從狀態 s 轉變到狀態 s' 後收到的即時獎勵(或預計即時獎勵)。
(馬爾可夫決策過程理論實際上並不需要 S 或 A 這兩個集合是有限的,但下面的基本算法假定它們是有限的。)
馬爾可夫決策過程(MDPs)以安德烈馬爾可夫的名字命名 ,針對一些決策的輸出結果部分隨機而又部分可控的情況,給決策者提供一個決策制定的數學建模框架。MDPs對通過動態規劃和強化學習來求解的廣泛的優化問題是非常有用的。MDPs至少早在20世紀50年代就被大家熟知(參見貝爾曼1957年)。大部分MDPs領域的研究產生於羅納德.A.霍華德1960年出版的《動態規劃與馬爾可夫過程》。今天,它們被應用在各種領域,包括機器人技術,自動化控制,經濟和製造業領域。
更確切地說,一個馬爾可夫決策過程是一個離散時間隨機控制的過程。在每一個時階(each time step),此決策過程處於某種狀態 s ,決策者可以選擇在狀態 s 下可用的任何動作 a。該過程在下一個時階做出反應隨機移動到一個新的狀態 s',並給予決策者相應的獎勵 Ra(s,s')。
此過程選擇 s'作爲其新狀態的概率又受到所選擇動作的影響。具體來說,此概率由狀態轉變函數Pa(s,s')來規定。因此,下一個狀態 s' 取決於當前狀態 s 和決策者的動作 a 。但是考慮到狀態 s 和動作 a,不依賴以往所有的狀態和動作是有條件的,換句話說,一個的MDP狀態轉換具有馬爾可夫特性。
馬爾可夫決策過程是一個馬爾可夫鏈的擴展;區別是動作(允許選擇)和獎勵(給予激勵)的加入。相反,如果忽視獎勵,即使每一狀態只有一個動作存在,那麼馬爾可夫決策過程即簡化爲一個馬爾可夫鏈。
問題
MDPs的核心問題是爲決策者找到一個這樣的策略:找到到函數 π ,此函數指定決策者處於狀態 s的時候將會選擇的動作 π(s)。請注意,一旦一個馬爾可夫決策過程以這種方式結合策略,這樣可以爲每個狀態決定動作,由此產生的組合行爲類似於馬爾可夫鏈。
我們的目標是選擇一個策略 π,它將最大限度地積累隨機回報,通常預期折扣數目總和超會過一個假定的無限範圍:
(當我們選擇 at = π(st ))
其中 是折扣率,滿足。它通常接近1。
由於馬爾可夫特性,作爲上面假設的,特定問題的最優政策的確可以只寫成 s 的功能。
解決方法
假設我們知道狀態轉移函數 P 和獎勵函數 R ,而且我們希望計算最大化期望折扣獎勵的策略。
標準的算法族(the standard family of algorithms)來計算此類最佳策略需要兩個數組,它們分別被包含實際值的值 V 和包含動作的策略 π 索引。在算法的結束,π 將包含此解決方案,V(s)將包含在狀態s 下(平均起來)採取上面所說的解決方案所獲得的回報折扣總和。
該算法具有下述的兩種步驟,針對所有狀態按照某種次序重複執行它們,直到沒有進一步的變化發生爲止。它們是
它們的順序取決於該算法的變體;針對所有狀態一個步驟也許就可以一次完成,或者一個狀態接着一個狀態,往往針對某些狀態比其他一些要更多。只要沒有狀態是永久排除的此兩個步驟之外的,那麼該算法將最終找到正確的解答。
值得注意的變種
值迭代
在值迭代(貝爾曼1957年)中,也被稱爲逆向歸納法 ,π 數組是不被使用的,而是當需要時就計算π(s)的值。
代入 π(s) 的計算結果到 V(s) 得到下面的合併步驟:
此更新的規則是針對所有狀態 s 重申的,直到每個狀態收斂到左邊等於右邊(Bellman方程)。
策略迭代
在政策迭代(霍華德1960年)中,第一步是進行一次,然後重複步驟二直到收斂。然後,第一步是重新執行一次等。
而不是重複步驟二的銜接,可能像一個線性方程組集合的規劃和求解。
這種變體的優點是有一個明確的終止條件:針對所有狀態當數組 π 在應用步驟1的過程中不會改變,則算法結束。
修改策略迭代
在修改後的策略迭代(van Nunen,1976; Puterman和Shin 1978),第一步是進行一次,然後第二步是反覆多次。然後,第一步是重新執行一次等。
優先掃除
在這種變異中,所有步驟是優先適用於在某些方面重要的狀態---無論是基於算法的(對 V 有大的變化或那些狀態附近的π ),或基於使用的(這些狀態附近初始化狀態,或引起人或程序中算法興趣的)。
擴展
部分可觀測
主要文章: 部分可觀察馬爾可夫決策過程
假定當動作被採取時狀態 s 是已知的;否則π(s)不能被計算。當這個假設是不正確的,此問題被稱爲部分可觀測馬爾可夫決策過程或POMDP的。
強化學習
如果概率或獎勵不明,問題是一種強化學習 (Sutton和Barto,1998)。
爲了對定義進一步函數有幫助,相當於首先採取動作對應 a ,然後繼續優化(或根據目前策略一擁有的任何情況):
雖然這個功能也是未知的,在學習過程中經驗是基於(s,a) 二元組的(連同其結果s'的 ),即“我是在狀態s ,我嘗試着做a , s'發生了”)。因此,人們有一個數組Q和使用經驗直接更新它。這就是所謂的Q-學習 。
強化學習的力量在於它有能力解決沒有計算轉移概率的馬爾可夫決策過程;請注意,在價值和策略迭代中轉移概率必要的。此外,強化學習可以結合函數逼近,從而可以解決一個非常大數量的狀態問題。強化學習也可以輕而易舉地在蒙特卡洛系統模擬器上進行。
另類符號
MDPs的術語和符號並非完不變的。有兩個主要來源:一個來源側重於最大化問題,比如經濟學背景的,使用條件的行動,獎勵,價值,通常稱折扣因子 β 或 γ,而另一個來源則側重於最小化問題,比如工程學和航空領域,使用條件的控制,成本,成本代價,通常稱折扣因子α。此外,轉化概率符號各不相同。
在這篇文章 |
替代 |
意見 |
動作 a |
控制 u |
|
獎勵 R |
開銷 g |
g 是 R 負值。 |
值 V |
成本代價 J |
J 爲 V 的負值。 |
策略 π |
策略 μ |
|
折扣因子 |
折扣因子 α |
|
轉換概率 Pa(s,s') |
轉換概率 pss'(a) |
|
此外,轉換概率有時寫成 Pr(s,a,s') ,Pr(s'|s,a) 或者 ps's(a) 。
參見
Bellman的經濟學應用方程。