无限阶段的马尔科夫决策过程,相关论文一般比较难,初步总结一下知识点。
若无限阶段的马尔科夫过程为平稳的,那么各阶段的状态转移概率与回报函数都是相同的,这样马尔科夫过程最终会达到一个平稳的状态。(在库存问题中,平稳过程意味着各阶段的随机需求函数相同,收益与成本参数也相同)
按照决策目标,可以分为折扣模型与平均模型。
1. 折扣模型
假设一个马尔科夫过程的最优收益函数为:
V n + 1 ( s ) = max a { ∑ s ′ P ( s ′ ∣ s , a ) [ ( R ( s ′ ∣ s , a ) + β V n ( s ′ ) ] } (1) V_{n+1}(s)=\max_{a}\left\{\sum_{s'}P(s'|s,a)\left[(R(s'|s,a)+\beta V_n(s')\right]\right\}\tag{1} Vn+1(s)=amax{s′∑P(s′∣s,a)[(R(s′∣s,a)+βVn(s′)]}(1)
其中, s s s 表示第 n + 1 n+1 n+1 阶段的当前状态, a a a 表示第 n + 1 n+1 n+1 阶段的决策, R ( s ′ ∣ s , a ) R(s'|s,a) R(s′∣s,a) 表示在当前状态为 s s s,决策为 a a a,转移到状态 s ′ s' s′ 时的回报函数, β \beta β 为折扣因子。而 P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a) 为转移概率函数。
最大化这个最优收益函数的问题就是折扣模型。若状态和行动的集合都是有限的,一定存在一个最优的平稳策略。
一般有两种求解方法:值迭代(Value iteration)与策略迭代(Policy iteration)。
(策略迭代似乎是最容易理解最常用的)
1.1 策略迭代
-
step 1: n = 0 n=0 n=0,任取一个初始策略 f 0 \bm f_0 f0 (相当于 a 的值有初始值,各阶段的决策组合为一个策略)。
-
step 2: 对于每个状态 s s s,给定的策略 f n f_n fn,都有一个平稳方程:
∑ s ′ P ( s ′ ∣ s , a ) [ ( R ( s ′ ∣ s , a ) + β V n ( s ′ ) ] = V n ( s ) \sum_{s'}P(s'|s,a)\left[(R(s'|s,a)+\beta V_n(s')\right]=V_n(s) s′∑P(s′∣s,a)[(R(s′∣s,a)+βVn(s′)]=Vn(s)
组合成一个方程组,可以求解每个 V n ( s ) V_n(s) Vn(s) 的值。 -
step 3: 将每个 V n ( s ) V_n(s) Vn(s) 的值代入表达式 (1) 中,可以得到一个新的策略 f n + 1 \bm f_{n+1} fn+1.
-
step 4: 若 f n + 1 = f n \bm f_{n+1}= \bm f_{n} fn+1=fn,停止, f n + 1 \bm f_{n+1} fn+1 就是最优策略;否则,令 n = n + 1 n=n+1 n=n+1,返回 step 2 继续迭代。[^1]
《实用马尔可夫决策过程》书中3.4章节的一个例子:
状态空间 S = 1 , 2 S={1, 2} S=1,2,在状态 1 和 2 的可用行动集 A ( 1 ) = A ( 2 ) = 1 , 2 A(1)=A(2)={1, 2} A(1)=A(2)=1,2,折扣因子 β = 0.9 \beta=0.9 β=0.9. 相应的报酬函数和转移概率见下表。
未完待续。
1.2 值迭代
值迭代的算法步骤为:
-
step 1: n = 0 n=0 n=0,给定的 ϵ > 0 \epsilon>0 ϵ>0,对于 s s s 的所有可能状态,任意取值 V 0 ( s ) V_0(s) V0(s).
-
step 2: 将所有的 V n ( s ) V_n(s) Vn(s) 代入到表达式 (1) 中,得到所有的 V n + 1 ( s ) V_{n+1}(s) Vn+1(s).
-
step 3: 所有的 V n ( s ) V_n(s) Vn(s) 写成向量形式 V n \bm V_n Vn,所有的 V n + 1 ( s ) V_{n+1}(s) Vn+1(s) 写成向量形式 V n + 1 \bm V_{n+1} Vn+1,若
∣ ∣ V n + 1 − V n ∣ ∣ < ϵ ( 1 − β ) 2 β ||\bm V_{n+1}-\bm V_{n}||<\frac{\epsilon(1-\beta)}{2\beta} ∣∣Vn+1−Vn∣∣<2βϵ(1−β)
进入 step 4, 否则令 n = n + 1 n=n+1 n=n+1,返回 step 2 继续迭代. -
step 4: 对于每个状态 s s s,此时表达式 (1) 中求得的 a a a 就是对应的最优决策.
2. 平均报酬下的最优方程
若状态空间可数,决策空间有限,则平均报酬下的单链无限阶段马尔科夫过程的最优方程为:
g + V n + 1 ( s ) = max a { ∑ s ′ P ( s ′ ∣ s , a ) [ ( R ( s ′ ∣ s , a ) + β V n ( s ′ ) ] } g+V_{n+1}(s)=\max_{a}\left\{\sum_{s'}P(s'|s,a)\left[(R(s'|s,a)+\beta V_n(s')\right]\right\} g+Vn+1(s)=amax{s′∑P(s′∣s,a)[(R(s′∣s,a)+βVn(s′)]}
参考资料:1
刘克. 实用马尔可夫决策过程. 清华大学出版社; 2004. ↩︎