我正在尝试创建一个简单的 2D 网格世界 Openai Gym 环境,代理从网格世界的任何地方前往终端单元。例如,在 5x5 网格世界中,X 是当前代理位置,O 是代理前往的终端单元。
.....
.....
..X..
.....
....O
我的动作空间被定义为离散值 [0,4),分别代表上、左、下和右。并且,观察空间是一个 1D 框,表示代理在网格世界中的当前位置,例如 [12](索引从 0 开始到 size*size-1)。我想知道定义观察空间的方式之间有什么区别。例如,除了我目前的定义,同一环境的观察空间可以定义如下,仅举几例。
- i 的离散值,其中 i 代表 agent 的当前位置。
- 一个除代理当前位置为 1 外全为零的二维矩阵。
- 也许其他人在稳定基线算法或其他方面有什么不同?