1. 什么是值迭代
根据贝尔曼最优方程,直接使用行为回报的最大值更新原来的策略函数值,这种规划方法称为基于值迭代的方法。
2. 策略迭代与值迭代的不同
根本的不同在于所使用的贝尔曼方程。
2.1 策略迭代流程与公式
策略迭代流程使以下3步反复进行的过程。
第1步:根据策略
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)(初始值一般为随机均匀分布)利用贝尔曼期望方程迭代形式更新值函数
V
π
(
s
)
V_\pi(s)
Vπ(s)
V
π
(
s
)
←
∑
a
∈
A
π
(
a
∣
s
)
(
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
π
(
s
′
)
)
V_\pi(s)\leftarrow\sum_{a\in A}\pi(a|s)\left( R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV_\pi(s') \right)
Vπ(s)←a∈A∑π(a∣s)(Rsa+γs′∈S∑Pss′aVπ(s′))
上述式子可以迭代1次,也可以迭代多次直至
V
π
(
s
)
V_\pi(s)
Vπ(s)收敛到某个值
第2步:根据更新后的值函数
V
π
(
s
)
V_\pi(s)
Vπ(s),利用贝尔曼期望方程求行为值函数
Q
π
(
s
,
a
)
Q_\pi(s,a)
Qπ(s,a)
Q
π
(
s
,
a
)
←
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
π
(
s
′
)
Q_\pi(s,a)\leftarrow R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV_\pi(s')
Qπ(s,a)←Rsa+γs′∈S∑Pss′aVπ(s′)
第3步:根据
Q
π
(
s
,
a
)
Q_\pi(s,a)
Qπ(s,a)优化策略
π
(
a
∣
s
)
←
{
1
a
=
arg
max
a
∈
A
Q
(
s
,
a
)
0
其他
\pi(a|s)\leftarrow\begin{cases} 1 \quad a=\arg\max_{a\in A}Q(s,a)\\ 0 \quad 其他 \end{cases}
π(a∣s)←{1a=argmaxa∈AQ(s,a)0其他
2.2 值迭代流程及公式
根据贝尔曼最优方程
V
∗
(
s
)
=
max
a
∈
A
[
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
∗
(
s
′
)
]
V^*(s)=\max_{a\in A}\left[ R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV^*(s') \right]
V∗(s)=maxa∈A[Rsa+γ∑s′∈SPss′aV∗(s′)]导出值迭代公式
V
(
s
)
←
max
a
∈
A
[
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
(
s
′
)
]
V(s)\leftarrow \max_{a\in A}\left[ R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV(s') \right]
V(s)←a∈Amax[Rsa+γs′∈S∑Pss′aV(s′)]
利用迭代公式迭代直至
V
(
s
)
V(s)
V(s)收敛到达或接近最优值函数
V
(
s
)
V(s)
V(s),此时此刻,对应的策略也是最优的,
因此后续根据收敛后的V(s),根据贝尔曼最优方程计算出最优策略:
π
∗
(
a
∣
s
)
=
arg
max
a
∈
A
[
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
(
s
)
]
\pi^*(a|s)=\arg\max_{a\in A}\left[ R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV(s) \right]
π∗(a∣s)=arga∈Amax[Rsa+γs′∈S∑Pss′aV(s)]