提交 50d9a385 编写于 作者: W wizardforcel

2021-01-23 15:55:28

上级 5c9cb6c7
......@@ -22,7 +22,7 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
* **动作**`A(s), A`
* **转移模型**`T(s, a, s') ~ P(s' | s, a)`
* **奖励**`R(s), R(s, a), R(s, a, s')`
* **策略**![](img/ea08bda0-236b-4417-bbf3-48c6ceb4f985.png) ![](img/b8c1412b-ace7-48e4-bfd3-010b5e5d680f.png)是最佳策略
* **策略**`π(s) -> a[π*]`是最佳策略
对于 MDP,环境是完全可观察的,也就是说,代理在任何时间点所做的任何观察都足以做出最佳决策。 在部分可观察的环境中,代理程序需要一个内存来存储过去的观察结果,以便做出最佳决策。
......@@ -32,9 +32,9 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
简而言之,根据**马尔可夫属性**,为了了解不久的将来的信息(例如,在时间`t + 1`),当前信息在时间`t`很重要。
给定序列![](img/f450c939-685d-43f3-83b6-af42be2bb421.png),马尔可夫一阶说![](img/349504e1-61b2-451f-b85b-7f8937962dfb.png),即![](img/a1588718-a0ed-4ab7-a11a-9895f8491f64.png)仅取决于![](img/920e2c9e-87b2-4b04-a896-e4fb18297d29.png)。 因此,![](img/86055c73-c5e3-49cb-872f-98eccd8a9b07.png)将仅取决于![](img/606ca955-be45-4198-b8b3-fb2955777371.png)。 马尔可夫的第二阶表示![](img/6583c5db-7653-4282-aba5-73a95b23c786.png),即![](img/a1588718-a0ed-4ab7-a11a-9895f8491f64.png)仅取决于![](img/920e2c9e-87b2-4b04-a896-e4fb18297d29.png)和![](img/b76f9e59-3067-4778-98f5-2f9b5db8191e.png)
给定序列`[x[1], ..., x[t]]`,马尔可夫一阶表示`P(x[t] | x[t-1], ..., x[1]) = P(x[t] | x[t-1])`,即`x[t]`仅取决于`x[t-1]`。 因此,`x[t+1]`将仅取决于`x[t]`。 马尔可夫的二阶表示`P(x[t] | x[t-1], ..., x[1]) = P(x[t] | x[t-1], x[t-2])`,即`x[t]`仅取决于`x[t-1]``x[t-2]`
在我们的上下文中,从现在开始,我们将遵循马尔科夫属性的第一顺序。 因此,如果新状态的概率![](img/86055c73-c5e3-49cb-872f-98eccd8a9b07.png)仅取决于当前状态![](img/606ca955-be45-4198-b8b3-fb2955777371.png),则我们可以将任何过程转换为马尔科夫属性,以便当前状态捕获并记住过去的属性和知识 。 因此,根据马尔可夫属性,世界(即环境)被认为是固定的,也就是说,世界中的规则是固定的。
在我们的上下文中,从现在开始,我们将遵循马尔科夫属性的一阶。 因此,如果新状态的概率`x[t+1]`仅取决于当前状态`x[t]`,则我们可以将任何过程转换为马尔科夫属性,以便当前状态捕获并记住过去的属性和知识 。 因此,根据马尔可夫属性,世界(即环境)被认为是固定的,也就是说,世界中的规则是固定的。
# `S`状态集
......@@ -118,13 +118,13 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
其中`t`是完成任务所需的时间。
因此,如果没有无限远景的假设,那么策略的概念就不会是固定不变的,即![](img/9260f0cc-62f7-4bbc-a8d5-7190aceeb245.png),而是![](img/c5714e56-170d-4bac-93e7-f7324a09f957.png)
因此,如果没有无限远景的假设,那么策略的概念就不会是固定不变的,即`π(s) -> a`,而是`π(s, t) -> a`
# 序列的效用
序列的效用是指当代理人经历状态序列时所获得的总报酬。 它表示为![](img/c8a1136e-a890-4b64-b93b-0aa377237852.png),其中![](img/39d5f4c8-1fcb-4251-935c-fe3ea8d928ec.png)表示状态序列。
序列的效用是指当代理人经历状态序列时所获得的总报酬。 它表示为`U(s[0], s[1], s[2], ...)`,其中`s[0], s[1], s[2], ...`表示状态序列。
第二个假设是,如果有两个工具![](img/77076182-0b36-44a5-958f-314ce66cd114.png)和![](img/edc776c0-cee1-4b2a-a2a1-d55b7d0d19bc.png),则两个序列的开始状态都相同,并且
第二个假设是,如果有两个效用`U(s[0], s[1], s[2], ...)``U(s[0], s'[1], s'[2], ...)`,则两个序列的开始状态都相同,并且
![](img/bb59d758-3f56-4513-bc9d-9d1d8292d013.png)
......@@ -132,7 +132,7 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
![](img/0abf959d-3da4-4b0a-9ad2-af3631dd0381.png)
这意味着,如果序列![](img/1e54f33c-3cba-47ef-afd0-9db327b835be.png)的效用大于另一个函数![](img/bf01d123-cb53-4576-a9a4-63316cd62c9f.png),只要两个序列的起始状态都相同,那么没有该起始状态的序列将具有相同的不等式,即![](img/3a2f5ee4-4bfb-40b2-8748-9220ecfdef3f.png)将大于![](img/42ed9c29-de86-4d0a-9e47-6101682cd81f.png)。 这种假设称为偏好的平稳性。
这意味着,如果序列`U(s[0], s[1], s[2], ...)`的效用大于另一个函数`U(s[0], s'[1], s'[2], ...)`,只要两个序列的起始状态都相同,那么没有该起始状态的序列将具有相同的不等式,即`U(s[1], s[2], ...)`将大于`U(s'[1], s'[2], ...)`。 这种假设称为偏好的平稳性。
因此,以下等式满足了偏好的平稳性,
......@@ -141,21 +141,23 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
上式中的求和足以满足我们的假设,但它有两个缺点,如下所示:
* 无限的时间将使求和无限
* 求和的大小写或顺序无异,即![](img/dd5de3a0-ec1c-4a8a-a983-2487e84b32ed.png)和![](img/ad99461c-acca-4fc1-9692-ced3de6523d9.png)的效用值相同,即![](img/5593bd7d-52e1-4c08-878a-86b17e2a622c.png)
* 求和的大小写或顺序无异,即`U(a, b, c)``U(a, c, b)`的效用值相同,即`R(a) + R(b) + R(c)`
因此,我们采用折扣系数![](img/2043a065-fbb7-419d-ab1c-b172dd48e984.png)来实现未来奖励的概念,即延迟奖励。
因此,我们采用折扣系数`γ`来实现未来奖励的概念,即延迟奖励。
![](img/82d34b1d-de39-4e24-99d9-7e440d9b03b4.png),其中![](img/eead3cfb-dd71-41e8-93f3-15012301e919.png)
![](img/82d34b1d-de39-4e24-99d9-7e440d9b03b4.png)
让我们考虑所有![](img/c82bd6bf-3f29-40df-97b2-399d9e5f83d0.png),即在给定特定环境中来自不同状态的奖励,![](img/ef4c53bb-fa95-4d19-911c-546090c7b82e.png)是最大值,然后
其中`0 <= γ < 1`
让我们考虑所有`R(s[t])`,即在给定特定环境中来自不同状态的奖励,`R_max`是最大值,然后
![](img/108100d2-dded-4635-afa3-4246591385cb.png)
怎么样? 让我们算出这个上限,
由于![](img/d2c3be44-ecec-4b07-8903-a51088b9075a.png)
由于`R(s[t]) <= R_max`
因此,![](img/a526e87c-7118-4c0f-85e4-28f61f1a1b63.png)
因此,`γ^t R(s[t]) <= γ^t R_max`
因此,
......@@ -179,17 +181,17 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
# 贝尔曼方程
由于最佳![](img/d4c049e6-8b38-4db6-a8d6-54876d037923.png)策略是使预期收益最大化的策略,因此,
由于最佳`π*`策略是使预期收益最大化的策略,因此,
![](img/2ccc6145-78d9-4ba3-a12e-19b454d98f69.png)
其中![](img/74b40efa-128c-4241-b58d-ee317862e8d7.png)表示从状态序列获得的报酬的期望值,代理观察其是否遵循![](img/64edc6e8-2ff9-4cf7-89db-494345407621.png)策略。 因此,![](img/04d5cea0-7a4c-44bf-bbae-df26ebdc587a.png)输出具有最高预期奖励的![](img/151114d7-cb43-46c6-84d5-11a15df2050e.png)策略。
其中`E[...]`表示从状态序列获得的报酬的期望值,代理观察其是否遵循`π`策略。 因此,`argmax[π]`输出具有最高预期奖励的`π`策略。
同样,我们也可以计算状态为的策略效用,也就是说,如果我们处于`s`状态,则给定![](img/97497aa9-7dfa-470c-9a95-40fa91cc8588.png)策略,则, `s`状态的![](img/f7c447e9-5546-4220-9ec5-32ed98ba141b.png)策略,即![](img/9c937080-8ae6-47a7-919b-4778f5046829.png)将是从该状态开始的预期收益:
同样,我们也可以计算状态为的策略效用,也就是说,如果我们处于`s`状态,则给定`π`策略,则, `s`状态的`π`策略,即`U[π](s)`将是从该状态开始的预期收益:
![](img/c99b8ca1-0cfb-419a-bc57-c9de97773b37.png)
由于延迟奖励的概念,状态即![](img/f61a7258-3d34-4a82-80ca-b008518dc4fa.png)的立即奖励与![](img/390a601f-6abc-45b2-b308-50c8a6990b74.png)状态的效用(即![](img/e632b1a4-0b87-42c8-945f-59f53180d113.png)状态的最佳策略的效用)不同。 从现在开始,![](img/c567e502-f780-4e1d-9a84-d161d4a14faa.png)状态的效用将指该状态(即![](img/f0fb533d-d74a-4e17-b06e-98e4b627529f.png)状态)的最佳策略的效用
由于延迟奖励的概念,状态的立即奖励`R(s)`与状态的效用`U(s)`(即状态的最佳策略的效用`U[π*](s)`)不同。 从现在开始,状态的效用`U(s)`将指该状态的最佳策略的效用(即`U[π*](s)`
此外,最佳策略也可以被视为最大化预期效用的策略。 因此,
......@@ -197,11 +199,11 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
其中,`T(s, a, s')`是转移概率,即`P(s' | s, a)`;在对`s`状态采取`a`动作后,`U(s')`是新着陆状态的效用。
![](img/c7961616-4973-4920-969e-2ac20e4661b1.png)指的是针对特定行动采取的所有可能的新状态结果的总和,然后无论哪个行动给出了![](img/bde26e3c-33c6-446d-90be-164102224f37.png)的最大值,该最大值被认为是最优策略的一部分,因此, 状态由以下 **贝尔曼方程**给出,
`Σ[s'] T(s, a, s')U(s')`指的是针对特定行动采取的所有可能的新状态结果的总和,然后无论哪个行动给出了`Σ[s'] T(s, a, s')U(s')`的最大值,该最大值被认为是最优策略的一部分,因此, 状态由以下 **贝尔曼方程**给出,
![](img/0ef93e7c-5cc5-45ab-8baf-db2a07bd9e29.png)
其中,![](img/adb4cb12-b671-4248-8b74-0dc2b334b995.png)是即时奖励,![](img/c41ab863-e019-4bc7-ad8d-7530f9e0190b.png)是来自未来的奖励,也就是说,如果采取行动`a`,代理可以从给定的`s`状态到达的`s'`状态的贴现效用。
其中,`R(s)`是即时奖励,`max[a] Σ[s'] T(s, a, s')U(s')`是来自未来的奖励,也就是说,如果采取行动`a`,代理可以从给定的`s`状态到达的`s'`状态的贴现效用。
# 解决贝尔曼方程来找到策略
......@@ -209,7 +211,7 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
![](img/5051739f-0788-416d-9182-38ae2169ffca.png)
我们发现给出了`n`个状态; 因此,我们将拥有`n`方程,而`n`未知,但是![](img/324c08e6-eeae-44a3-addd-117c9113646d.png)函数使其变为非线性。 因此,我们不能将它们作为线性方程式求解。
我们发现给出了`n`个状态; 因此,我们将拥有`n`方程,而`n`未知,但是`max[a]`函数使其变为非线性。 因此,我们不能将它们作为线性方程式求解。
因此,为了解决:
......@@ -239,14 +241,14 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
* 因此,绿色和红色状态是终端状态,进入其中一个状态,游戏结束。 如果座席遇到绿色状态(即进球状态),则座席获胜;如果他们进入红色状态,则座席将输掉比赛。
* ![](img/c5ef3106-3865-42ac-b31d-00932fc9bdef.png),![](img/42d4df8a-cfdd-4178-b0f2-bd11a5ae69d4.png)(即,对除`G``B`状态之外的所有状态的奖励是-0.04),![](img/b4354f1f-4615-42ee-b355-e822c11f4a12.png)(即,第一个工具 除`G``B`状态外,时间步长为 0
* `γ = 1/2``R(s) = -0.04`(即,对除`G``B`状态之外的所有状态的奖励是 -0.04),`U[0](s) = 0`(即,第一个时间步长的效用为 0,除`G``B`状态外)
* 如果沿期望的方向前进,则过渡概率`T(s, a, s')`等于 0.8; 否则,如果垂直于所需方向,则各为 0.1。 例如,如果操作是`UP`,则概率为 0.8,代理会`UP`,但概率为 0.1 时,它会`RIGHT`,而 0.1 则为`LEFT`
问题:
1. 在时间步骤 1 找到![](img/a57bc045-8c4f-4a08-9b91-8834e66133b0.png) X 状态的工具![](img/a57bc045-8c4f-4a08-9b91-8834e66133b0.png),也就是说,代理将进行一次迭代
2. 同样,找到![](img/9f997dda-7c3a-4217-b267-9b18ddab28f7.png)
1. 找到`U[1](X)`,时间步骤 1 的`X`状态的效用,也就是说,代理将进行一次迭代
2. 同样,找到`U[2](X)`
解:
......@@ -300,13 +302,13 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
![](img/393b0f69-fd8a-4298-8b2a-cb478a41e930.png)
因此,![](img/21200f3f-c26e-4d12-b8fa-c9590eb78fe4.png),其中![](img/cc220011-8814-4af3-a672-eeca86ecbad9.png)和![](img/3838706a-7406-4c4c-895e-956b887dea52.png)
因此,`U[1](X) = -0.04 + 0.5 * 0.8 = 0.36`,其中`R(X) = -0.04``γ = 1/2 = 0.5`
类似地,计算![](img/b2c995ad-7793-43fc-a374-cccbaae4e036.png)和![](img/27395076-c4bc-49ac-abe7-fc2be8010eba.png),我们得到![](img/6c520870-cb18-443a-920f-d347568a1c43.png)和![](img/93478f79-4c03-4296-a5d1-12890a0896d5.png)
类似地,计算`U[1](A)``U[1](C)`,我们得到``R(X) = -0.04```γ = 1/2 = 0.5`
由于![](img/daf8c8a9-a0f0-4821-9d27-6a765ac1de92.png)
由于`U[1](X) = 0.36, U[1](A) = -0.04, U[1](C) = -0.04, U[1](G) = 1, U[1](B) = -1`
![](img/bc2a8cef-a5a1-439c-a602-9d309920ca8d.png)
![](img/bc2a8cef-a5a1-439c-a602-9d309920ca8d.png)
`R(X) = -0.04`
......@@ -354,23 +356,23 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
![](img/7b5c01bd-c97a-4b98-a1ca-2b518675d6bd.png)
因此,![](img/6e2a443f-d45d-4ac7-8726-44a46f2aafa6.png),其中![](img/cc220011-8814-4af3-a672-eeca86ecbad9.png)和![](img/3838706a-7406-4c4c-895e-956b887dea52.png)
因此,`U[2](X) = -0.04 + 0.5 * 0.832 = 0.376`,其中`R(X) = -0.04``γ = 1/2 = 0.5`
因此,上述问题的答案是:
1. ![](img/c103eddd-42e3-46b0-9876-198a24cbdc2a.png)
2. ![](img/66e20b1e-cbdf-4812-bc22-3a5f2b88fe54.png)
1. `U[1](X) = 0.36`
2. `U[2](X) = 0.376`
# 策略迭代
通过迭代策略并更新策略本身(而不是价值)直到策略收敛到最优值以获得最优效用的过程称为**策略迭代**。 策略迭代的过程如下:
* 从随机策略![](img/fca76e00-947b-4a07-a73c-f8285f0edf6a.png)开始
* 对于迭代步骤`t`中给定的![](img/576f03de-37f8-459b-bc54-a64f978442b8.png)策略,请使用以下公式计算![](img/eb38c1ca-0e24-46f9-a0e7-2379459a8b01.png)
* 从随机策略`π[0]`开始
* 对于迭代步骤`t`中给定的`π[t]`策略,请使用以下公式计算`U[t] = U[t]^π`
![](img/41e3cc56-1bb4-4874-b6db-8246f4054d3e.png)
* Improve the ![](img/b6ef1605-555e-4f93-9792-da7da795c1c5.png) policy by
* 根据以下公式改进`π[t+1]`
![](img/1c9d9376-7286-498e-b097-c6aa03197556.png)
......@@ -406,7 +408,7 @@ POMDP 难以解决,无法实现最佳解决方案。
![](img/35b5669e-32a7-4c9f-ad01-833abdb38255.png)
其中![](img/0e0529de-10f6-4b03-a578-8d81e386f29f.png)和![](img/f70d2c68-66e5-4a39-aadb-34b1af9529cb.png)。 从而,
其中`p(z | b, a, s') = O(s', z)``p(s' | s, b, a) = T(s, a, s')`。 从而,
![](img/628f5062-7f82-4c25-b541-b1e76ae81d96.png)
......@@ -414,9 +416,13 @@ POMDP 难以解决,无法实现最佳解决方案。
POMDP 中的值迭代基本上是从信念 MDP 获得的无限状态空间上的值迭代。
`t = 0`时,![](img/c22745a1-9dba-415d-8af4-0b69ae458763.png)
`t = 0`时,`V[0](b) = 0`
`t > 0`时,
![](img/d9d073a1-0957-434c-962a-fc558a1bec1c.png)
`t > 0`,![](img/d9d073a1-0957-434c-962a-fc558a1bec1c.png)处,其中`b'``b'(s') = p(s' | b, a, z)`,即`(b, a, z)``R(b, a)`的状态估计是对信念状态的预期奖励,如下所示:
其中`b'``b'(s') = p(s' | b, a, z)`,即`(b, a, z)``R(b, a)`的状态估计是对信念状态的预期奖励,如下所示:
![](img/76b35625-61ca-47bf-b1f7-a0b13e381607.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册