提交 cb12d29b 编写于 作者: W wizardforcel

2020-12-21 23:26:57

上级 b4368435
......@@ -132,9 +132,9 @@ V(s) = -0.0315
*Q((3,2)下)= Q((3,2),下)+ 0.1(0.3 +1 最大[Q((4,2)作用)]-Q((3,2), 下)*
我们可以说具有向下作用的状态**(3,2)**的值,例如 *Q((3,2),向下)*的值为 **0.8**`Q`表中的]
我们可以说具有向下作用的状态`(3, 2)`的值,例如`Q((3, 2), down)`的值为`Q`表中的`0.8`
状态**(4,2)**的最大值 *Q((4,2),操作)*是什么? 我们仅研究了三个动作(**向上****向下**和右**正确**),因此我们将仅基于这些动作来获取最大值。 (此处,我们将不执行 epsilon 贪婪策略;我们仅选择具有最大值的操作。)
状态`(4, 2)`的最大值`Q((4, 2), op)`是什么? 我们仅研究了三个动作(**向上****向下****向右**),因此我们将仅基于这些动作来获取最大值。 (此处,我们将不执行 epsilon 贪婪策略;我们仅选择具有最大值的操作。)
因此,基于先前的`Q`表,我们可以将值替换为:
......@@ -144,19 +144,19 @@ V(s) = -0.0315
*= 0.83*
因此,我们将 *Q((3,2),down)*的值更新为 *0.83*
因此,我们将`Q((3, 2), down)`的值更新为`0.83`
请记住,在选择要采取的操作时,我们将执行 epsilon-greedy 策略:我们要么探索具有概率 epsilon 的新操作,要么采取具有最大值的概率 1-epsilon。 在更新 Q 值时,我们不执行 epsilon-greedy 策略,我们仅选择具有最大值的操作。
现在我们处于状态(4,2),我们必须执行一个动作。 我们应该执行什么动作? 我们决定基于 epsilon-greedy 策略,要么探索具有概率 epsilon 的新操作,要么选择具有概率 *1-epsilon* 的最佳操作。 假设我们选择概率*1-ε*,然后选择最佳操作。 因此,在**(4,2)**中,向右的操作**具有最大值。 因此,我们将选择**右边的**操作:**
现在我们处于状态`(4, 2)`,我们必须执行一个动作。 我们应该执行什么动作? 我们决定基于 epsilon-greedy 策略,要么探索具有概率 epsilon 的新操作,要么选择具有概率 *1-epsilon* 的最佳操作。 假设我们选择概率`1-ε`,然后选择最佳操作。 因此,在`(4, 2)`中,向右的操作具有最大值。 因此,我们将选择**向右**操作:
![](img/00128.jpeg)
现在我们处于状态**(4,3)**,因为我们对状态**(4,2)**采取了**正确的**动作。 我们如何更新先前状态的值? 像这样:
现在我们处于状态`(4, 3)`,因为我们对状态`(4, 2)`采取了**向右**动作。 我们如何更新先前状态的值? 像这样:
*Q((4,2),right)= Q((4,2),right)+ 0.1(0.3 +1 max [Q((4,3)action)]-Q((4,2) ,右)*
如果您查看下面的`Q`表,对于状态**(4,3)**,我们仅探讨了两个操作(**向上****向下**),因此我们仅根据这些操作得出最大值。 (这里,我们将不执行 epsilon-greedy 策略;我们只选择具有最大值的操作):
如果您查看下面的`Q`表,对于状态`(4, 3)`,我们仅探讨了两个操作(**向上****向下**),因此我们仅根据这些操作得出最大值。 (这里,我们将不执行 epsilon-greedy 策略;我们只选择具有最大值的操作):
*Q((4,2),右)= Q((4,2),右)+ 0.1(0.3 +1 max [(Q(4,3),上),(Q(4,3) ,down)]-Q((4,2),right)*
......@@ -349,7 +349,7 @@ env.close()
![](img/00133.jpeg)
在前面的等式中,您可能会注意到,没有最大的 *Q(s',a')*,就像在 Q 学习中一样。 这里只是 *Q(s',a')*。 我们可以通过执行一些步骤来详细了解这一点。 SARSA 涉及的步骤如下:
在前面的等式中,您可能会注意到,没有最大的`Q(s', a')`,就像在 Q 学习中一样。 这里只是`Q(s', a')`。 我们可以通过执行一些步骤来详细了解这一点。 SARSA 涉及的步骤如下:
1. 首先,我们将`Q`值初始化为一些任意值
2. 我们通过 epsilon-greedy 策略(![](img/00134.jpeg))选择一个动作,然后从一种状态转移到另一种状态
......@@ -359,15 +359,15 @@ env.close()
![](img/00137.jpeg)
现在,我们在状态**(4,2)**下执行了**右**动作之后,就处于**(4,3)**状态。 我们如何更新先前状态**(4,2)**的值? 让我们将 alpha 设为 *0.1* ,将奖励设为 *0.3* 和折扣系数`1`
现在,我们在状态`(4, 2)`下执行了**右**动作之后,就处于`(4, 3)`状态。 我们如何更新先前状态`(4, 2)`的值? 让我们将`alpha`设为`0.1`,将奖励设为`0.3`和折扣系数`1`
![](img/00138.jpeg)
*Q((4,2),右)= Q((4,2),右)+ 0.1(0.3 +1 Q((4,3),动作))-Q((4,2), 右)*
我们如何选择 *Q(4,3),动作*)的值? 在这里,与 Q 学习不同,我们不只是获取 max *(Q(4,3),action)*。 在 SARSA 中,我们使用 epsilon-greedy 策略。
我们如何选择`Q((4, 3), action)`的值? 在这里,与 Q 学习不同,我们不只是获取`max Q((4, 3), action)`。 在 SARSA 中,我们使用 epsilon-greedy 策略。
查看下面的 Q 表。 在状态**(4,3)**中,我们探索了两个动作。 与 Q 学习不同,我们不会直接选择最大动作:
查看下面的 Q 表。 在状态`(4, 3)`中,我们探索了两个动作。 与 Q 学习不同,我们不会直接选择最大动作:
![](img/00139.jpeg)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册