#
1、简介
2、策略
3、练习:解析策略
策略决定了智能体如何根据当前状态选择动作。换句话说,它指定了智能体如何对环境提供的情形做出响应。
思考下上节课的回收机器人 MDP。
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/d09cd02f-cc41-4035-a0dd-f8949e082ffb#)
确定性策略:示例
示例确定性策略可以指定为:
在这种情况下,
- 如果电池电量_很低,智能体选择充电_。
- 如果电池电量_很高,智能体选择搜索_易拉罐。
问题 1
思考另一个确定性策略 \pi: \mathcal{S}\to\mathcal{A}π:S→A,其中:
习题 1/2
如果智能体遵守策略的话,以下哪些陈述正确(请选中所有适用项。)
- 如果状态是电量很低,智能体选择动作_搜索_。
- 如果动作是电量很低,智能体选择状态_搜索_。
- 智能体将在每个时间步都_搜索易拉罐(无论电量是很低_ 还是 很高)。
- 如果状态是电量很高,智能体选择_等待_易拉罐。
随机性策略:示例
示例随机性策略可以指定为:
在这种情况下,
- 如果电池电量_很低,智能体充电的概率是 50%,等待易拉罐的概率是 40%,搜索_易拉罐的概率是 10%。
- 如果电池电量_很高,智能体搜索易拉罐的概率是 90%,等待_易拉罐的概率是 10%。
问题 2
思考另一个不同的随机性策略 \pi: \mathcal{S}\times\mathcal{A}\to [0,1]π:S×A→[0,1],其中:
习题 2/2
如果智能体遵守策略的话,以下哪些陈述正确(请选中所有适用项。)
- 如果电池电量_很低,智能体将始终决定等待_易拉罐。
- 如果智能体_搜索易拉罐,则在下个时间步电池状态为电量很高_的概率是 60%。
- 如果电池电量_很低,智能体最有可能决定等待_易拉罐。
4、网格世界示例
5、状态值函数
第 1 条注释:记法 来自推荐教科书。
第 2 条注释:在这门课程中,我们将不加区分地使用“回报”和“折扣回报”。对于任意时间步 tt,这两个术语都指代 R_{t+k+1}Gt*≐*Rt+1+γRt+2+γ2Rt*+3+…=∑*k*=0∞*γkRt+k+1,其中 尤其是,当我们提到“回报”时,并不一定是指 \gamma = 1γ=1,当我们提到“折扣回报”时,并不一定就是。(推荐教科书也是这种情况。)
6、贝尔曼方程(第 1 部分)
贝尔曼方程
在这个网格世界示例中,一旦智能体选择一个动作,
- 它始终沿着所选方向移动(而一般 MDP 则不同,智能体并非始终能够完全控制下个状态将是什么)
- 可以确切地预测奖励(而一般 MDP 则不同,奖励是从概率分布中随机抽取的)。
在这个简单示例中,我们发现任何状态的值可以计算为即时奖励和下个状态(折扣)值的和。
Alexis 提到,对于一般 MDP,我们需要使用期望值,因为通常即时奖励和下个状态无法准确地预测。的确,我们在之前的课程中发现,奖励和下个状态是根据 MDP 的一步动态特性选择的。在这种情况下,奖励 rr 和下个状态 s’s′ 是从(条件性)概率分布$$ p(s’,r | s,a)p(s′,r∣s,a) 中抽取的,*贝尔曼预期方程(对于 v_\pi*v*π*)*表示了任何状态 ss* 对于_预期即时奖励和下个状态的预期_值的值: |
计算预期值
如果智能体的策略 \piπ 是确定性策略,智能体在状态 ss 选择动作 \pi(s)π(s),贝尔曼预期方程可以重写为两个变量 (s’s′ 和 rr) 的和:
在这种情况下,我们将奖励和下个状态的折扣值之和 (r+\gamma v_\pi(s’))(r+γvπ(s′)) 与相应的概率 p(s’,r | s,\pi(s))p(s′,r∣s,π(s)) 相乘,并将所有概率相加得出预期值。 |
如果智能体的策略 \piπ 是随机性策略,智能体在状态 ss 选择动作 aa 的概率是 \pi(a | s)π(a∣s),贝尔曼预期方程可以重写为三个变量(s’s′、rr 和 aa)的和: |
在这种情况下,我们将奖励和下个状态的折扣值之和与相应的概率$$ \pi(a | s)p(s’,r | s,a)π(a∣s)p(s′,r∣s,a) $$相乘,并将所有概率相加得出预期值。 |
7、练习:状态值函数
在这道练习中,你将计算特定策略对应的值函数。
MDP 中的每个状态(共九个)都用 \mathcal{S}^+ = {s_1, s_2, \ldots, s_9 }S+={s1,s2,…,s9} 之一标记,其中 s_9s9 是终止状态。
思考下下图表示的(确定性)策略(角色部分)。
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/f958d2bf-ff9e-410e-ac18-c2c0add455af#)
策略 \piπ 由以下方程确定:
注意,因为 s_9s9 是一个终止状态,如果智能体从该状态开始,则该阶段立即结束。因此,智能体不需要选择动作(因此我们不会在策略中包含 s_9s9),并且 。
现在花时间计算该策略对应的状态值函数 。(你会发现贝尔曼预期方程可以为你节省大量工作!)
假设 \gamma = 1*γ*=1。
完成后,使用 回答以下问题。
问题 1
是多少?
习题 1/3
请选择相应的数字值。
- -2
- -1
- 0
- 1
- 2
问题 2
是多少?
习题 2/3
请选择相应的数字值。
- -2
- -1
- 0
- 1
- 2
问题 3
对于以下语句:
- (1)
- (2)
- (3)
- (4)
- (5)
习题 3/3
请选择(上文)表述正确的语句。(请选中所有适用项。)
- (1)
- (2)
- (3)
- (4)
- (5)
8、最优性
9、动作值函数
注意:在这门课程中,我们将不加区分地使用“回报”和“折扣回报”。对于任意时间步 tt,这两个术语都指代 ,其中 。尤其是,当我们提到“回报”时,并不一定是指,当我们提到“折扣回报”时,并不一定就是 。(推荐教科书也是这种情况。)
10、练习:动作值函数
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/264f6ce5-e60e-4bcb-9bb2-d92079c34a37#)
正确或错误?:对于确定性策略 \piπ,
v_\pi(s) = q_\pi(s, \pi(s))vπ*(*s*)=*qπ(s,π(s))
适用于所有 s \in \mathcal{S}s∈S。
在回答这个问题时,可以使用上述状态值函数和动作值函数作为确定性策略示例。
练习题
上述语句正确与否?
- 正确
- 错误
下一项
11、最优策略
12、练习:最优策略
如果状态空间 \mathcal{S}S 和动作空间 \mathcal{A}A 是有限的,我们可以用表格表示最优动作值函数 q_*q∗,每个可能的环境状态 s \in \mathcal{S}s∈S 和动作 a\in\mathcal{A}a∈A 对应一个策略。
特定状态动作对 s,as,a 的值是智能体从状态 ss 开始并采取动作 aa,然后遵守最优策略 \pi_*π∗ 所获得的预期回报。
我们在下方为虚拟马尔可夫决策流程 (MDP) (where \mathcal{S}={ s_1, s_2, s_3 }S={s1,s2,s3} 和 \mathcal{A}={a_1, a_2, a_3}A={a1,a2,a3}) 填充了一些值。
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/7c1e4c72-9c0a-4e47-b74b-7352d2739682#)
你在上一部分了解到,智能体确定最优动作值函数 q_*q∗ 后,它可以为所有 s\in\mathcal{S}s∈S 设置 \pi_(s) = \arg\max_{a\in\mathcal{A}(s)} q_(s,a)π∗(s)=argmaxa∈A(s)q∗(s,a) 快速获得最优策略 \pi_*π∗。
要了解为何是这种情况,注意,必须确保 v_(s) = \max_{a\in\mathcal{A}(s)} q_(s,a)v∗(s)=maxa∈A(s)q∗(s,a)。
如果在某个状态 s\in\mathcal{S}s∈S 中,有多个动作 a\in\mathcal{A}(s)a∈A(s) 可以最大化最优动作值函数,你可以通过向任何(最大化)状态分配任意大小的概率构建一个最优策略。只需确保根据该策略给不会最大化动作值函数的动作(对于特定状态)分配的概率是 0% 即可。
为了构建最优策略,我们可以先在每行(或每个状态)中选择最大化动作值函数的项。
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/7c1e4c72-9c0a-4e47-b74b-7352d2739682#)
因此,相应 MDP 的最优策略 \pi_*π∗ 必须满足:
-
\pi_(s_1) = a_2π∗(s1)=a2 (or, equivalently, \pi_(a_2 s_1) = 1π∗(a2∣s1)=1),以及 -
\pi_(s_2) = a_3π∗(s2)=a3 (or, equivalently, \pi_(a_3 s_2) = 1π∗(a3∣s2)=1)。
这是因为 a_2 = \arg\max_{a\in\mathcal{A}(s_1)}q_(s,a)a2=argmaxa∈A(s1)q∗(s,a),以及 a_3 = \arg\max_{a\in\mathcal{A}(s_2)}q_(s,a)a3=argmaxa∈A(s2)q∗(s,a)。
换句话说,在最优策略下,智能体在状态 s_1s1 下必须选择动作 a_2a2,在状态 s_2s2 下将选择动作 a_3a3。
对于状态 s_3s3,注意 a_1, a_2 \in \arg\max_{a\in\mathcal{A}(s_3)}q_(s,a)a1,a2∈argmaxa∈A(s3)q∗(s,a)。因此,智能体可以根据最优策略选择动作 a_1a1 或 a_2a2,但是始终不能选择动作 a_3a3。即最优策略 \pi_**π∗ 必须满足:
-
\pi_*(a_1 s_3) = pπ∗(a1∣s3)=p, -
\pi_*(a_2 s_3) = qπ∗(a2∣s3)=q,以及 -
\pi_*(a_3 s_3) = 0π∗(a3∣s3)=0,
其中 p,q\geq 0p,q≥0 以及 p + q = 1p+q=1。
问题
思考另一个对应不同的最优动作值函数的不同 MDP。请使用该动作值函数回答以下问题。
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/7c1e4c72-9c0a-4e47-b74b-7352d2739682#)
练习题
以下哪些语句表示了最优动作值函数对应的潜在最优策略?
- 智能体在状态 s_1 始终选择动作 a_1。
- 智能体在状态 s_1 始终选择动作 a_3。
- 智能体在状态 s_2 可以随意选择动作 a_1 或动作 a_2。
- 智能体在状态 s_2 必须选择动作 a_3。
- 智能体在状态 s_3 必须选择动作 a_1。
- 智能体在状态 s_3 可以随意选择动作 a_2 或 a_3。
下一项
13、贝尔曼方程(第 2 部分)
有两组贝尔曼方程:(1) 贝尔曼预期方程 和 (2) 贝尔曼最优性方程。每组方程包含两个方程,对应于状态值或动作值。
所有贝尔曼方程对有限马尔可夫决策流程 (MDP) 来说都非常有用,在后续课程中还会经常出现。
贝尔曼预期方程
我们已经介绍了 v_\pi*v**π* 的贝尔曼预期方程
v_\pi(s) = \text{} \mathbb{E}\pi[R{t+1} + \gamma v_\pi(S_{t+1}) | S_t=s]vπ*(*s*)=E*π*[*Rt+1+γvπ(St*+1)∣*St=s]。 |
之前在这节课中,你发现对于任意随机性策略 \piπ,该方程可以表示为
v_\pi(s) = \sum_{s’ \in \mathcal{S}^+, r\in\mathcal{R}, a \in \mathcal{A}(s)}\pi(a | s)p(s’,r | s,a)(r + \gamma v_\pi(s’))vπ*(*s*)=∑*s*′∈S+,*r*∈R,*a*∈A(*s*)*π*(*a*∣*s*)*p*(*s*′,*r*∣*s*,*a*)(*r*+*γv**π(s′))。 |
该方程表示了任何状态(根据任意策略)相对于后续状态(根据同一策略)的值。
q_\pi*q**π* 的贝尔曼预期方程是:
q_\pi(s,a) = \text{} \mathbb{E}\pi[R{t+1} + \gamma q_\pi(S_{t+1},A_{t+1}) | S_t=s,A_t=a]qπ*(*s*,*a*)=E*π*[*Rt+1+γqπ(St*+1,*At+1)∣St*=*s*,*At=a] |
= \sum_{s’ \in \mathcal{S}^+, r\in\mathcal{R}}p(s’,r | s,a)(r + \gamma\sum_{a’ \in \mathcal{A}(s)} \pi(a’ | s’) q_\pi(s’,a’))=∑s′∈S+,r∈Rp(s′,r∣s,a)(r+γ∑a′∈A(s)π(a′∣s′)q**π(s′,a′)) |
其中最后一个形式详细介绍了如何计算任意随机策略 \piπ 的预期值。该方程表示任何状态动作对(根据任意策略)相对于后续状态的值(根据同一策略)的值。
贝尔曼最优性方程
和贝尔曼预期方程相似,贝尔曼最优性方程可以证明:状态值(以及动作值函数)满足递归关系,可以将状态值(或状态动作对的值)与所有后续状态(或状态动作对)的值联系起来。
虽然贝尔曼最优性方程关心的是_任意策略,但是贝尔曼最优性方程完全侧重于最优_策略对应的值满足的关系。
v_**v*∗ 的贝尔曼最优性方程是:
v_(s) = \max_{a \in \mathcal{A}(s)} \mathbb{E}[R_{t+1} + \gamma v_(S_{t+1}) | S_t=s] = \max_{a \in \mathcal{A}(s)}\sum_{s’ \in \mathcal{S}^+, r\in\mathcal{R}}p(s’,r | s,a)(r + \gamma v_(s’))v∗(s)=maxa∈A(s)E[Rt+1+γv∗(St+1)∣St=s]=maxa∈A(s)∑s′∈S+,r∈Rp(s′,r∣s,a)(r+γ*v∗(s′)) |
它表示任何状态根据最优策略相对于后续状态的值(根据最优策略)的值。
q_**q*∗ 的贝尔曼最优性方程是:
q_(s,a) = \mathbb{E}[R_{t+1} + \gamma \max_{a’\in\mathcal{A}(S_{t+1})}q_(S_{t+1},a’) | S_t=s, A_t=a]q∗(s,a)=E[Rt*+1+*γ*max*a*′∈A(*St+1)q∗(St*+1,*a*′)∣*St=s,A**t=a] |
= \sum_{s’ \in \mathcal{S}^+, r\in\mathcal{R}}p(s’,r | s,a)(r + \gamma \max_{a’\in\mathcal{A}(s’)}q_(s’,a’))=∑s′∈S+,r∈Rp(s′,r∣s,a)(r+γmaxa′∈A(s′)q∗(s′,a*′)) |
它表示任何状态动作对根据最优策略相对于后续状态动作对(根据最优策略)的值的值。
实用公式
为了推导出所有四个贝尔曼方程,有必要先推导出紧密相关的公式。
q_\pi(s,a) = \sum_{s’\in\mathcal{S}^+, r\in\mathcal{R}}p(s’,r | s,a)(r+\gamma v_\pi(s’))*qπ(s,a)=∑s′∈S+,r∈Rp(s′,r∣s,a)(r+γvπ(s*′)) (方程 1**) |
该方程表示相对于状态值函数和 MDP 一步动态特性的策略动作值函数。
我们将提供两个论证来证明该方程,一个是对话论证,另一个是代数论证。
求导 1
我们将先从会话参数开始。当智能体位于状态 ss 并采取动作 aa 时,可以产生任何数量的潜在下个状态 s’‘s′′ 和奖励 rr。
](https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/a2386085-8101-47b6-84e0-7b61a76c2b82/modules/dffda80a-0d5b-460d-afbc-3e0ce20e867f/lessons/ce8d7dbc-3320-4440-bdd3-556b8ca3fda2/concepts/ee8e341e-e3bb-4d99-9ee1-a5910d6cfde8#)
如果下个状态 s’s′ 和奖励 rr 可以确切地预测,那么回报可以计算为 r + \gamma v_\pi(s’)r+γvπ(s′)。
知道这一点后,为了获得动作值 q_\pi(s,a)qπ*(*s*,*a*),我们只需计算和 r + \gamma v_\pi(s’)*r*+*γv**π(s′) 的预期值。可以通过以下方程获得
q_\pi(s,a) = \sum_{s’\in\mathcal{S}^+, r\in\mathcal{R}}p(s’,r | s,a)(r + \gamma v_\pi(s’))qπ*(*s*,*a*)=∑*s*′∈S+,*r*∈R*p*(*s*′,*r*∣*s*,*a*)(*r*+*γv**π(s′)), |
其中每个 s’,rs′,r 对的概率由 MDP 的一步动态特性 p(s’,r | s,a)p(s′,r∣s,a) 确定。 |
求导 2
请算出以下方程 1 的替代导数。
理由如下:
-
(1) 满足 q_\pi(s,a) := \mathbb{E}_\pi[G_t S_t=s, A_t=a]qπ*(*s*,*a*):=E*π*[*Gt∣St*=*s*,*At=a] 的定义。 - (2) 遵守全期望公式。
-
(3) 根据定义 p(s’,r s,a) := \mathbb{P}(S_{t+1}=s’,R_{t+1}=r S_t=s,A_t=a)p(s′,r∣s,a):=P(St*+1=*s*′,*Rt+1=r∣St*=*s*,*At=a) 是正确的 -
(4) 满足,因为 \mathbb{E}_\pi[G_t S_t=s,A_t=a,S_{t+1}=s’,R_{t+1}=r]=\mathbb{E}_\pi[G_t S_{t+1}=s’,R_{t+1}=r]Eπ[Gt*∣*St=s,At*=*a*,*St+1=s′,Rt*+1=*r*]=E*π*[*Gt∣St*+1=*s*′,*Rt+1=r]。 - (5) 遵守,因为 G_t = R_{t+1}+G_{t+1}Gt*=*Rt+1+G**t+1。
- (6) 根据线性期望 是正确的。
-
(7) 根据定义 v_\pi(s’) := \mathbb{E}_\pi[G_t S_t=s’]=\mathbb{E}\pi[G{t+1} S_{t+1}=s’]vπ*(*s*′):=E*π*[*Gt∣St*=*s*′]=E*π*[*Gt+1∣S**t+1=s′] 是正确的。
得出贝尔曼预期方程
为了得出贝尔曼预期方程,我们需要使用另一个公式。
v_\pi(s) = \sum_{a\in\mathcal{A}(s)}\pi(a | s) q_\pi(s,a)vπ*(*s*)=∑*a*∈A(*s*)*π*(*a*∣*s*)*qπ(s,a)(方程 2) |
该方程使我们能够根据(潜在随机性)策略对应的动作值函数获得状态值函数。
v_\pi*v*π* 的贝尔曼预期方程**可以通过先从**方程 2** 开始并用**方程 1** 替换 q_\pi(s,a)qπ(s,a*) 的值获得。
同样,q_\pi*q*π* 的贝尔曼预期方程**可以通过先从**方程 1** 开始并用**方程 2** 替换 v_\pi(s)vπ(s*) 的值获得。
获得贝尔曼最优性方程
为了推出贝尔曼最优性方程,我们需要另外两个方程。
q_*(s,a) = \sum_{s’\in\mathcal{S}^+, r\in\mathcal{R}}p(s’,r | s,a)(r+\gamma v_(s’))q∗(s,a)=∑s′∈S+,r∈Rp(s′,r∣s,a)(r+γv∗(s*′)) (方程 3**) |
方程 3 表示相对于最优状态值函数和 MDP 一步动态特性的最优动作值函数。
v_(s) = \max_{a\in\mathcal{A}(s)} q_(s,a)v∗(s)=maxa∈A(s)q∗(s,a) (方程 4)
方程 4 表示相对于最优动作值函数的最优状态值函数。
*v_*v*∗ 的贝尔曼最优性方程可以通过先从方程 4** 开始并用方程 3 替换 q_(s,a)q∗(s,a*) 的值获得。
*q_*q*∗ 的贝尔曼最优性方程可以通过先从方程 3** 开始并用方程 4 替换 v_(s)v∗(s*) 的值获得。
更多信息
如果你想详细了解贝尔曼方程,建议你阅读该教科书的第 3.7 和 3.8 部分。
14、总结
高尔夫智能体的状态值函数(Sutton 和 Barto,2017 年)
策略
- 确定性策略是从 \pi: \mathcal{S}\to\mathcal{A}π:S→A 的映射。对于每个状态 s\in\mathcal{S}s∈S,它都生成智能体在状态 ss 时将选择的动作 a\in\mathcal{A}a∈A
- 随机性策略是从 \pi: \mathcal{S}\times\mathcal{A}\to [0,1]π:S×A→[0,1] 的映射。对于每个状态 s\in\mathcal{S}s∈S 和动作 a\in\mathcal{A}a∈A,它都生成智能体在状态 ss 时选择动作 aa 的概率。
状态值函数
-
策略 \piπ 的状态值函数表示为 v_\piv**π。对于每个状态 s \in\mathcal{S}s∈S,它都生成智能体从状态 ss 开始,然后在所有时间步根据策略选择动作的预期回报。即 v_\pi(s) \doteq \text{} \mathbb{E}_\pi[G_t S_t=s]vπ*(*s*)≐E*π*[*Gt∣St*=*s*]。我们将 v_\pi(s)*vπ(s) 称之为在策略 \pi*π* 下的状态 s*s* 的值。 - 记法 \mathbb{E}\pi[\cdot]E*π*[⋅] 来自推荐的教科书,其中 \mathbb{E}\pi[\cdot]Eπ[⋅] 定义为随机变量的预期值(假设智能体遵守策略 \piπ)。
贝尔曼方程(第 1 部分)
-
v_\pi*v**π* 的贝尔曼预期方程是:v_\pi(s) = \text{} \mathbb{E}\pi[R{t+1} + \gamma v_\pi(S_{t+1}) S_t =s].vπ*(*s*)=E*π*[*Rt+1+γvπ(St*+1)∣*St=s].
最优性
- 策略 \pi’π′ 定义为优于或等同于策略 \piπ(仅在所有 s\in\mathcal{S}s∈S 时 v_{\pi’}(s) \geq v_\pi(s)vπ*′(*s*)≥*vπ(s))。
- *最优策略 \pi_*π*∗** 对于所有策略 \piπ 满足 \pi_* \geq \piπ∗≥π。最优策略肯定存在,但并不一定是唯一的。
- 所有最优策略都具有相同的状态值函数 v_v*∗,称为最优状态值函数**。
动作值函数
-
策略 \piπ 的动作值函数表示为 q_\piq**π。对于每个状态 s \in\mathcal{S}s∈S 和动作 a \in\mathcal{A}a∈A,它都生成智能体从状态 ss 开始并采取动作 aa,然后在所有未来时间步遵守策略时产生的预期回报。即 q_\pi(s,a) \doteq \mathbb{E}_\pi[G_t S_t=s, A_t=a]qπ*(*s*,*a*)≐E*π*[*Gt∣St*=*s*,*At=a]。我们将 q_\pi(s,a)*qπ(s,a*) 称之为在状态 s*s* 根据策略 \pi*π* 采取动作 a*a* 的值(或者称之为状态动作对 s, a*s*,*a*** 的值)。 - 所有最优策略具有相同的动作值函数 q_q*∗,称之为最优动作值函数**。
最优策略
- 智能体确定最优动作值函数 q_*q∗ 后,它可以通过设置 \pi_(s) = \arg\max_{a\in\mathcal{A}(s)} q_(s,a)π∗(s)=argmaxa∈A(s)q∗(s,a) 快速获得最优策略 \pi_*π∗。
贝尔曼方程(第 2 部分)
-
q_\pi*q**π* 的贝尔曼预期方程是:q_\pi(s,a) = \text{}\mathbb{E}\pi[R{t+1} + \gamma q_\pi(S_{t+1},A_{t+1}) S_t =s, A_t=a].qπ*(*s*,*a*)=E*π*[*Rt+1+γqπ(St*+1,*At+1)∣St*=*s*,*At=a]. -
*v_*v*∗ 的贝尔曼最优性方程*是:v_(s) = \max_{a \in \mathcal{A}(s)} \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) S_t=s]v∗(s)=maxa∈A(s)E[Rt*+1+*γv∗(St*+1)∣*St=s]。 -
*q_*q*∗ 的贝尔曼最优性方程*是:q_(s,a) = \mathbb{E}[R_{t+1} + \gamma \max_{a’\in\mathcal{A}(S_{t+1})}q_*(S_{t+1},a’) S_t=s, A_t=a]q∗(s,a)=E[Rt*+1+*γ*max*a*′∈A(*St+1)q∗(St*+1,*a*′)∣*St=s,A**t=a]。