XWorld 是一个用于强化学习的 C ++ / Python 模拟器程序包,该存储库包含了用于强化学习研究的模拟器集合。
XWorld 具有 teacher 基础架构,该基础架构被实现为多个有限状态机(Finite State Machines,FSM)的调度程序。这样的想法是,在给定环境的情况下,teacher 可以提出从任务集中抽样(通过一些启发式方法)的任务。制定为 FSM 的每个任务都有多个阶段,teacher 在不同阶段执行不同的任务。从一个阶段到另一个阶段的过渡取决于环境状态,例如,代理处于空闲状态还是它是否已实现目标。每个阶段都会返回几件事,包括下一阶段和 teacher 的动作。目前,该团队将语言(字符串)定义为 teacher 的唯一行为。但是,teacher 可以在每个阶段更改环境(例如,添加/删除对象,更改地图大小等)。
上图对架构进行了说明。其目的是让用户灵活地编写简单的 Python 脚本来配置环境映射和任务。
当前,该 teacher 仅合并到 XWorld2D 和 XWorld3D 中。
在构建 XWorld 之前,必须安装以下软件。
Boost, Glog, GFlags, GTest 和 Python
在 Ubuntu 14.04 和 16.04 中,您可以执行
sudo apt-get install libboost-all-dev libgflags-dev libgoogle-glog-dev libgtest-dev python-dev