Python 了解mdptoolbox林示例的参数值
我试图了解如何使用,并有几个问题 以下语句中的Python 了解mdptoolbox林示例的参数值,python,numpy,reinforcement-learning,mdptoolbox,Python,Numpy,Reinforcement Learning,Mdptoolbox,我试图了解如何使用,并有几个问题 以下语句中的20是什么意思 P, R = mdptoolbox.example.forest(10, 20, is_sparse=False) 我知道这里的10表示可能的状态数。这里的20是什么意思?它是否表示每个州的操作总数?我想将MDP限制为每个州仅执行2个操作。我怎么能这样做 上面返回的p的形状是(2,10,10)。2在这里代表什么?无论我对总状态和操作使用什么值,您运行的代码始终是正确的,但您使用的是工具箱中的示例 请仔细阅读这本书 在以下代码中: p
20
是什么意思
P, R = mdptoolbox.example.forest(10, 20, is_sparse=False)
我知道这里的10
表示可能的状态数。这里的20
是什么意思?它是否表示每个州的操作总数?我想将MDP限制为每个州仅执行2个操作。我怎么能这样做
上面返回的
p
的形状是(2,10,10)
。2
在这里代表什么?无论我对总状态和操作使用什么值,您运行的代码始终是正确的,但您使用的是工具箱中的示例
请仔细阅读这本书
在以下代码中:
p,R=mdptoolbox.example.forest(10,20,is\u sparse=False)
第二个参数不是MDP的操作参数。对第二个论点的解释如下:
当森林处于最古老的状态并执行“等待”操作时,奖励。默认值:4
在您的情况下,当林处于最旧状态并且执行操作Wait
时,奖励的值作为20
传递
在本例中,林由两个操作管理:'Wait'
和'Cut'
。请参阅此以了解更多详细信息。由于可能有两个动作,因此该函数返回的转移概率矩阵P
的第一维度大小也为2
。无需手动将操作空间维度限制为2
要了解此工具箱的使用,您还应该仔细阅读。您看过文档了吗?@roganjosh是的,我也分享了问题中的链接。但是仍然有混淆。好的,那么这两个动作
等待
和剪切
是每个状态的两个可用动作吗?是的,这两个动作每个状态都可用。当我将状态数保持为2
时,概率矩阵形状是(2,2,2),看起来像。我无法理解此输出,也无法将其与返回的奖励矩阵相关联,该矩阵如下所示。您能解释一下吗?您的奖励矩阵的维度是(state\u size,action\u size)
,即当您在某个状态下采取某项行动时收到的奖励。它给出了(状态i,动作j)
的奖励r(i,j)
的输出。您有2个状态
和2个动作
,因此有(2,2)
奖励矩阵R
。对于状态转换,您将获得维度矩阵(状态大小、状态大小)
。因此,矩阵P
的维度是(动作大小、状态大小、状态大小)
。也就是说,在状态下采取操作后,可能会从状态
变为状态
。