最优策略和公式推导

首先定义一个策略比另一个策略好:

v π 1 ( s ) ≥ v π 2 ( s ) f o r a l l s ∈ S v_{\pi_{1}}(s) \ge v_{\pi_{2}}(s) \quad for \quad all \quad s \in S vπ1(s)vπ2(s)forallsS

如何有上面式子成立,那么就说 π 1 优于 π 2 \pi_1优于\pi_2 π1优于π2

基于上面的定义,于是就可以定义最优

对于所有的状态s,和所有的策略 π \pi π都有下面的式子成立
v π ∗ ( s ) ≥ v π ( s ) v_{\pi_*}(s) \ge v_{\pi}(s) vπ(s)vπ(s)

那么 π ∗ \pi_* π就是最优的(optimal)

贝尔曼最优公式:

v ( s ) = max ⁡ π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) + γ ∑ s ′ p ( s ′ ∣ s , a ) v ( s ′ ) ) , ∀ s ∈ S = max ⁡ π ∑ a π ( a ∣ s ) q ( s , a ) , ∀ s ∈ S \begin{align*} v(s)&=\max_{\pi}\sum_{a}\pi(a \mid s)\left( \sum_rp(r \mid s, a) + \gamma \sum_{s^{'}} p(s^{'} \mid s, a)v(s^{'}) \right), \forall s \in S \\ &= \max_{\pi} \sum_a \pi(a \mid s) q(s, a), \forall s \in S \\ \end{align*} v(s)=πmaxaπ(as) rp(rs,a)+γsp(ss,a)v(s) ,sS=πmaxaπ(as)q(s,a),sS

对于贝尔曼最优公式实际上是一个最优化问题

我们已知的有 p ( r ∣ s , a ) , p ( s ′ ∣ s , a ) p(r \mid s, a), p(s^{'} \mid s, a) p(rs,a),p(ss,a)
v ( s ) , v ( s ′ ) v(s),v(s^{'}) v(s),v(s)是未知的并且需要求解的
对于贝尔曼公式 π \pi π是已知到,对于贝尔曼最优公式 π \pi π是未知的需要求解的。

贝尔曼最优公式的矩阵形式

v = max ⁡ π ( r π + γ P π v ) v= \max_{\pi} (r_{\pi} + \gamma P_{\pi} v) v=πmax(rπ+γPπv)

  • 贝尔曼最优公式(BOE)非常elegant,它的形式非常简介,可以刻画最优的策略和最优的state value

右侧最优化问题

如何求解贝尔曼最优公式?

考虑下面的问题:

t w o   v a r i b l e   x , a ∈ R . two \: varible \: x, a \in \mathbb{R}. twovariblex,aR.

x = max ⁡ a ( 2 x − 1 − a 2 ) . x=\max_a(2x-1-a^2). x=amax(2x1a2).

上面的式子中也是含有两个未知量

先看右边的部分当 a = 0 a=0 a=0时达到最大值 2 x − 1 2x-1 2x1

然后将 a = 0 a=0 a=0带入等式右边得到 x = 2 x − 1 x=2x-1 x=2x1于是就求解出了 x = 1 x=1 x=1

于是 a = 0 , x = 1 a=0,x=1 a=0,x=1就是这个公式的解.

下面解决贝尔曼最优方程

v ( s ) = max ⁡ π ∑ a π ( a ∣ s ) q ( s , a ) v(s)=\max_{\pi}\sum_a\pi(a \mid s) q(s,a) v(s)=πmaxaπ(as)q(s,a)

考虑我们有3个 q q q也就是 q 1 、 q 2 、 q 3 ∈ R q_1、q_2、q_3 \in \mathbb{R} q1q2q3R c 1 ∗ 、 c 2 ∗ 、 c 3 ∗ c_1^*、c_2^*、c_3^* c1c2c3使得 c 1 q 1 + c 2 q 2 + c 3 q 3 c_1q_1+c_2q_2+c_3q_3 c1q1+c2q2+c3q3最大

也就是

max ⁡ c 1 、 c 2 、 c 3 c 1 q 1 + c 2 q 2 + c 3 q 3 , w h e r e   c 1 + c + c 3 = 1 , a n d   c 1 、 c 2 、 c 3 ≥ 0 \max_{c_1、c_2、c_3}c_1q_1+c_2q_2+c_3q_3, where \: c_1+c_+c_3=1 ,and \: c_1、c_2、c_3 \ge 0 c1c2c3maxc1q1+c2q2+c3q3,wherec1+c+c3=1,andc1c2c30

为了不失一般性这里假设一个最大值,假设 q 3 ≥ q 1 , q 2 q_3 \ge q_1,q_2 q3q1,q2,于是最优解就是 c 1 ∗ = 0 、 c 2 ∗ = 0 、 c 3 ∗ = 1 c_1^*=0、c_2^*=0、c_3^*=1 c1=0c2=0c3=1

通过上面的例子就可以知道如果 q q q值确定,如何求解上面的 π \pi π

在这里插入图片描述

公式求解以及最优性

贝尔曼最优公式的矩阵形式

v = max ⁡ π ( r π + γ P π v ) v=\max_{\pi}(r_{\pi}+\gamma P_{\pi}v) v=πmax(rπ+γPπv)

我们把贝尔曼最优公式写成一个函数形式

f ( v ) : = max ⁡ π ( r π + γ P π v ) f(v) := \max_{\pi}(r_{\pi} + \gamma P_{\pi} v) f(v):=πmax(rπ+γPπv)

于是最优公式就化成了

v = f ( v ) v=f(v) v=f(v)

[ f ( v ) ] s = m a x π ∑ a π ( a ∣ s ) q ( s , a ) , s ∈ S \left[ f(v) \right]_s = max_{\pi}\sum_a\pi(a \mid s)q(s,a), s \in S [f(v)]s=maxπaπ(as)q(s,a),sS

这里的 f ( v ) f(v) f(v)实际上是一个向量,因为每个状态对应一个 s t a t e   v a l u e state \: value statevalue,而每一个 s t a t e   v a l u e   state \: value \: statevalue都对应一个 f ( v ) f(v) f(v)

于是问题就转化成了求解 v = f ( v ) v=f(v) v=f(v)这个方程,求解这个方程就需要下面的知识了。

Contraction mapping theorem(压缩映射定理)

关于这个定义的详细介绍在这 | 中文数学 Wiki | Fandom

在说压缩映射定理之前需要引入一些概念

Fixed point(不动点):

x ∈ X   i s   a   f i x e d   p o i n t   o f   f :   X → X   i f x \in X \: is \: a \: fixed \: point \: of \: f : \: X \rightarrow X \: if xXisafixedpointoff:XXif

f ( x ) = x f(x) = x f(x)=x

然后 x x x就被称为一个不动点。

Contraction mapping or Contractive function: f   i s   a   c o n t r a c t i o n   m a p p i n g   i f f \: is \: a \: contraction \: mapping \: if fisacontractionmappingif:

∣ ∣ f ( x 1 ) − f ( x 2 ) ∣ ∣ ≤ γ ∣ ∣ x 1 − x 2 ∣ ∣ ,   w h e r e   γ ∈ ( 0 , 1 ) \mid \mid f(x_1) - f(x_2) \mid \mid \le \gamma \mid \mid x_1 - x_2\mid \mid, \:where \: \gamma \in (0, 1) ∣∣f(x1)f(x2)∣∣≤γ∣∣x1x2∣∣,whereγ(0,1)

在这里插入图片描述

Theorem(Contraction Mapping Thorem):

对于任何形如 x = f ( x ) x=f(x) x=f(x)的等式,如果 f f f是一个contraction mapping,那么有:

存在性:存在一个不动点 x ∗ x^* x满足 f ( x ∗ ) = x ∗ f(x^*) = x^* f(x)=x

唯一性:不动点 ( f i x e d p o i n t ) (fixed point) fixedpoint是唯一的。

求解不动点的算法:这是一个迭代式的算法,不断令 x k + 1 = f ( x k ) x_{k+1}=f(x_k) xk+1=f(xk),当 k → ∞   k \rightarrow \infty \: k x k → x ∗   x_k \rightarrow x^* \: xkx,同时收敛的速度会非常快(以指数的速度收敛)

解决贝尔曼最优公式

有了上面的压缩映射定理就可以解决贝尔曼最优公式了

v = f ( v ) = max ⁡ π ( r π + γ P v ) v=f(v)=\max_{\pi}(r_{\pi + \gamma Pv}) v=f(v)=πmax(rπ+γPv)

为了应用压缩映射定理,首先需要证明下式中 γ ∈ ( 0 , 1 ) \gamma \in (0,1) γ(0,1)

∣ ∣ f ( v 1 ) − f ( v 2 ) ∣ ∣ ≤ γ ∣ ∣ v 1 − v 2 ∣ ∣ \mid \mid f(v_1) - f(v_2) \mid \mid \le \gamma \mid \mid v_1 - v_2 \mid \mid ∣∣f(v1)f(v2)∣∣≤γ∣∣v1v2∣∣

这个是可以得到证明的。

知道了 f f f是一个 c o n t r a c t i o n   m a p p i n g contraction \: mapping contractionmapping,那么贝尔曼最优公式就可以利用上面的 c o n t r a c t i o n   m a p p i n g   t h o r e m contraction \: mapping \: thorem contractionmappingthorem解决了。

在这里插入图片描述

分析最优策略(analyzing optimal policies)

v ( s ) = max ⁡ π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v ( s ′ ) ) v(s) = \max_{\pi} \sum_a \pi(a \mid s) \left( \sum_r \color{red}p(r \mid s, a) r \color{black} + \color{red} \gamma \color{black} \sum_{s{'}} \color{red} p(s^{'} \mid s, a) \color{black} v(s^{'}) \color{black}\right) v(s)=πmaxaπ(as)(rp(rs,a)r+γsp(ss,a)v(s))

求解贝尔曼最优公式就是已知红色量求出上面公式中黑色的量

公式中的三个量决定了optimal policy

  • Reward design: r r r
  • System model: p ( s ′ ∣ s , a )   ,   p ( r ∣ s , a ) p(s^{'} \mid s, a) \:, \: p(r \mid s, a) p(ss,a),p(rs,a)
  • Discount rate: γ \gamma γ
  • v ( s ) , v ( s ′ ) , π ( a ∣ s ) v(s), v(s^{'}),\pi(a \mid s) v(s),v(s),π(as)都是未知量待计算
  1.   γ   \: \gamma \: γ比较大的时候,会比较远视,当   γ   \: \gamma \: γ比较小的时候则会比较短时,获得的   r e t u r n   \: return \: return主要由短期的   r e w a r d   \: reward \: reward决定。当   γ   \: \gamma \: γ变为   0   \: 0 \: 0时策略又会发生变化,策略会变得非常短视,更具体地说策略只会关注 i m m e d i a t e   r e w a r d immediate \: reward immediatereward,这样导致的结果可能是采用的策略根本到达不了 t a r g e t target target

  2. 改变 r e w a r d reward reward也会导致策略改变。

下面观察如果对   r e w a r d   \: reward \: reward进行线性变换会发生什么? r → a r + b r \rightarrow ar + b rar+b

  • 实际上进行线性变换是不会改变最优策略的。
  • 这个问题实际上并不关注 r e w a r d reward reward的绝对性,更加关注 r e w a r d reward reward的相对性。
    在这里插入图片描述

关于无意义的绕路:因为有   d i s c o u n t   r a t e   \: discount \: rate \: discountrate的存在,会导致后面得到的   r e w a r d   \: reward \: reward打折扣
在这里插入图片描述

Summary

在这里插入图片描述

更多推荐