下面求解贝尔曼最优方程,从而得到最优状态价值 v ∗ v^* v∗ 和最优策略 π ∗ \pi^* π∗。
一、求解最优状态价值 v ∗ v^* v∗
若 v ∗ v^* v∗ 是贝尔曼最优方程的解,那么它满足:
v ∗ = max π ∈ Π ( r π + γ P π v ∗ ) (1) v^* = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v^*) \tag{1} v∗=π∈Πmax(rπ+γPπv∗)(1)
显然, v ∗ v^* v∗ 是一个不动点,因为 v ∗ = f ( v ∗ ) v^* = f(v^*) v∗=f(v∗)(这里 f ( v ) = max π ∈ Π ( r π + γ P π v ) f(v) = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v) f(v)=maxπ∈Π(rπ+γPπv))。结合压缩映射定理,我们有以下结论。
存在性、唯一性与算法 :对于贝尔曼最优方程 v = f ( v ) = max π ∈ Π ( r π + γ P π v ) v = f(v) = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v) v=f(v)=maxπ∈Π(rπ+γPπv),始终存在唯一的解 v ∗ v^* v∗,可以通过迭代法求解:
v k + 1 = f ( v k ) = max π ∈ Π ( r π + γ P π v k ) , k = 0 , 1 , 2 , ... (2) v_{k + 1} = f(v_k) = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v_k), \quad k = 0, 1, 2, \dots \tag{2} vk+1=f(vk)=π∈Πmax(rπ+γPπvk),k=0,1,2,...(2)
对于任意初始给定的 v 0 v_0 v0,当 k → ∞ k \to \infty k→∞ 时, v k v_k vk 会以指数速度快速收敛到 v ∗ v^* v∗。
由于 f ( v ) f(v) f(v) 是压缩映射,该定理的证明可直接由压缩映射定理得到。这个定理很重要,因为它回答了一些基本问题:
- v ∗ v^* v∗ 的存在性:贝尔曼最优方程的解始终存在。
- v ∗ v^* v∗ 的唯一性 :贝尔曼最优方程的解 v ∗ v^* v∗ 始终是唯一的。
- 求解 v ∗ v^* v∗ 的算法 : v ∗ v^* v∗ 可以通过式(2)给出的迭代算法求解。这种迭代算法有一个特定的名称,叫做值迭代。
二、求解最优策略 π ∗ \pi^* π∗
一旦得到 v ∗ v^* v∗ 的值,我们可以通过求解下式轻松得到 π ∗ \pi^* π∗:
π ∗ = arg max π ∈ Π ( r π + γ P π v ∗ ) (3) \pi^* = \arg\max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v^*) \tag{3} π∗=argπ∈Πmax(rπ+γPπv∗)(3)
将式(3)代入贝尔曼最优方程可得:
v ∗ = r π ∗ + γ P π ∗ v ∗ (4) v^* = r_{\pi^*} + \gamma P_{\pi^*} v^* \tag{4} v∗=rπ∗+γPπ∗v∗(4)
因此, v ∗ = v π ∗ v^* = v_{\pi^*} v∗=vπ∗ 是 π ∗ \pi^* π∗ 的状态价值,且贝尔曼最优方程是一个特殊的贝尔曼方程,其对应的策略是 π ∗ \pi^* π∗。
此时,尽管我们可以求解 v ∗ v^* v∗ 和 π ∗ \pi^* π∗,但仍不清楚这个解是否是最优的。下面的定理揭示了解的最优性。
v ∗ v^* v∗ 和 π ∗ \pi^* π∗ 的最优性 :解 v ∗ v^* v∗ 是最优状态价值, π ∗ \pi^* π∗ 是最优策略。即,对于任意策略 π \pi π,有
v ∗ = v π ∗ ≥ v π (5) v^* = v_{\pi^*} \geq v_{\pi} \tag{5} v∗=vπ∗≥vπ(5)
其中 v π v_{\pi} vπ 是 π \pi π 的状态价值, ≥ \geq ≥ 是按元素比较。上述定理的证明如下:
对于任意策略 π \pi π,有
v π = r π + γ P π v π (6) v_{\pi} = r_{\pi} + \gamma P_{\pi} v_{\pi} \tag{6} vπ=rπ+γPπvπ(6)
因为
v ∗ = max π ( r π + γ P π v ∗ ) = r π ∗ + γ P π ∗ v ∗ ≥ r π + γ P π v ∗ (7) v^* = \max_{\pi} (r_{\pi} + \gamma P_{\pi} v^*) = r_{\pi^*} + \gamma P_{\pi^*} v^* \geq r_{\pi} + \gamma P_{\pi} v^* \tag{7} v∗=πmax(rπ+γPπv∗)=rπ∗+γPπ∗v∗≥rπ+γPπv∗(7)
所以我们有
v ∗ − v π ≥ ( r π + γ P π v ∗ ) − ( r π + γ P π v π ) = γ P π ( v ∗ − v π ) (8) v^* - v_{\pi} \geq (r_{\pi} + \gamma P_{\pi} v^*) - (r_{\pi} + \gamma P_{\pi} v_{\pi}) = \gamma P_{\pi} (v^* - v_{\pi}) \tag{8} v∗−vπ≥(rπ+γPπv∗)−(rπ+γPπvπ)=γPπ(v∗−vπ)(8)
重复应用上述不等式可得 v ∗ − v π ≥ γ P π ( v ∗ − v π ) ≥ γ 2 P π 2 ( v ∗ − v π ) ≥ ⋯ ≥ γ n P π n ( v ∗ − v π ) v^* - v_{\pi} \geq \gamma P_{\pi} (v^* - v_{\pi}) \geq \gamma^2 P_{\pi}^2 (v^* - v_{\pi}) \geq \dots \geq \gamma^n P_{\pi}^n (v^* - v_{\pi}) v∗−vπ≥γPπ(v∗−vπ)≥γ2Pπ2(v∗−vπ)≥⋯≥γnPπn(v∗−vπ)。由此可得
v ∗ − v π ≥ lim n → ∞ γ n P π n ( v ∗ − v π ) = 0 (9) v^* - v_{\pi} \geq \lim_{n \to \infty} \gamma^n P_{\pi}^n (v^* - v_{\pi}) = 0 \tag{9} v∗−vπ≥n→∞limγnPπn(v∗−vπ)=0(9)
最后一个等式成立是因为 γ < 1 \gamma < 1 γ<1,且 P π n P_{\pi}^n Pπn 是一个非负矩阵,其所有元素都小于或等于 1(因为 P π n 1 = 1 P_{\pi}^n \mathbf{1} = \mathbf{1} Pπn1=1)。因此,对于任意 π \pi π,有 v ∗ ≥ v π v^* \geq v_{\pi} v∗≥vπ。
接下来,我们更仔细地研究式(3)中的 π ∗ \pi^* π∗。具体来说,下面的定理表明,始终存在一个确定性的贪婪策略是最优的。
贪婪最优策略证明
贪婪最优策略 :假设 v ∗ v^* v∗ 是贝尔曼最优方程的最优状态值解。对于任意 s ∈ S s \in \mathcal{S} s∈S,确定性贪婪策略
π ∗ ( a ∣ s ) = { 1 , a = a ∗ ( s ) 0 , a ≠ a ∗ ( s ) (10) \pi^*(a|s) = \begin{cases} 1, & a = a^*(s) \\ 0, & a \neq a^*(s) \end{cases} \tag{10} π∗(a∣s)={1,0,a=a∗(s)a=a∗(s)(10)
是求解贝尔曼最优方程的最优策略。这里,
a ∗ ( s ) = arg max a q ∗ ( a , s ) (11) a^*(s) = \arg\max_{a} q^*(a, s) \tag{11} a∗(s)=argamaxq∗(a,s)(11)
其中
q ∗ ( s , a ) ≜ ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v ∗ ( s ′ ) (12) q^*(s, a) \triangleq \sum_{r \in \mathcal{R}} p(r|s, a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s, a)v^*(s') \tag{12} q∗(s,a)≜r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v∗(s′)(12)
证明如下:
最优策略的矩阵 - 向量形式是 π ∗ = arg max π ( r π + γ P π v ∗ ) \pi^* = \arg\max_{\pi} (r_{\pi} + \gamma P_{\pi} v^*) π∗=argmaxπ(rπ+γPπv∗),其元素展开形式为
π ∗ ( s ) = arg max π ∈ Π ∑ a ∈ A π ( a ∣ s ) ( ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v ∗ ( s ′ ) ) ⏟ q ∗ ( s , a ) , s ∈ S (13) \pi^*(s) = \arg\max_{\pi \in \Pi} \sum_{a \in \mathcal{A}} \pi(a|s) \underbrace{\left( \sum_{r \in \mathcal{R}} p(r|s, a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s, a)v^*(s') \right)}_{q^*(s, a)}, \quad s \in \mathcal{S} \tag{13} π∗(s)=argπ∈Πmaxa∈A∑π(a∣s)q∗(s,a) (r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v∗(s′)),s∈S(13)
显然,如果 π ( s ) \pi(s) π(s) 选择具有最大 q ∗ ( s , a ) q^*(s, a) q∗(s,a) 的动作,那么 ∑ a ∈ A π ( a ∣ s ) q ∗ ( s , a ) \sum_{a \in \mathcal{A}} \pi(a|s) q^*(s, a) ∑a∈Aπ(a∣s)q∗(s,a) 会被最大化。
式(10)中的策略被称为贪婪策略,因为它选择具有最大 q ∗ ( s , a ) q^*(s, a) q∗(s,a) 的动作,它指出总是存在一个确定性的贪婪策略是最优的。最后,我们讨论 π ∗ \pi^* π∗ 的两个重要性质:
- 最优策略的唯一性 :尽管 v ∗ v^* v∗ 的值是唯一的,但与 v ∗ v^* v∗ 对应的最优策略可能不唯一。
- 最优策略的随机性:最优策略可以是随机的或确定性的。然而,肯定始终存在一个确定性的最优策略。