XWorld - 强化学习的 C ++ / Python 模拟器程序包


Apache-2.0
跨平台
C/C++

软件简介

XWorld 是一个用于强化学习的 C ++ / Python 模拟器程序包,该存储库包含了用于强化学习研究的模拟器集合。

XWorld 具有 teacher 基础架构,该基础架构被实现为多个有限状态机(Finite State
Machines,FSM)的调度程序。这样的想法是,在给定环境的情况下,teacher 可以提出从任务集中抽样(通过一些启发式方法)的任务。制定为 FSM
的每个任务都有多个阶段,teacher
在不同阶段执行不同的任务。从一个阶段到另一个阶段的过渡取决于环境状态,例如,代理处于空闲状态还是它是否已实现目标。每个阶段都会返回几件事,包括下一阶段和
teacher 的动作。目前,该团队将语言(字符串)定义为 teacher 的唯一行为。但是,teacher
可以在每个阶段更改环境(例如,添加/删除对象,更改地图大小等)。

上图对架构进行了说明。其目的是让用户灵活地编写简单的 Python 脚本来配置环境映射和任务。

当前,该 teacher 仅合并到 XWorld2D 和 XWorld3D 中。

要求

  • 编译器:GCC 4.8 或更高
  • CMake:CMake 3.0 或以上
  • Python:Python 2.7

依存关系

在构建 XWorld 之前,必须安装以下软件。

BoostGlog
GFlags
GTest
Python

在 Ubuntu 14.04 和 16.04 中,您可以执行

sudo apt-get install libboost-all-dev libgflags-dev libgoogle-glog-dev libgtest-dev python-dev