【强化学习理论】状态价值函数与动作价值函数系列公式推导

Mocode 2024-06-28 08:01:03 阅读 54

由于时常对状态价值函数与动作价值函数之间的定义区别、公式关系迷惑不清,此次进行梳理并作记录。

理解公式推导需要先了解基础定义中几个概念。

文章目录

基础定义奖励函数回报价值价值函数状态转移矩阵策略状态转移函数状态价值函数动作价值函数

状态价值函数与动作价值函数之间的关系==关系1====关系2==

贝尔曼方程 (Bellman Equation)贝尔曼期望方程 (Bellman Expectation Equation)==方程1====方程2==

贝尔曼最优方程

基础定义

奖励函数

奖励函数有两种记法。

①记作

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′∈S​P(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′∈S​P(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′∈S​P(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′∈S​P(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′)​

贝尔曼最优方程

待补充……



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。