如何在 OpenAI 健身房中传递元组列表作为操作空间



从头开始制作OpenAI Gym环境时,必须定义一个动作空间。这是通过数据包"空间"中自己的"数据结构"完成的。有几种不同类型的空间,如盒子、离散等。我有一个元组列表,我想用作操作空间。有没有办法做到这一点?

我本可以使用 spaces.Box(low=0, high=1, shape(4,12), dtype=np.int),但这增加了很多非法行为。我对使用例如空格的解决方案持开放态度。框,然后禁止/删除非法操作,但最好只是插入我预制的元组列表。

OpenAI Gym有一个元组动作空间。用法示例:

from gym import spaces
action_space = spaces.Tuple((
        spaces.Discrete(9),
        spaces.Discrete(5)))