MDP(离散型)概念理解(二)
参考链接:https://blog.csdn.net/weixin_46185085/article/details/107598554
一、说明基础概念
假设一个节点得状态空间为
S
=
{
0
,
1
,
2
,
3
,
.
.
.
,
13
}
S=\{0,1,2,3,...,13\}
S={0,1,2,3,...,13},动作空间为
A
=
{
−
2
,
−
1
,
0
,
1
,
2
}
A=\{-2,-1,0,1,2\}
A={−2,−1,0,1,2},其中初始得一个策略为
π
(
a
∣
s
)
=
{
0.8
,
s
<
=
5
,
−
I
m
a
x
≤
a
<
0
0.2
s
<
=
5
,
a
=
0
0.8
5
<
s
<
Z
v
−
5
,
a
=
0
0.1
5
<
s
<
Z
v
−
5
,
a
<
0
0.1
5
<
s
<
Z
v
−
5
,
a
>
0
0.8
Z
v
−
5
≤
s
<
Z
v
,
0
<
a
≤
I
m
a
x
0.2
Z
v
−
5
≤
s
<
Z
v
,
a
=
0
\pi(a|s)=\begin{cases}0.8,&s<=5 ,-I_{max}\leq a <0\\ 0.2 & s<=5, a=0\\ 0.8 &5<s<Z_v-5,a=0 \\ 0.1 & 5<s<Z_v-5,a<0\\ 0.1 &5<s<Z_v-5,a>0 \\ 0.8 & Z_v-5\leq s<Z_v,0<a\leq I_{max}\\ 0.2 & Z_v-5 \leq s <Z_v,a=0\end{cases}
π(a∣s)=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧0.8,0.20.80.10.10.80.2s<=5,−Imax≤a<0s<=5,a=05<s<Zv−5,a=05<s<Zv−5,a<05<s<Zv−5,a>0Zv−5≤s<Zv,0<a≤ImaxZv−5≤s<Zv,a=0
注意到,这里得假设
Z
v
=
13
,
I
m
a
x
=
2
Z_v=13,I_{max}=2
Zv=13,Imax=2 ,具体的用示意图1表示为:
1.1 状态转移概率
- 公式: P s s ′ a = E ( S t + 1 ∣ S t = s , A t = a ) P^a_{ss'}=E(S_{t+1}|S_t=s,A_t=a) Pss′a=E(St+1∣St=s,At=a),在当前状态s,动作a下的转移到状态s’的概率期望
- 举例:
P
4
,
8
0
=
P
(
S
t
+
1
=
8
∣
S
t
=
5
,
a
t
=
0
)
=
0.05
P^0_{4,8}=P(S_{t+1}=8|S_t=5,a_t=0)=0.05
P4,80=P(St+1=8∣St=5,at=0)=0.05,在当前状态为4,动作为0,转移到状态为8的概率
P 4 , 8 = 0. 2 ( a = 0 ) × 0.05 + 0. 4 ( a = − 1 ) × 0.1 + 0. 4 ( a = − 2 ) × 0.1 + 0 ( a = 1 ) + 0 ( a = 2 ) = 0.09 P_{4,8}=0.2_{(a=0)}\times 0.05 +0.4_{(a=-1)}\times 0.1 +0.4_{(a=-2)}\times0.1 +0_{(a=1)}+0_{(a=2)}=0.09 P4,8=0.2(a=0)×0.05+0.4(a=−1)×0.1+0.4(a=−2)×0.1+0(a=1)+0(a=2)=0.09。在当前状态为4,不知道动作,转移到状态为8,的概率期望
1.2 报酬
-
即时报酬: R s s ′ a R^a_{ss'} Rss′a:在当前状态s下,执行动作a后,转移到状态s’后,得到的报酬。假设我们报酬为完成的自行车行程数量。在单个节点中,我们利用“出量+进量之和”作为该动作的报酬。如上: R 48 0 = 6 ( 走 了 1 辆 车 , 来 了 5 辆 车 ) R^0_{48}=6(走了1辆车,来了5辆车) R480=6(走了1辆车,来了5辆车)
-
动作报酬期望: R s a = ∑ s ′ ∈ S P s s ′ a R s s ′ a R^a_s=\sum_{s'\in S}P^a_{ss'}R^a_{ss'} Rsa=∑s′∈SPss′aRss′a.举例则 R s = 4 a = 0 = 0.0 5 s ′ = 1 ∗ 3 + 0. 1 s ′ = 2 ∗ 2 + 0. 2 s ′ = 3 ∗ 3 + 0. 1 s ′ = 5 ∗ 3 + 0. 1 s ′ = 6 ∗ 4 + 0.0 5 s ′ = 7 ∗ 3 + 0.0 5 s ′ = 8 ∗ 6 + 0.0 5 s ′ = 9 ∗ 5 = 0.15 + 0.2 + 0.6 + 0.3 + 0.4 + 0.15 + 0.3 + 0.45 = 2.55 \begin{aligned}&R_{s=4}^{a=0}\\&=0.05_{s'=1}*3+0.1_{s'=2}*2+0.2_{s'=3}*3+0.1_{s'=5}*3+0.1_{s'=6}*4+0.05_{s'=7}*3+0.05_{s'=8}*6+0.05_{s'=9}*5\\&=0.15+0.2+0.6+0.3+0.4+0.15+0.3+0.45\\&=2.55\end{aligned} Rs=4a=0=0.05s′=1∗3+0.1s′=2∗2+0.2s′=3∗3+0.1s′=5∗3+0.1s′=6∗4+0.05s′=7∗3+0.05s′=8∗6+0.05s′=9∗5=0.15+0.2+0.6+0.3+0.4+0.15+0.3+0.45=2.55
R s = 4 a = 1 = 0.05 ∗ 1 + 0.1 ∗ 4 + 0.1 ∗ 3 + 0.1 ∗ 4 + 0.1 ∗ 5 + 0.1 ∗ 6 + 0.1 ∗ 7 + 0.1 ∗ 8 + 0.05 ∗ 9 = 4.2 \begin{aligned} &R^{a=1}_{s=4}\\&=0.05*1+0.1*4+0.1*3+0.1*4+0.1*5+0.1*6+0.1*7+0.1*8+0.05*9=4.2\end{aligned} Rs=4a=1=0.05∗1+0.1∗4+0.1∗3+0.1∗4+0.1∗5+0.1∗6+0.1∗7+0.1∗8+0.05∗9=4.2
R s = 4 a = 2 = R s = 4 a = − 1 = R s = 4 a = − 2 = 4.2 R^{a=2}_{s=4}=R^{a=-1}_{s=4}=R^{a=-2}_{s=4}=4.2 Rs=4a=2=Rs=4a=−1=Rs=4a=−2=4.2
-
策略报酬期望: R s π = ∑ a ∈ A π ( a ∣ s ) R s a R_s^{\pi}=\sum_{a\in A}\pi(a|s)R_s^a Rsπ=∑a∈Aπ(a∣s)Rsa
R s = 4 π = π ( a = − 1 ∣ 4 ) ∗ R 4 − 1 + π ( a = − 2 ∣ 4 ) R 4 − 2 + π ( 0 ∣ 4 ) ∗ R 4 0 + π ( 1 ∣ 4 ) ∗ R 4 1 + π ( 2 ∣ 4 ) R 4 2 = 0. 4 ( a = − 1 ) ∗ 4.2 + 0. 4 ( a = − 2 ) ∗ 4.2 + 0. 2 ( a = 0 ) ∗ 2.55 + 0 + 0 = 3.87 \begin{aligned}R^{\pi}_{s=4}&=\pi(a=-1|4)*R^{-1}_4+\pi(a=-2|4)R^{-2}_4+\pi(0|4)*R^0_4+\pi(1|4)*R^1_4+\pi(2|4)R^2_4\\&=0.4_{(a=-1)}*4.2+0.4_{(a=-2)}*4.2+0.2_{(a=0)}*2.55+0+0=3.87\end{aligned} Rs=4π=π(a=−1∣4)∗R4−1+π(a=−2∣4)R4−2+π(0∣4)∗R40+π(1∣4)∗R41+π(2∣4)R42=0.4(a=−1)∗4.2+0.4(a=−2)∗4.2+0.2(a=0)∗2.55+0+0=3.87
1.3 两个价值函数
1.3.1 状态价值函数(或累积回报函数)
是对当前状态的s=4的价值判断。
公式为: V π ( s ) = ∑ a ∈ A π ( a ∣ s ) { R s s ′ a + γ ∑ s ′ ∈ S V π ( s ′ ) } (1) V^{\pi}(s)=\sum_{a\in A}\pi(a|s)\{R^a_{ss'}+\gamma\sum_{s'\in S} V^{\pi}(s')\} \tag{1} Vπ(s)=a∈A∑π(a∣s){Rss′a+γs′∈S∑Vπ(s′)}(1)
举例为:
V π ( s = 4 ) = s u m a ∈ { − 2 , − 1 , 0 , 1 , 2 } π ( a ∣ s ) V^{\pi}(s=4)=sum_{a\in \{-2,-1,0,1,2\}}\pi(a|s) Vπ(s=4)=suma∈{−2,−1,0,1,2}π(a∣s) { R 4 a + γ ∑ s ′ ∈ { 0 , . . . , 13 } P 4 s ′ a V π ( s ′ ) } \{R^a_4+\gamma \sum_{s'\in \{0,...,13 \}}P^a_{4s'}V^{\pi}(s') \} {R4a+γ∑s′∈{0,...,13}P4s′aVπ(s′)}
= 0.2 ∗ =0.2* =0.2∗ ( R 4 0 + γ × (R^0_4+\gamma \times (R40+γ× [ 0.05 × V π ( 1 ) + 0.1 × V π ( 2 ) + 0.3 × V π ( 30 ) 0.1 × V π ( 5 ) + 0.1 × V π ( 6 ) + 0.05 × ( V π ( 7 ) ) + V π ( 8 ) + V π ( 9 ) ] [0.05\times V^{\pi}(1)+0.1\times V^{\pi}(2)+0.3\times V^{\pi}(30)0.1\times V^{\pi}(5)+0.1\times V^{\pi}(6)+0.05\times (V^{\pi}(7))+V^{\pi}(8)+V^{\pi}(9)] [0.05×Vπ(1)+0.1×Vπ(2)+0.3×Vπ(30)0.1×Vπ(5)+0.1×Vπ(6)+0.05×(Vπ(7))+Vπ(8)+Vπ(9)])
+ 0.4 ∗ +0.4* +0.4∗ ( R 4 − 2 + γ × (R^{-2}_4+\gamma \times (R4−2+γ×
[
0.05
×
V
π
(
3
)
+
0.1
×
(
V
π
(
4
)
+
V
π
(
5
)
+
V
π
(
6
)
+
V
π
(
7
)
+
V
π
(
8
)
+
V
π
(
9
)
+
V
π
(
10
)
+
V
π
(
11
)
+
V
π
(
12
)
)
+
0.05
×
V
π
(
13
)
]
[0.05\times V^{\pi}(3)+0.1\times (V^{\pi}(4)+V^{\pi}(5)+V^{\pi}(6)+V^{\pi}(7)+V^{\pi}(8)+V^{\pi}(9)+V^{\pi}(10)+V^{\pi}(11)+V^{\pi}(12))+0.05\times V^{\pi}(13) ]
[0.05×Vπ(3)+0.1×(Vπ(4)+Vπ(5)+Vπ(6)+Vπ(7)+Vπ(8)+Vπ(9)+Vπ(10)+Vπ(11)+Vπ(12))+0.05×Vπ(13)]
+
0.4
∗
+0.4*
+0.4∗
(
R
4
−
1
+
γ
×
(R^{-1}_4+\gamma \times
(R4−1+γ×
[
0.05
×
V
π
(
3
)
+
0.1
×
(
V
π
(
4
)
+
V
π
(
5
)
+
V
π
(
6
)
+
V
π
(
7
)
+
V
π
(
8
)
+
V
π
(
9
)
+
V
π
(
10
)
+
V
π
(
11
)
+
V
π
(
12
)
)
+
0.05
×
V
π
(
13
)
]
[0.05\times V^{\pi}(3)+0.1\times (V^{\pi}(4)+V^{\pi}(5)+V^{\pi}(6)+V^{\pi}(7)+V^{\pi}(8)+V^{\pi}(9)+V^{\pi}(10)+V^{\pi}(11)+V^{\pi}(12))+0.05\times V^{\pi}(13) ]
[0.05×Vπ(3)+0.1×(Vπ(4)+Vπ(5)+Vπ(6)+Vπ(7)+Vπ(8)+Vπ(9)+Vπ(10)+Vπ(11)+Vπ(12))+0.05×Vπ(13)]
1.3.2 Q函数(状态动作函数)
对当前状态-动作的价值判断
公式为:
Q
π
(
s
,
a
)
=
R
S
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
∑
a
′
∈
S
π
(
a
∣
s
)
Q
π
(
s
′
,
a
′
)
(2)
Q^{\pi}(s,a)=R^a_S+\gamma\sum_{s'\in S}P^a_{ss'}\sum_{a'\in S}\pi(a|s)Q^{\pi}(s',a')\tag{2}
Qπ(s,a)=RSa+γs′∈S∑Pss′aa′∈S∑π(a∣s)Qπ(s′,a′)(2)
举例略()
1.3.3 Q函数与值函数的关系
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V^{\pi}(s)=\sum_{a\in A}\pi(a|s)Q^{\pi}(s,a) Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)
Q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a V π ( s ′ ) Q^{\pi}(s,a)=R^a_s+\gamma \sum_{s'\in S}P^a_{ss'}V^{\pi}(s') Qπ(s,a)=Rsa+γs′∈S∑Pss′aVπ(s′)
1.4最优价值函数
-
最优状态价值函数:是所有策略下产生的众多状态价值函数中的最大者,即: V ∗ ( s ) = max π V π ( s ) V^*(s)=\max_{\pi}V^{\pi}(s) V∗(s)=maxπVπ(s)
-
最优董总价值函数:是所有策略下产生的众多动作状态价值函数中的最大者,即: Q ∗ ( s , a ) = max π Q π ( s , a ) Q^*(s,a)=\max_{\pi} Q^{\pi}(s,a) Q∗(s,a)=maxπQπ(s,a)
-
最优策略,基于动作价值函数可以定义胃:
π ∗ ( a ∣ s ) = { 1 , i f a = arg m a x a ∈ A Q ∗ ( s , a ) 0 , e l s e \pi^*(a|s)=\begin{cases}1,& if \quad a=\arg max_{a\in A}Q^*(s,a)\\0,&else\end{cases} π∗(a∣s)={1,0,ifa=argmaxa∈AQ∗(s,a)else
-
只要我们找到了最大的状态价值函数或者动作价值函数,那么对应的策略 π ∗ \pi^* π∗就是我们强化学习问题的解。
1.5 Bellman最优方程
可以根据最优价值函数的定义,可以推到其bellman方程形式
-
最优状态价值函数 : V ∗ ( s ) = max π V π ( s ) V^*(s)=\max_{\pi} V^{\pi}(s) V∗(s)=maxπVπ(s)
V ∗ ( s ) = max π V π ( s ) 对 不 同 策 略 取 的 V 值 取 最 大 = max π ( ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) ) 代 入 V 值 与 Q 值 得 关 系 = max π max a ∈ A Q π ( s , a ) 上 一 行 是 动 作 状 态 得 期 望 , 此 行 是 动 作 状 态 得 最 值 = max a ∈ A Q ∗ ( s , a ) 调 换 两 个 m a x , 逆 用 最 优 状 态 动 作 值 函 数 \begin{aligned}V^*(s) &=\max_{\pi} V^{\pi}(s) \quad &对不同策略取的V值取最大\\&=\max_{\pi}(\sum_{a\in A}\pi(a|s)Q^{\pi}(s,a)) &代入V值与Q值得关系\\&=\max_{\pi} \max_{a\in A}Q^{\pi}(s,a) &上一行是动作状态得期望,此行是动作状态得最值\\&=\max_{a\in A}Q^*(s,a) &调换两个max,逆用最优状态动作值函数 \end{aligned} V∗(s)=πmaxVπ(s)=πmax(a∈A∑π(a∣s)Qπ(s,a))=πmaxa∈AmaxQπ(s,a)=a∈AmaxQ∗(s,a)对不同策略取的V值取最大代入V值与Q值得关系上一行是动作状态得期望,此行是动作状态得最值调换两个max,逆用最优状态动作值函数
1.1 π ( a ∣ s ) ∈ [ 0 , 1 ] , 且 ∑ a ∈ A π ( a ∣ s ) = 1 \pi(a|s)\in [0,1],且\sum_{a\in A}\pi (a|s)=1 π(a∣s)∈[0,1],且∑a∈Aπ(a∣s)=1
1.2 ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) \sum_{a\in A}\pi(a|s)Q^{\pi}(s,a) ∑a∈Aπ(a∣s)Qπ(s,a)得最大值:
- 假设在状态s下执行动作 a ∗ a^* a∗时, Q π ( s , a ∗ ) Q_{\pi}(s,a^*) Qπ(s,a∗)得值最大, Q π ( s , a ∗ ) ≥ Q π ( s , a ) , a ∈ A Q_{\pi}(s,a^*)\geq Q_{\pi}(s,a) ,a\in A Qπ(s,a∗)≥Qπ(s,a),a∈A
-
最优行为价值函数: Q ∗ ( s , a ) = max π Q π ( s , a ) Q^*(s,a)=\max_{\pi} Q^{\pi}(s,a) Q∗(s,a)=maxπQπ(s,a)
Q ∗ ( s , a ) = max π Q π ( s , a ) 对 不 同 策 略 固 定 得 a 取 Q 最 值 = max π ( R s s ′ a + γ ∑ s ′ ∈ S P s s ′ a V π ( s ′ ) ) 带 入 Q 值 与 V 值 得 关 系 = R s a + γ ∑ s ′ ∈ S P s s ′ a V ∗ ( s ′ ) m a x 进 去 后 , 逆 用 最 优 状 态 值 函 数 \begin{aligned} Q^*(s,a)&=\max_{\pi} Q^{\pi}(s,a) \quad & 对不同策略固定得a取Q最值\\&=\max_{\pi}(R^a_{ss'}+\gamma \sum_{s'\in S}P^a_{ss'}V^{\pi}(s')) &带入Q值与V值得关系\\&=R^a_s+\gamma \sum_{s'\in S}P^a_{ss'}V^*(s') &max进去后,逆用最优状态值函数 \end{aligned} Q∗(s,a)=πmaxQπ(s,a)=πmax(Rss′a+γs′∈S∑Pss′aVπ(s′))=Rsa+γs′∈S∑Pss′aV∗(s′)对不同策略固定得a取Q最值带入Q值与V值得关系max进去后,逆用最优状态值函数
3. Q ∗ ( s , a ) 和 V ∗ ( s ) Q^*(s,a)和V^*(s) Q∗(s,a)和V∗(s)的递推表达式为:
V
∗
(
s
)
=
max
a
∈
A
(
R
S
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
∗
(
s
′
)
)
V^*(s)=\max_{a\in A}(R^a_S+\gamma \sum_{s'\in S}P^a_{ss'}V*(s'))
V∗(s)=a∈Amax(RSa+γs′∈S∑Pss′aV∗(s′))
Q
∗
(
s
,
a
)
=
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
max
a
∈
A
Q
∗
(
s
′
,
a
′
)
Q^*(s,a)=R^a_s+\gamma \sum_{s'\in S}P^a_{ss'}\max_{a\in A}Q^*(s',a')
Q∗(s,a)=Rsa+γs′∈S∑Pss′aa∈AmaxQ∗(s′,a′)
二、 常用案例迭代
这里时一个常用的MDP的案例。figq为原始案例图以及初值表示;fig2表示计算后的结果
注意:这里认为当下的策略是最优策略,没有对策略进行取最大值的步骤。此外,为方便计算折扣因子
γ
=
1
\gamma=1
γ=1
我们根据最优Q*的迭代说明一下
Q
∗
(
s
,
a
)
=
max
π
Q
π
(
s
,
a
)
Q^*(s,a)=\max_{\pi}Q^{\pi}(s,a)
Q∗(s,a)=maxπQπ(s,a),
V
∗
(
s
)
=
max
π
V
π
(
s
)
\quad V^*(s)=\max_{\pi}V^{\pi}(s)
V∗(s)=maxπVπ(s)
2.1 迭代公式
- Q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a max a ∈ A Q ∗ ( s ′ , a ′ ) Q^*(s,a)=R^a_s+\gamma \sum_{s'\in S}P^a_{ss'}\max_{a\in A}Q^*(s',a') Q∗(s,a)=Rsa+γ∑s′∈SPss′amaxa∈AQ∗(s′,a′),
- V ∗ ( s ) = max a ∈ A ( R S a + γ ∑ s ′ ∈ S P s s ′ a V ∗ ( s ′ ) ) V^*(s)=\max_{a\in A}(R^a_S+\gamma \sum_{s'\in S}P^a_{ss'}V*(s')) V∗(s)=maxa∈A(RSa+γ∑s′∈SPss′aV∗(s′))
- ∑ s ′ \sum_{s'} ∑s′ ,s‘是对当前状态s和动作a后产生的下一状态,任意状态都有 P s s ′ a P^a_{ss'} Pss′a的概率发生,所以要求和
- R s a R^a_{s} Rsa是当下的动作的即时报酬
- γ \gamma γ是下一状态动作的折扣因子
- max a ′ Q ∗ ( s ′ , a ′ ) \max_{a'}Q^*(s',a') maxa′Q∗(s′,a′):对未来状态s’,进行采取动作a’的最大动作-状态的报酬(值函数)
2.2 Q ∗ ( s , a ) Q^*(s,a) Q∗(s,a)迭代过程:
- 方块是终点,所以迭代的初始值函数为0
- Q ∗ ( S 4 , s t u d y ) = 10 , Q ∗ ( S 3 , s l e e p ) = 0 Q^*(S_4,study)=10,\quad Q^*(S_3,sleep)=0 Q∗(S4,study)=10,Q∗(S3,sleep)=0
- Q ∗ ( S 4 , p u b ) = 1 + 0.2 × max a ′ Q ∗ ( S 2 , a ′ ) + 0.4 × max a ′ Q ∗ ( S 3 , a ′ ) + 0.4 × max a ′ Q ∗ ( S 4 , a ′ ) Q^*(S_4,pub)=1+0.2 \times \max_{a'}Q^*(S_2,a')+0.4\times\max_{a'} Q^*(S_3,a')+0.4\times\max_{a'}Q^* (S_4,a') Q∗(S4,pub)=1+0.2×maxa′Q∗(S2,a′)+0.4×maxa′Q∗(S3,a′)+0.4×maxa′Q∗(S4,a′)
求 max a ′ Q ∗ ( S 4 , a ′ ) \max_{a'} Q^*(S_4,a') maxa′Q∗(S4,a′),假设已知为最大值。- max Q ∗ ( S 4 , a ′ ) \max Q^*(S_4,a') maxQ∗(S4,a′) = 10 =10 =10
- Q ∗ ( S 3 , s t u d y ) = − 2 + Q^*(S_3,study)=-2+ Q∗(S3,study)=−2+ max a ′ Q ∗ ( S 4 , a ′ ) \max_{a'}Q^*(S_4,a') maxa′Q∗(S4,a′) = − 2 + 10 = 8 =-2+10=8 =−2+10=8
- max Q ∗ ( S 3 , a ′ ) = m a x ( 8 , 0 ) = 8 \max Q^*(S_3,a')=max(8,0)=8 maxQ∗(S3,a′)=max(8,0)=8
- Q ∗ ( S 2 , s t u d y ) = − 2 + Q^*(S_2,study)=-2+ Q∗(S2,study)=−2+ max a ′ ( S 3 , a ′ ) \max_{a'}(S_3,a') maxa′(S3,a′) = − 2 + 8 = 6 =-2+8=6 =−2+8=6
- Q ∗ ( S 3 , p u b ) = − 1 + max a ′ Q ∗ ( S 1 , a ′ ) Q^*(S_3,pub)=-1+\max_{a'}Q^*(S_1,a') Q∗(S3,pub)=−1+maxa′Q∗(S1,a′)
求 max a ′ Q ∗ ( S 2 , a ′ ) \max_{a'}Q^*(S_2,a') maxa′Q∗(S2,a′)。假设已知为最大值。- max Q ∗ ( S 2 , a ′ ) \max Q^*(S_2,a') maxQ∗(S2,a′) = 6 =6 =6
- Q ∗ ( S 1 , F a b ) = − 1 + max a ′ ( S 1 , a ′ ) Q^*(S_1,Fab)=-1+\max_{a'}(S_1,a') Q∗(S1,Fab)=−1+maxa′(S1,a′)
- Q ∗ ( S 1 , q u i t ) = 0 + Q^*(S_1,quit)=0+ Q∗(S1,quit)=0+ max a ′ ( S 2 , a ′ ) \max_{a'}(S_2,a') maxa′(S2,a′) = 6 =6 =6
求 max a ′ Q ∗ ( S 1 , a ′ ) \max_{a'}Q^*(S_1,a') maxa′Q∗(S1,a′)。假设已知为最大值。- max Q ∗ ( S 1 , a ′ ) \max Q^*(S_1,a') maxQ∗(S1,a′) = 6 =6 =6
- 倒退逐步验证每一个假设
- Q ∗ ( S 1 , F a b ) = − 1 + max a ′ ( S 1 , a ′ ) = 5 < max Q ∗ ( S 1 , a ′ ) = 6 Q^*(S_1,Fab)=-1+\max_{a'}(S_1,a')=5<\max Q^*(S_1,a')=6 Q∗(S1,Fab)=−1+maxa′(S1,a′)=5<maxQ∗(S1,a′)=6,假设成立
- Q ∗ ( S 3 , p u b ) = − 1 + max a ′ Q ∗ ( S 1 , a ′ ) = 5 < max Q ∗ ( S 3 , a ′ ) = 10 Q^*(S_3,pub)=-1+\max_{a'}Q^*(S_1,a')=5<\max Q^*(S_3,a')=10 Q∗(S3,pub)=−1+maxa′Q∗(S1,a′)=5<maxQ∗(S3,a′)=10,假设成立
- Q ∗ ( S 4 , p u b ) = 1 + 0.2 × max a ′ Q ∗ ( S 2 , a ′ ) + 0.4 × max a ′ Q ∗ ( S 3 , a ′ ) + 0.4 × max a ′ Q ∗ ( S 4 , a ′ ) = 1 + 0.2 × 6 + 0.4 × 8 + 0.4 × 10 = 9.4 < max Q ∗ ( S 4 , a ′ ) = 10 \begin{aligned}Q^*(S_4,pub)&=1+0.2 \times \max_{a'}Q^*(S_2,a')+0.4\times\max_{a'} Q^*(S_3,a')+0.4\times\max_{a'}Q^* (S_4,a')\\&=1+0.2\times 6+0.4\times 8+0.4 \times 10\\&=9.4< \max Q^*(S_4,a')=10 \end{aligned} Q∗(S4,pub)=1+0.2×a′maxQ∗(S2,a′)+0.4×a′maxQ∗(S3,a′)+0.4×a′maxQ∗(S4,a′)=1+0.2×6+0.4×8+0.4×10=9.4<maxQ∗(S4,a′)=10,假设成立
2.3 V ∗ ( s ) V^*(s) V∗(s)的迭代过程:
- 方块是终点,所以迭代的初始值函数为0
- V ∗ ( e n d ) = 0 V^*(end)=0 V∗(end)=0
- V ∗ ( S 4 ) = max { V^*(S4)=\max\{ V∗(S4)=max{ 10 + 0 10+0\quad 10+0, 1 + 0.2 × V ∗ ( S 2 ) + 0.4 × V ∗ ( S 3 ) + 0.4 × V ∗ ( S 4 ) } 1+0.2\times V^*(S_2)+0.4\times V^*(S_3)+0.4\times V^*(S_4) \} 1+0.2×V∗(S2)+0.4×V∗(S3)+0.4×V∗(S4)}=10(假设已知为最大值。)
- V ∗ ( S 3 ) = max { V*(S_3)=\max\{ V∗(S3)=max{ 0 + 0 0+0 \quad 0+0, − 2 + V ∗ ( S 4 ) } -2+V^*(S_4)\} −2+V∗(S4)}=8
- V ∗ ( S 2 ) = max { V^*(S_2)=\max\{ V∗(S2)=max{ − 1 + V ∗ ( S 1 ) -1+V^*(S_1) \quad −1+V∗(S1), − 2 + V ∗ ( S 3 ) } -2+V^*(S_3)\} −2+V∗(S3)}$=6(假设已知为最大值。)
- V ∗ ( S 1 ) = max { V^*(S_1)=\max\{ V∗(S1)=max{-1+V^*(S_1)\quad$, 0 + V ∗ ( S 2 ) 0+V^*(S_2) 0+V∗(S2)}=6(假设已知为最大值。)
- 经验证,三个假设都成立。
三、文字概念
强化学习是通过从交互学习来实现目标的计算方法。其交互过程是,在每一步t中,智能体与环境进行交互:
- 智能体(agent):获得观察O_t,获得奖励R_t,执行动作A_t;
- 环境:获得行动A_t,给出观察O_{t+1},给出奖励R_{t+1};
以上这种交互的一个完整的过程,我们可以称之为历史(History),这是一串关于观察、奖励、行动的序列,是一串一直到时间t为的所有观测变量。
-
状态(State):是一种用于确定接下来会发生的事情(动作A、奖励R、观测O),状态是关于历史的函数。状态通常是整个环境的,所观察到的状态可以视为所有状态的一部分,仅仅是智能体agent可以观察到的那一部分。
-
策略(Policy):是学习智能体在特定时间下的状态的行为方式。即从状态到行为的映射。策略可以分为两种:确定性策略(函数表示)和随机策略(条件概率表示)。
-
奖励(Reward):一种度量,立即感知到什么是好的,一般情况下是一个标量。
-
价值函数(Value function):长远来看(long-term),什么是好的。价值函数是对于未来累计奖励的预测,用于评估给定策略下,状态的好坏。
-
环境的模型(Model):用于模拟环境的行为,预测下一个状态,预测下一个立即奖励(reward)。
3.1 策略与状态转移方程的区别:
(1)策略,是在状态s时,可能执行不同的动作a的各自的概率,是一个n*m的矩阵(n个状态,m个动作);
(2)状态转移方程,是在状态s下,执行一个确定的动作a后,转移到各个状态s’的概率,是一个nnm的张量(n个状态,m个动作)
3.2强化学习智能体agent的分类
强化学习大体可以分为两类:
(1)model-based RL(基于模型的强化学习):模型可以被环境所知道,agent可以直接利用模型执行下一步的动作,而无需与实际环境进行交互学习。
例如:围棋、迷宫、象棋等这类规则明确,且可以枚举下一个状态的所有可能(比如象棋黑方走了一步后,可以列举此时红方可能要走的棋子和要走的方式)
(2)model_free RL(模型无关的强化学习):真正意义上的强化学习,环境是黑箱,比如Atari游戏、王者荣耀游戏,其需要大量的采样。
3.3 强化学习的另外一种分类方式:
(1)基于价值:没有策略(隐含)、价值函数。通过估计价值,来推导出最优策略。
(2)基于策略:策略、没有价值函数。与基于价值的关系相反。
(3)Actor-Critic:策略、价值函数相辅相成