三. 有限马尔科夫决策过程(有限MDP)
在有限MDP中,状态、动作和收益的集合(
S
S
S、
A
A
A和
R
R
R)都只有有限个元素。
p
(
s
′
,
r
∣
s
,
a
)
=
P
r
{
S
t
=
s
′
,
R
t
=
r
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
}
p(s',r|s,a)=Pr\{S_t=s',R_t=r|S_{t-1}=s,A_{t-1}=a\}
p(s′,r∣s,a)=Pr{St=s′,Rt=r∣St−1=s,At−1=a}
S
t
S_t
St和
R
t
R_t
Rt的每个可能值出现的概率只取决于前一状态
S
t
−
1
S_{t-1}
St−1和前一动作
A
t
−
1
A_{t-1}
At−1,并且与更早之前的状态和动作完全无关。
目标和收益
- 智能体的目标是最大化其收到的总收益;
- 提供收益的方式必须要使智能体在最大化收益的同时也实现目标;
- 收益信号并不是传授智能体如何实现目标的先验知识;
- 收益信号只能用来传达什么是你想要实现的目标,而不是如何实现这个目标;
回报和分幕
回报是收益的总和:
G
t
=
R
t
+
1
+
R
t
+
2
+
R
t
+
3
+
。
。
。
+
R
T
G_t=R_{t+1}+R_{t+2}+R_{t+3}+。。。+R_{T}
Gt=Rt+1+Rt+2+Rt+3+。。。+RT
T
T
T是最终时刻,智能体与环境的交互被分成一个个子序列,我们称每一个子序列为幕(episodes)。
折扣后回报:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
。
。
。
=
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+。。。=\sum_{k=0}^\infty \gamma^kR_{t+k+1}
Gt=Rt+1+γRt+2+γ2Rt+3+。。。=k=0∑∞γkRt+k+1
其中,
0
≤
γ
≤
1
0\leq\gamma\leq 1
0≤γ≤1是一个参数,称为折扣率。
增量式计算回报:
G
t
=
R
t
+
1
+
γ
G
t
+
1
G_t=R_{t+1}+\gamma G_{t+1}
Gt=Rt+1+γGt+1
策略和价值函数
策略是从状态到每个动作的选择概率之间的映射,例如: π ( a ∣ s ) \pi(a|s) π(a∣s)。
把策略
π
\pi
π下状态
s
s
s的价值函数记为
v
π
(
s
)
v_{\pi}(s)
vπ(s),其定义为:
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
]
v_{\pi}(s)=E_{\pi}[G_t|S_t=s]=E_{\pi}[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s]
vπ(s)=Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s]
把函数
v
π
v_{\pi}
vπ称为策略
π
\pi
π的状态价值函数。
把策略把策略
π
\pi
π下状态
s
s
s时采取动作
a
a
a的价值记为
q
π
(
s
,
a
)
q_{\pi}(s,a)
qπ(s,a),其定义为:
q
π
(
s
,
a
)
=
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
,
A
t
=
a
]
q_{\pi}(s,a)=E_{\pi}[G_t|S_t=s,A_t=a]=E_{\pi}[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s,A_t=a]
qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a]
把函数
q
π
q_{\pi}
qπ称为策略
π
\pi
π的动作价值函数。
贝尔曼方程:
v
π
=
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
,
对
于
所
有
的
s
∈
S
v_{\pi}=\sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_{\pi}(s')], 对于所有的s\in S
vπ=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)],对于所有的s∈S
最优策略与最优价值函数
v
∗
(
s
)
=
max
π
v
π
(
s
)
q
∗
(
s
,
a
)
=
max
π
q
π
(
s
,
a
)
v_{*}(s)=\max_{\pi}v_{\pi}(s)\\ q_{*}(s,a)=\max_{\pi}q_{\pi}(s,a)
v∗(s)=πmaxvπ(s)q∗(s,a)=πmaxqπ(s,a)
贝尔曼最优方程:
v
∗
(
s
)
=
max
a
E
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
∗
(
s
′
)
]
v_{*}(s)=\max_{a}E[R_{t+1}+\gamma v_{*}(S_{t+1})|S_t=s,A_t=a]\\ =\max_{a}\sum_{s',r}p(s',r|s,a)[r+\gamma v_{*}(s')]
v∗(s)=amaxE[Rt+1+γv∗(St+1)∣St=s,At=a]=amaxs′,r∑p(s′,r∣s,a)[r+γv∗(s′)]
贝尔曼最优方程可以直接求解,但是需要满足以下条件:
- 知道环境的动态变化特性;
- 足够的计算资源;
- 马尔科夫性质;
实际系统中,上述条件很难满足。