由于时常对状态价值函数与动作价值函数之间的定义区别、公式关系迷惑不清,此次进行梳理并作记录。
理解公式推导需要先了解基础定义中几个概念。
文章目录
基础定义
奖励函数
奖励函数有两种记法。
①记作
r
(
s
)
r(s)
r(s),表示某状态
s
s
s的奖励,指:转移到该状态时能够获得的奖励的**期望**,即:
r
(
s
)
=
E
[
R
t
∣
S
t
=
s
]
r(s) = \mathbb {E}[R_t | S_t = s]
r(s)=E[Rt∣St=s]
为什么是用
R t R_t Rt的期望而不是直接用 R t R_t Rt来表示这个状态的奖励?
因为对于一个相同的状态,其采取的动作不同,获得的奖励
R t R_t Rt可能不同。
②记作
r
(
s
,
a
)
r(s, a)
r(s,a),表示某状态
s
s
s下采取动作
a
a
a的奖励,指:转移到该状态并采取该动作时能够获得的奖励的**期望**,即:
r
(
s
,
a
)
=
E
[
R
t
∣
S
t
=
s
,
A
t
=
a
]
r(s, a) = \mathbb{E}[R_t | S_t = s, A_t = a]
r(s,a)=E[Rt∣St=s,At=a]
为什么是用
R t R_t Rt的期望而不是直接用 R t R_t Rt来表示这个状态下采取这个动作的奖励?
因为对于一个相同的状态,即使采取的动作相同,其下一个状态
s ′ s^{\prime} s′也可能不同,之后获得的奖励 R t + 1 R_{t+1} Rt+1也可能不同,最终获得的回报 G t G_t Gt自然也不同。
回报
**回报 (Return)**,记作
G
t
G_t
Gt,指从
t
t
t时刻的状态
s
t
s_t
st开始,直至终止状态时,所有奖励的衰减之和,即:
G
t
=
R
t
+
γ
R
t
+
1
+
γ
2
R
t
+
2
+
.
.
.
=
∑
k
=
0
∞
γ
k
R
t
+
k
\begin{aligned} G_t =& R_t + \gamma R_{t+1} + \gamma ^ 2 R_{t + 2} + ... \\ =& \sum_{k = 0}^{\infty} \gamma ^ k R_{t + k} \end{aligned}
Gt==Rt+γRt+1+γ2Rt+2+...k=0∑∞γkRt+k
价值
**价值 (value)**,是一个基于状态的概念,某个状态的价值指:从某时刻的某状态
s
s
s开始,直至终止状态时,累积奖励(也就是回报
G
t
G_t
Gt)的**期望**。
1、为什么是要用**
G t G_t Gt的期望**而不能直接用 G t G_t Gt?
因为**对于相同的起始状态
s s s,其 G t G_t Gt可以是不一样的**。想要客观地评价一个状态的价值,就要尽可能地考虑它能带来的不同的回报。
2、为什么
G t G_t Gt可以是不一样的?
因为在交互进行的过程中,起始状态
s t s_t st可能转到不同的状态 s ′ s^{\prime} s′,得到的 R t R_t Rt也不同,最终的回报 G t G_t Gt自然也就不同。
价值函数
**价值函数 (value function)**,记作
V
(
s
)
V(s)
V(s),可以理解成一个映射关系,输入是状态
s
s
s,输出是该状态的价值,即:
V
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
V(s) = \mathbb{E} [G_t | S_t = s]
V(s)=E[Gt∣St=s]
奖励函数和价值函数的区别是什么?
按照我自己的理解,奖励函数是只关注状态当前能获得的收益,价值函数则关注从当前状态开始直至未来结束时的所有收益。
状态转移矩阵
状态转移矩阵,可记作
P
(
s
′
∣
s
)
P(s^{\prime} | s)
P(s′∣s),表示状态
s
s
s转移到状态
s
′
s^{\prime}
s′的概率。
在状态集合有限的情况下,可以用矩阵表示;若状态集合不是有限的,则称为状态转移函数。
策略
**策略 (policy)**,记作
π
\pi
π。可以将策略理解成:在已知输入状态
s
s
s的情况下,采取动作
a
a
a的概率,即:
π
(
s
,
a
)
=
π
(
a
∣
s
)
=
P
(
A
t
=
a
∣
S
t
=
s
)
\pi(s, a) =\pi(a | s)= P(A_t = a | S_t = s)
π(s,a)=π(a∣s)=P(At=a∣St=s)
策略
π
\pi
π(的取值)只与当前的状态
s
s
s相关,与当前状态之前的状态无关。
对于同样的状态
s
s
s,使用的策略
π
\pi
π不同,采取的动作
a
a
a不同,价值value也就不同。
状态转移函数
状态转移函数,可记作
P
(
s
′
∣
s
,
a
)
P(s^{\prime} | s, a)
P(s′∣s,a),表示在状态
s
s
s执行动作
a
a
a后到达状态
s
′
s^{\prime}
s′的概率。
与状态转移矩阵相比,状态转移函数可以表示状态集合不是有限的情况。
状态转移有两种表现形式,一种是
P ( s ′ ∣ s ) P(s^{\prime} | s) P(s′∣s),另一种是 P ( s ′ ∣ s , a ) P(s^{\prime} | s, a) P(s′∣s,a),连接两者之间的桥梁是策略 π \pi π,即: P ( s ′ ∣ s ) = ∑ a ∈ A π ( a ∣ s ) P ( s ′ ∣ s , a ) P(s^{\prime} | s) = \sum_{a \in A} \pi(a | s)P(s^{\prime} | s, a) P(s′∣s)=a∈A∑π(a∣s)P(s′∣s,a)
状态价值函数
状态价值函数 (state-value function),可记作
V
π
(
s
)
V^{\pi}(s)
Vπ(s),表示:马尔可夫决策过程中,智能体从状态
s
s
s出发,遵循策略
π
\pi
π获得的回报
G
t
G_t
Gt的**期望**,即:
V
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
t
]
V^{\pi}(s) = \mathbb{E}_{\pi}[G_t | S_t = t]
Vπ(s)=Eπ[Gt∣St=t]
看起来和价值函数很像,只不过价值函数中没有强调策略。
下面这两个问题及其回答,跟理解价值时提的那两个问题和回答是相似的。
1、为什么是回报
G t G_t Gt的期望而不是只用回报 G t G_t Gt就行了?
因为**对于同一个状态
s s s和给定的策略 π \pi π,其 G t G_t Gt可能不同**。想要客观地评价一个状态在给定策略下的价值,就要尽可能地考虑它能带来的不同的回报。
2、为什么
G t G_t Gt可以是不一样的?
因为对于同一个状态
s s s和给定的策略 π \pi π,智能体在当前状态采取的动作 a a a可能不同(特别是当使用的策略是随机性策略时),得到的 R t R_t Rt不同,最终的 G t G_t Gt也可能不同。
动作价值函数
**动作价值函数 (action-value function)**,可记作
Q
π
(
s
,
a
)
Q^{\pi}(s, a)
Qπ(s,a),表示:马尔可夫决策过程中,智能体从状态
s
s
s出发,根据策略
π
\pi
π执行动作
a
a
a,最终获得的回报
G
t
G_t
Gt的**期望**,即:
Q
π
(
s
,
a
)
=
E
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
Q^{\pi}(s, a) = \mathbb{E}[G_t | S_t = s, A_t = a]
Qπ(s,a)=E[Gt∣St=s,At=a]
看起来和状态价值函数很像,只不过状态价值函数中没有强调动作。
下面这两个问题及其回答,跟理解状态价值函数时提的那两个问题和回答是相似的。
1、为什么是回报
G t G_t Gt的期望而不是只用回报 G t G_t Gt就行了?
因为**对于同一个状态
s s s、给定的策略 π \pi π和给定的动作 a a a,其 G t G_t Gt可能不同**。想要客观地评价一个状态在给定策略下的价值,就要尽可能地考虑它能带来的不同的回报。
2、为什么
G t G_t Gt可以是不一样的?
因为对于同一个状态
s s s、给定的策略 π \pi π和给定的动作 a a a,其下一步到达的状态 s ′ s^{\prime} s′可能不同(因为环境可能已经发生不同的变化了),智能体在不同采取的动作 a a a可能不同(特别是当使用的策略是随机性策略时),得到的 R t R_t Rt不同,最终的 G t G_t Gt也可能不同。
状态价值函数与动作价值函数之间的关系
关系1
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)
关系1的推导基础:①状态价值函数的定义;②动作价值函数的定义。推导过程如下:
V
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
∑
a
∈
A
π
(
a
∣
s
)
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
∑
a
∈
A
π
(
a
∣
s
)
Q
π
(
s
,
a
)
\begin{aligned} V^{\pi}(s) &= \mathbb {E}_{\pi}[G_t | S_t = s] \\ &= \sum_{a \in A} \pi(a | s) \mathbb{E}_{\pi}[G_t | S_t = s, A_t = a] \\ &= \sum_{a \in A} \pi(a | s) Q^{\pi}(s, a) \end{aligned}
Vπ(s)=Eπ[Gt∣St=s]=a∈A∑π(a∣s)Eπ[Gt∣St=s,At=a]=a∈A∑π(a∣s)Qπ(s,a)
第1行使用了状态价值函数的定义;
从第2行转换到第3行的理解使用了动作价值函数的定义。
在此我就第2行为何将
E
π
[
G
t
∣
S
t
=
s
]
\mathbb{E}_{\pi}[G_{t} | S_t = s]
Eπ[Gt∣St=s]转换成
∑
a
∈
A
π
(
a
∣
s
)
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
\sum_{a \in A} \pi(a | s) \mathbb{E}_{\pi}[G_t | S_t = s, A_t = a]
∑a∈Aπ(a∣s)Eπ[Gt∣St=s,At=a],而不是
∑
a
∈
A
π
(
a
∣
s
)
G
t
\sum_{a \in A} \pi(a | s) G_t
∑a∈Aπ(a∣s)Gt(这两种想法的差别只在于有没有对
G
t
G_{t}
Gt求期望)给出自己的解释:后者虽然看起来比较符合数学期望的公式形式:状态
s
s
s根据概率
π
(
a
∣
s
)
\pi(a | s)
π(a∣s)选择动作
a
a
a后,后面乘上的对象应该就是对应的状态
s
s
s采取动作
a
a
a所得到的回报
G
t
G_{t}
Gt。但是前文在解释**动作价值函数**的定义时提到:**对于同一个状态
s
s
s、给定的策略
π
\pi
π和给定的动作
a
a
a,其
G
t
G_t
Gt可能不同**。也就是说,
(
s
,
a
)
(s, a)
(s,a)与
G
t
G_{t}
Gt并不是一一对应的关系,因此也无法直接相乘。此时就要找一个既能与
(
s
,
a
)
(s, a)
(s,a)一一对应、又能概括
(
s
,
a
)
(s, a)
(s,a)的收益的概念。这时,**动作价值**这一概念就成了不错的选择。它对
(
s
,
a
)
(s, a)
(s,a)能对应的多个
G
t
G_{t}
Gt计算数学期望,近似计算出
(
s
,
a
)
(s, a)
(s,a)的整体收益(这样看来,其实第2行也是可以省略的,直接就能推出第3行了)。
关系2
Q
π
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
Q^{\pi}(s, a) = r(s, a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) V^{\pi}(s^{\prime})
Qπ(s,a)=r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)
关系2的推导基础:①动作价值函数的定义;②回报的定义;③奖励函数的定义;④状态价值函数的定义。推导过程如下:
Q
π
(
s
,
a
)
=
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
R
t
+
γ
R
t
+
1
+
γ
2
R
t
+
2
+
.
.
.
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
R
t
+
γ
(
R
t
+
1
+
γ
R
t
+
2
+
.
.
.
)
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
R
t
∣
S
t
=
s
,
A
t
=
a
]
+
γ
E
π
[
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
E
π
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
\begin{aligned} Q^{\pi}(s, a) &= \mathbb{E}_{\pi}[G_t | S_t = s, A_t = a] \\ &= \mathbb{E}_{\pi}[R_t + \gamma R_{t+1} + \gamma^2R_{t+2}+ ... | S_t = s, A_t = a] \\ &= \mathbb{E}_{\pi}[R_t + \gamma (R_{t+1} + \gamma R_{t+2} + ...) | S_t = s, A_t = a] \\ &= \mathbb{E}_{\pi}[R_t | S_t = s, A_t = a] + \gamma \mathbb{E}_{\pi}[G_{t+1} | S_t = s, A_t = a] \\ &= r(s, a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) \mathbb{E}_{\pi}[G_{t+1} | S_{t+1} = s^{\prime}] \\ &= r(s, a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) V^{\pi}(s^{\prime}) \end{aligned}
Qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[Rt+γRt+1+γ2Rt+2+...∣St=s,At=a]=Eπ[Rt+γ(Rt+1+γRt+2+...)∣St=s,At=a]=Eπ[Rt∣St=s,At=a]+γEπ[Gt+1∣St=s,At=a]=r(s,a)+γs′∈S∑P(s′∣s,a)Eπ[Gt+1∣St+1=s′]=r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)
推导过程中,第1行的等式使用了动作价值函数的定义;
第1行到第2行的转化、第3行到第4行的转化使用了回报 (Return)的定义;
第4行到第5行的转化使用了奖励函数的定义;
第5行到第6行的转化使用了状态价值函数的定义。
在此我就第5行的第2个子项为何将
E
π
[
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
\mathbb{E}_{\pi}[G_{t+1} | S_t = s, A_t = a]
Eπ[Gt+1∣St=s,At=a]拆解成
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
E
π
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
\sum_{s^{\prime} \in S} P(s^{\prime} | s, a) \mathbb{E}_{\pi}[G_{t+1} | S_{t+1} = s^{\prime}]
∑s′∈SP(s′∣s,a)Eπ[Gt+1∣St+1=s′],而不是
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
G
t
+
1
\sum_{s^{\prime} \in S} P(s^{\prime} | s, a) G_{t+1}
∑s′∈SP(s′∣s,a)Gt+1(这两种想法的差别只在于有没有对
G
t
+
1
G_{t+1}
Gt+1求期望)给出自己的解释:后者虽然看起来比较符合数学期望的公式形式:状态
s
s
s、动作
a
a
a根据概率
P
(
s
′
∣
s
,
a
)
P(s^{\prime} | s, a)
P(s′∣s,a)转移到状态
s
′
s^{\prime}
s′后,后面乘上的对象应该就是对应的状态
s
′
s^{\prime}
s′的回报
G
t
+
1
G_{t+1}
Gt+1。但是前文在解释**价值**的定义时提到:**对于相同的起始状态
s
s
s,其
G
t
G_t
Gt可以是不一样的**。也就是说,
s
′
s^{\prime}
s′与
G
t
+
1
G_{t+1}
Gt+1并不是一一对应的关系,因此也无法直接相乘。此时就要找一个既能与
s
′
s^{\prime}
s′一一对应、又能概括状态
s
′
s^{\prime}
s′的收益的概念。这时,**价值**这一概念就成了不错的选择。它对
s
′
s^{\prime}
s′能对应的多个
G
t
+
1
G_{t+1}
Gt+1计算数学期望,近似计算出状态
s
′
s^{\prime}
s′的整体收益(这样看来,其实第5行也是可以省略的,直接就能推出第6行了)。
另外,特别提醒:
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = ∑ s ′ ∈ S P ( s ′ ∣ s , a ) E [ G t + 1 ∣ S t + 1 = s ′ ] \begin{aligned} Q^{\pi}(s, a) &= \mathbb{E}_{\pi}[G_t | S_t = s, A_t = a] \\ &= \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) \mathbb{E}[G_{t+1} | S_{t+1} = s^{\prime}] \end{aligned} Qπ(s,a)=Eπ[Gt∣St=s,At=a]=s′∈S∑P(s′∣s,a)E[Gt+1∣St+1=s′]
不能这样转!因为这样就没有考虑
R t R_t Rt了,从 G t G_t Gt直接绕到了 G t + 1 G_{t+1} Gt+1。
贝尔曼方程 (Bellman Equation)
下式即为贝尔曼方程。
V
(
s
)
=
r
(
s
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
)
V
(
s
′
)
V(s) = r(s) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s) V(s^{\prime})
V(s)=r(s)+γs′∈S∑P(s′∣s)V(s′)
与价值函数的原式相比,贝尔曼方程允许使用者在知晓奖励函数和状态转移矩阵的情况下即可计算价值函数的解析解。
贝尔曼方程的推导基础:①回报的定义;②奖励函数的定义;③价值函数的定义。推导过程如下:
V
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
=
E
[
R
t
+
γ
R
t
+
1
+
γ
2
R
t
+
2
+
.
.
.
∣
S
t
=
s
]
=
E
[
R
t
+
γ
(
R
t
+
1
+
γ
R
t
+
2
+
.
.
.
)
∣
S
t
=
s
]
=
E
[
R
t
+
γ
G
t
+
1
∣
S
t
=
s
]
=
E
[
R
t
∣
S
t
=
s
]
+
γ
E
[
G
t
+
1
∣
S
t
=
s
]
=
r
(
s
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
)
E
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
=
r
(
s
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
)
V
(
s
′
)
\begin{aligned} V(s) &= \mathbb{E}[G_t | S_t = s] \\ &= \mathbb{E}[R_t + \gamma R_{t + 1} + \gamma ^ 2 R_{t + 2} + ... | S_t = s] \\ &= \mathbb{E}[R_t + \gamma (R_{t + 1} + \gamma R_{t + 2} + ...) | S_t = s] \\ &= \mathbb{E}[R_t + \gamma G_{t + 1} | S_t = s] \\ &= \mathbb{E}[R_t | S_t = s] + \gamma \mathbb{E}[G_{t + 1} | S_t = s] \\ &= r(s) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s) \mathbb{E}[G_{t + 1} | S_{t + 1} = s^{\prime}] \\ &= r(s) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s) V(s^{\prime}) \end{aligned}
V(s)=E[Gt∣St=s]=E[Rt+γRt+1+γ2Rt+2+...∣St=s]=E[Rt+γ(Rt+1+γRt+2+...)∣St=s]=E[Rt+γGt+1∣St=s]=E[Rt∣St=s]+γE[Gt+1∣St=s]=r(s)+γs′∈S∑P(s′∣s)E[Gt+1∣St+1=s′]=r(s)+γs′∈S∑P(s′∣s)V(s′)
推导过程中,第1行到第2行的转化、第3行到第4行的转化使用了回报 (Return)的定义;
第5行到第6行的转化使用了奖励函数的定义;
第6行到第7行的转化使用了价值函数的定义。
在此我就第6行的第2个子项为何将
E
[
G
t
+
1
∣
S
t
=
s
]
\mathbb{E}[G_{t + 1} | S_t = s]
E[Gt+1∣St=s]拆解成
∑
s
′
∈
S
P
(
s
′
∣
s
)
E
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
\sum_{s^{\prime} \in S} P(s^{\prime} | s) \mathbb{E}[G_{t + 1} | S_{t + 1} = s^{\prime}]
∑s′∈SP(s′∣s)E[Gt+1∣St+1=s′],而不是
∑
s
′
∈
S
P
(
s
′
∣
s
)
G
t
+
1
\sum_{s^{\prime} \in S} P(s^{\prime} | s) G_{t + 1}
∑s′∈SP(s′∣s)Gt+1(这两种想法的差别只在于有没有对
G
t
+
1
G_{t+1}
Gt+1求期望)给出自己的解释:后者虽然看起来比较符合数学期望的公式形式:状态
s
s
s根据概率
P
(
s
′
∣
s
)
P(s^{\prime} | s)
P(s′∣s)转移到状态
s
′
s^{\prime}
s′后,后面乘上的对象应该就是对应的状态
s
′
s^{\prime}
s′的回报
G
t
+
1
G_{t+1}
Gt+1。但是前文在解释**价值**的定义时提到:**对于相同的起始状态
s
s
s,其
G
t
G_t
Gt可以是不一样的**。也就是说,
s
′
s^{\prime}
s′与
G
t
+
1
G_{t+1}
Gt+1并不是一一对应的关系,因此也无法直接相乘。此时就要找一个既能与
s
′
s^{\prime}
s′一一对应、又能概括状态
s
′
s^{\prime}
s′的收益的概念。这时,**价值**这一概念就成了不错的选择。它对
s
′
s^{\prime}
s′能对应的多个
G
t
+
1
G_{t+1}
Gt+1计算数学期望,近似计算出状态
s
′
s^{\prime}
s′的整体收益(这样看来,其实第6行也是可以省略的,直接就能推出第7行了)。
贝尔曼期望方程 (Bellman Expectation Equation)
其实贝尔曼期望方程即是前面的贝尔曼方程,只是在引入动作
a
a
a之后更加完整。
根据状态价值函数和动作价值函数的两个关系,可以推出2个价值函数的贝尔曼期望方程。
方程1
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
[
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
]
V^{\pi}(s) = \sum_{a \in A} \pi(a|s) \left[ r(s,a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) V^{\pi}(s^{\prime}) \right]
Vπ(s)=a∈A∑π(a∣s)[r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)]
推导过程如下:将关系2式代入关系1式,得:
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
Q
π
(
s
,
a
)
=
∑
a
∈
A
π
(
a
∣
s
)
[
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
]
\begin{aligned} V^{\pi}(s) &= \sum_{a \in A} \pi(a|s) Q^{\pi}(s,a) \\ &= \sum_{a \in A} \pi(a|s) \left[ r(s,a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) V^{\pi}(s^{\prime}) \right] \end{aligned}
Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)=a∈A∑π(a∣s)[r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)]
方程2
Q
π
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
∑
a
′
∈
A
π
(
a
′
∣
s
′
)
Q
π
(
s
′
,
a
′
)
Q^{\pi}(s,a) = r(s,a) + \gamma \sum_{s^{\prime} \in S}P(s^{\prime} | s, a) \sum_{a^{\prime} \in A} \pi(a^{\prime} | s^{\prime}) Q^{\pi}(s^{\prime}, a^{\prime})
Qπ(s,a)=r(s,a)+γs′∈S∑P(s′∣s,a)a′∈A∑π(a′∣s′)Qπ(s′,a′)
推导过程如下:将关系1式代入关系2式,得:
Q
π
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
∑
a
′
∈
A
π
(
a
′
∣
s
′
)
Q
π
(
s
′
,
a
′
)
\begin{aligned} Q^{\pi}(s,a) &= r(s,a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) V^{\pi}(s^{\prime}) \\ &=r(s,a) + \gamma \sum_{s^{\prime} \in S} P(s^{\prime} | s, a) \sum_{a^{\prime} \in A} \pi(a^{\prime}| s^{\prime})Q^{\pi}(s^{\prime},a^{\prime}) \end{aligned}
Qπ(s,a)=r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)=r(s,a)+γs′∈S∑P(s′∣s,a)a′∈A∑π(a′∣s′)Qπ(s′,a′)
贝尔曼最优方程
待补充……
版权归原作者 Mocode 所有, 如有侵权,请联系我们删除。