DistractiveEnv#

class curiosity_gym.envs.distractiveenv.DistractiveEnv(agentPOV: AgentPOV | str = 'global', render_mode: str | None = None, window_width: int = 1200)#

Defines the structure of the curiosity-gym distractive rewards environment.

It consists of two corridors. The left corridor contains small but frequent rewards, while the right corridor contains a larger but sparse reward. The environment is designed to test the agent’s capability of escaping local reward optima (represented by the left corridor) to find a global sparse optimum (represented by the right corridor). The maximum step count is set to 50, so that the agent can not obtain rewards from both corridors within one episode.

Parameters:
  • agentPOV (AgentPOV | str, optional) – Object or string defining the observations and action spaces of the RL agent. Valid string values are ‘global’, ‘local_W’ and ‘forward_L_W’, where W and L are integers defining the width and length of the respective POV. By default GlobalView.

  • render_mode (str | None, optional) – Render mode in which the environment is run. If render mode is human, the environment will be rendered in PyGame. By default None.

  • window_width (int, optional) – Horizontal size of the PyGame window in human render mode. By default 1200.

../_images/DistractiveEnv_optimal.gif

Example of a DistractiveEnv episode with an optimal policy.#

Methods

check_task

Check whether the agent has reached the target at the end of the right corridor.

close

Clean up the environment.

find_object

Get non-wall grid object at given position.

get_object_ids

Get ids for all grid object types.

get_state

Get the current state of the environment.

get_wrapper_attr

Gets the attribute name from the environment.

has_wrapper_attr

Checks if the attribute name exists in the environment.

heatmap

Display heatmap of position counts of the agent.

init_render

Initialise render objects.

load_walls

Convert array of positions to wall objects for environment.

render

Compute the render frames as specified by render_mode.

reset

Reset the environment to an initial internal state.

set_wrapper_attr

Sets the attribute name on the environment with value.

simulate

Simulate the state of the environment if a given action were taken.

step

Run one timestep of the environment’s dynamics using the agent actions.

Attributes

metadata

Metadata of the environment.

np_random

Returns the environment's internal _np_random that if not set will initialise with a random seed.

np_random_seed

Returns the environment's internal _np_random_seed that if not set will first initialise with a random int as seed.

render_mode

Render mode in which the environment is run.

spec

unwrapped

Returns the base non-wrapped environment.

reward_range

Range of rewards that can be obtained within one episode.

action_space

Space of possible actions a RL agent can choose from.

observation_space

Space of possible observations returned by the environment.