Core

The three basic interface of mushroom_rl are the Agent, the Environment and the Core interface.

  • The Agent is the basic interface for any Reinforcement Learning algorithm.

  • The Environment is the basic interface for every problem/task that the agent should solve.

  • The Core is a class used to control the interaction between an agent and an environment.

We provide the logging functionality with the Logger class. Finally, the MushroomObject interface implements serialization of MushroomRL data on the disk (load/save functionality), forwards a logger down the object tree, and names its objects through the name and full_name methods.

The data collected while the agent interacts with the environment is stored in a Dataset, and the array type used to store it is selected per component through the backend declared in MDPInfo and in the agent constructor; ArrayBackend implements the conversions between them.

Agent

This class implements the functions to manage the agent (e.g. move the agent following its policy).

Environment

Basic interface used by any MushroomRL environment.

MDPInfo

This class is used to store the information of the environment.

VectorizedEnvironment

Basic interface used by any MushroomRL vectorized environment.

MultiprocessEnvironment

Basic interface to run in parallel multiple copies of the same environment.

Core

Implements the functions to run a generic algorithm.

Dataset

Collection of the transitions gathered while an agent interacts with an environment.

VectorizedDataset

Dataset variant for data collected from several environments in parallel.

ExtraInfo

A class to collect and parse step information.

HistoryManager

Object in charge of assembling the per-timestep context fed to the policy, i.e. the stacked window of the most recent entries of one or more streams.

ArrayBackend

Interface for the array backends used across MushroomRL.

MushroomObject

Interface to implement serialization and logging of a MushroomRL object.

Box

This class implements functions to manage continuous states and action spaces.

Discrete

This class implements functions to manage discrete states and action spaces.

Logger

This class implements the logging functionality.