如何列出OpenAIgym中每个状态可能的后继状态? (仅限普通 MDP)

问题描述 投票:0回答:2

有没有一种方法可以迭代每个状态,强制环境进入该状态,然后走一步然后使用返回的“info”字典来查看所有可能的后继状态是什么?

或者更简单的方法来恢复每个状态的所有可能的后继状态,也许隐藏在某个地方?

我在网上看到一个叫MuJoKo或类似的东西有一个set_state函数,但我不想创建一个新的环境,我只想设置openAigym已经提供的状态。

上下文:尝试实现拓扑顺序值迭代,这需要制作一个图,其中每个状态都具有到任何操作可以将其转换到的任何状态的边缘。

我意识到显然在某些游戏中没有提供,但是对于那些有的游戏,有办法吗?

(除了运行游戏并采取我尚未采取的每一步的蛮力方法,直到我到达所有状态并看到所有内容,这取决于游戏可能永远需要)

这是我第一次使用OpenAigym,所以请尽可能详细地解释。例如,我不知道 Wrappers 是什么。

谢谢!

python machine-learning artificial-intelligence reinforcement-learning openai-gym
2个回答
2
投票

不,OpenAIgym 没有提供所有可能的后继状态的方法。一般来说,这就是使用 OpenAIgym 创建算法的目的。您正在训练代理以了解其行为的结果是什么;如果它能够展望未来并知道其行动的结果是什么,那就有点违背了目的。

您描述的蛮力方法可能是完成您所描述的内容的最简单方法。


0
投票

只是提出一些想法:

  • 学习一个世界模型(假设给你解决你的问题)
  • 加载经过训练的代理并使用该代理探索+利用来获取所有状态[根据 Q-learning,如果您经常从模拟器中采样,您可能会探索整个状态空间]
  • gym 为状态向量中的每个元素提供高值和低值。在该范围内采样(相当于从状态分布中采样)。
© www.soinside.com 2019 - 2024. All rights reserved.