赞
踩
马尔可夫链(具有马尔可夫性质的随机过程)+ A(动作:会导致状态转移) + R(奖励:衡量动作的好坏)
定义如下概率:
p ( s ′ , r ∣ s , a ) ≜ P ( S t + 1 = s ′ , R t + 1 = r ∣ S t = s , A t = a ) p(s^{\prime}, r | s, a) \triangleq {P}({S_{t+1}=s^{\prime}, R_{t+1}=r | S_t=s, A_t=a}) p(s′,r∣s,a)≜P(St+1=s′,Rt+1=r∣St=s,At=a)
那么状态转移概率(系统自身):
p ( s ′ ∣ s , a ) = ∑ r ∈ R p ( s , r ∣ s , a ) p(s^{\prime} |s, a)=\sum_{r \in R} p(s, r | s, a) p(s′∣s,a)=∑r∈Rp(s,r∣s,a)
策略: π \pi π
确定性策略: a ≜ π ( s ) a\triangleq \pi(s) a≜π(s)
随机性策略: π ( a ∣ s ) ≜ P ( A t = a ∣ S t = s ) \pi(a|s)\triangleq P(A_t = a | S_t = s) π(a∣s)≜P(At=a∣St=s)
用来评估在 s t s_t st 时刻的策略的好坏,我们定义在 s t s_t st 时刻的回报为:
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . , γ ∈ [ 0 , 1 ] G_t = R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+3} + ... , \gamma \in [0,1] Gt=Rt+1+γRt+2+γ2Rt+3+...,γ∈[0,1]
回报的期望就是价值函数,通俗的说就是回报的平均数(因为从 s 出发的路径会像树枝一样散开)
state-value:
v
π
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
v_\pi(s) = E[G_t∣S_t=s]
vπ(s)=E[Gt∣St=s]
action-value:
q
π
(
s
,
a
)
=
E
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
q_\pi(s,a) = E[G_t | S_t=s, A_t = a]
qπ(s,a)=E[Gt∣St=s,At=a]
state-value 和 action-value 的关系:
v
π
(
s
)
=
∑
a
π
(
a
∣
s
)
q
π
(
s
,
a
)
v_\pi(s) = \sum_a \pi(a \mid s) q_\pi(s, a)
vπ(s)=∑aπ(a∣s)qπ(s,a) (如果
π
\pi
π 是确定性策略,两个值相等) (1)
q
π
(
s
,
a
)
=
∑
r
,
s
′
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
q_\pi(s, a) = \sum_{r, s'}p(s', r | s, a)[r + \gamma v_\pi(s')]
qπ(s,a)=∑r,s′p(s′,r∣s,a)[r+γvπ(s′)]
(2)
即把(2)带入(1),把 (1)带入(2)产生的两个等式
得到 v(s) 和 v(s‘)以及 q(s,a) 和 q(s’, a’) 的关系,这就是贝尔曼方程的核心思想。
最优价值函数:
v ∗ ≜ m a x π v π ( s ) v_{*} \triangleq max_\pi v_\pi(s) v∗≜maxπvπ(s)
q ∗ ( s , a ) ≜ m a x π q π ( s , a ) q_{*}(s,a) \triangleq max_\pi q_\pi(s,a) q∗(s,a)≜maxπqπ(s,a)
最优策略:
π
∗
≜
a
r
g
m
a
x
π
v
π
(
s
)
\pi_* \triangleq argmax_\pi v_\pi(s)
π∗≜argmaxπvπ(s) =
a
r
g
m
a
x
π
q
π
(
s
,
a
)
argmax_{\pi}q_\pi(s,a)
argmaxπqπ(s,a)
由(1)(2)知:
v
∗
=
m
a
x
π
q
π
(
s
,
a
)
v_* = max_\pi q_\pi(s,a)
v∗=maxπqπ(s,a)
(3)
q
∗
=
∑
r
,
s
′
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
∗
(
s
′
)
]
q_* = \sum_{r, s'}p(s', r | s, a)[r + \gamma v_*(s')]
q∗=∑r,s′p(s′,r∣s,a)[r+γv∗(s′)]
(这里不能把求和替换成 max 的原因是,我们只能让 v* 最优,因为 p 由系统决定,我们无法决定)(4)即把(3)带入(4),把 (4)带入(3)产生的两个等式
和贝尔曼方程一样,得到 v*(s) 和 v*(s‘)以及 q*(s,a) 和 q*(s’, a’) 的关系,这就是贝尔曼最优方程的核心思想。
在 MDP 已知的情况下
知道 pi,我们需要评估出对应的 v 和 q 值。
根据 v 和 q ,我们构造出 pi’ 优于 pi。
PE 只进行一步的策略迭代。
PE 和 PI 不是先后顺序,比如 V 里面的一个值更新了一步,没有等到其他 v 更新,就直接进行 PI 了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。