功能环境

class gymnasium.functional.FuncEnv(options: dict[str, Any] | None = None)[源代码]

功能性环境的基础类(模板)。

此API旨在以无状态方式使用,环境状态被显式传递。尽管如此,这里没有任何内容阻止用户有状态地使用环境,只是不推荐这样做。一个功能性环境由以下函数组成(在这种情况下,是实例方法):

  • initial: 返回 POMDP 的初始状态

  • 观察: 返回给定状态下的观察结果

  • transition: 在给定状态下采取行动后返回下一个状态

  • reward: 返回给定 (state, action, next_state) 元组的奖励

  • terminal: 返回给定状态是否为终止状态

  • state_info: 可选,返回一个关于给定状态的信息字典

  • step_info: 可选,返回一个关于给定 (状态, 动作, 下一个状态) 元组的字典信息

基于类的结构用于允许在类中定义环境常量,然后在代码中通过名称使用它们。

目前,这主要是用于内部使用。这个API可能会发生变化,但我们计划在未来完善它,并正式向终端用户公开。

初始化环境常量。

transform(func: Callable[[Callable], Callable])[源代码]

功能转换。

initial(rng: Any, params: Params | None = None) StateType[源代码]

使用随机数生成器生成环境的初始状态。

transition(state: StateType, action: ActType, rng: Any, params: Params | None = None) StateType[源代码]

使用动作和随机数生成器更新状态(转换)。

observation(state: StateType, params: Params | None = None) ObsType[源代码]

为环境的一个给定状态生成一个观察结果。

reward(state: StateType, action: ActType, next_state: StateType, params: Params | None = None) RewardType[源代码]

计算从 stateactionnext_state 的给定转换的奖励。

terminal(state: StateType, params: Params | None = None) TerminalType[源代码]

返回状态是否为最终的终止状态。

state_info(state: StateType, params: Params | None = None) dict[源代码]

关于单个状态的信息字典。

transition_info(state: StateType, action: ActType, next_state: StateType, params: Params | None = None) dict[源代码]

关于完整过渡的 info 字典。

render_init(**kwargs) RenderStateType[源代码]

初始化渲染状态。

render_image(state: StateType, render_state: RenderStateType, params: Params | None = None) tuple[RenderStateType, ndarray][源代码]

显示状态。

render_close(render_state: RenderStateType)[源代码]

关闭渲染状态。

将基于 Jax 的功能性环境转换为标准环境