|
bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
|
Base class for all Gymnasium environment wrappers. More...
#include <gymnasium_env_base.h>


Public Types | |
| typedef EnvBase< TimeStepType, SpaceType > | base_type |
| Base environment type alias. | |
| typedef base_type::time_step_type | time_step_type |
| Time step returned at each environment step. | |
| typedef base_type::state_space_type | state_space_type |
| Type describing the observation/state space of the environment. | |
| typedef base_type::action_space_type | action_space_type |
| Type describing the action space of the environment. | |
| typedef base_type::action_type | action_type |
| Type representing a valid action to execute. | |
| typedef base_type::state_type | state_type |
| Type representing a state/observation returned by the environment. | |
Public Types inherited from bitrl::envs::EnvBase< TimeStepType, SpaceType > | |
| typedef TimeStepType | time_step_type |
| Alias for the type returned when stepping the environment. | |
| typedef SpaceType::state_space | state_space_type |
| Type describing the environment state space. | |
| typedef SpaceType::state_type | state_type |
| Type describing an individual state. | |
| typedef SpaceType::action_space | action_space_type |
| Type describing the environment action space. | |
| typedef SpaceType::action_type | action_type |
| Type representing an individual action. | |
Public Member Functions | |
| virtual | ~GymnasiumEnvBase () |
| Virtual destructor. | |
| virtual bool | is_alive () const |
| Check whether the environment is still alive/connected. | |
| virtual void | close () override |
| Close the environment on the server and release any resources. | |
| virtual time_step_type | reset () override |
| Reset the environment to an initial state using the reset options specified during make. | |
| uint_t | n_copies () const |
| network::RESTRLEnvClient & | get_api_server () const |
| Retrieve the REST API wrapper instance used for communication. | |
| std::string | get_url () const |
| Get the full URL for this environment endpoint on the server. | |
| virtual time_step_type | reset ()=0 |
| Import the reset() overloads from the base class. | |
Public Member Functions inherited from bitrl::envs::EnvBase< TimeStepType, SpaceType > | |
| virtual | ~EnvBase ()=default |
| Virtual destructor. | |
| virtual void | make (const std::string &version, const std::unordered_map< std::string, std::any > &make_options, const std::unordered_map< std::string, std::any > &reset_options)=0 |
| Construct the environment instance. | |
| virtual time_step_type | step (const action_type &action)=0 |
| Perform one step in the environment using an action. | |
| const std::unordered_map< std::string, std::any > & | make_options () const noexcept |
| Access the configuration options provided to make(). | |
| const std::unordered_map< std::string, std::any > & | reset_options () const noexcept |
| Access the configuration options provided to make(). | |
| template<typename T > | |
| T | read_option (const std::string &op_name) const |
| Read a specific make() option and cast it to the requested type. | |
| std::string | idx () const noexcept |
| Get the id identifying this environment within a simulation batch. The id is valid only if make has been called. | |
| bool | is_created () const noexcept |
| Check if make() has successfully initialized the environment. | |
| std::string | env_name () const noexcept |
| Get the name of this environment instance. | |
| std::string | version () const noexcept |
| Get the environment version set during make(). | |
Protected Member Functions | |
| GymnasiumEnvBase (network::RESTRLEnvClient &api_server, const std::string &name) | |
| Constructor. | |
| GymnasiumEnvBase (const GymnasiumEnvBase &) | |
| Copy constructor. | |
| virtual time_step_type | create_time_step_from_response_ (const nlohmann::json &response) const =0 |
| Build a TimeStepType instance from a server JSON response. | |
Protected Member Functions inherited from bitrl::envs::EnvBase< TimeStepType, SpaceType > | |
| EnvBase (const std::string &idx=bitrl::consts::INVALID_STR, const std::string &name=bitrl::consts::INVALID_STR) | |
| Constructor (protected — for subclassing only). | |
| EnvBase (const EnvBase &) | |
| Copy constructor. | |
| void | set_version_ (const std::string &version) noexcept |
| Set internal version string. | |
| void | set_idx_ (const std::string &idx) noexcept |
| Set the id of the environment. | |
| void | set_make_options_ (const std::unordered_map< std::string, std::any > &options) noexcept |
| Store options for future access. | |
| void | set_reset_options_ (const std::unordered_map< std::string, std::any > &options) noexcept |
| Store reset options for future access. | |
| void | invalidate_is_created_flag_ () noexcept |
| Mark environment as not created. | |
| void | make_created_ () noexcept |
| Mark environment creation as successful. | |
| time_step_type & | get_current_time_step_ () noexcept |
| Mutable access to the current time step. | |
| const time_step_type & | get_current_time_step_ () const noexcept |
| Read-only access to the current time step. | |
Protected Attributes | |
| network::RESTRLEnvClient * | api_server_ |
| Server wrapper handling communication with remote Gymnasium environment. | |
Additional Inherited Members | |
Static Public Attributes inherited from bitrl::envs::EnvBase< TimeStepType, SpaceType > | |
| static const uint_t | DEFAULT_ENV_SEED = 42 |
| Default seed used in reset() if none provided. | |
Base class for all Gymnasium environment wrappers.
This template wraps a remote Gymnasium-compatible environment served through a REST API. It extends EnvBase and provides the common logic for environment reset, closing, and time-step handling via HTTP communication.
| TimeStepType | The type representing one interaction step with the environment. |
| SpaceType | The type describing the observation and action spaces. |
| typedef base_type::action_space_type bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::action_space_type |
Type describing the action space of the environment.
| typedef base_type::action_type bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::action_type |
Type representing a valid action to execute.
| typedef EnvBase<TimeStepType, SpaceType> bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::base_type |
Base environment type alias.
| typedef base_type::state_space_type bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::state_space_type |
Type describing the observation/state space of the environment.
| typedef base_type::state_type bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::state_type |
Type representing a state/observation returned by the environment.
| typedef base_type::time_step_type bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::time_step_type |
Time step returned at each environment step.
|
virtual |
Virtual destructor.
|
protected |
Constructor.
| api_server | A reference to the REST server wrapper handling communication. |
| cidx | Index of this environment instance within a simulation. |
| name | Name of the environment. |
|
protected |
Copy constructor.
|
overridevirtual |
Close the environment on the server and release any resources.
Implements bitrl::envs::EnvBase< TimeStepType, SpaceType >.
|
protectedpure virtual |
Build a TimeStepType instance from a server JSON response.
Derived classes must parse the Gymnasium response and convert it into a fully constructed time step object.
| response | JSON payload returned by the server. |
Implemented in bitrl::envs::gymnasium::BlackJack, bitrl::envs::gymnasium::lunar_lander_detail::_LunarLanderEnv< TimeStepType, SpaceType >, bitrl::envs::gymnasium::lunar_lander_detail::_LunarLanderEnv< TimeStep< std::vector< real_t > >, ContinuousVectorStateContinuousVectorActionEnv< 8, 2, real_t, real_t > >, bitrl::envs::gymnasium::lunar_lander_detail::_LunarLanderEnv< TimeStep< std::vector< real_t > >, ContinuousVectorStateDiscreteActionEnv< 8, 4, 0, real_t > >, bitrl::envs::gymnasium::Acrobot, bitrl::envs::gymnasium::CartPole, bitrl::envs::gymnasium::MountainCar, bitrl::envs::gymnasium::Pendulum, bitrl::envs::gymnasium::AcrobotV, bitrl::envs::gymnasium::CliffWorld, bitrl::envs::gymnasium::FrozenLake< side_size >, and bitrl::envs::gymnasium::Taxi.
|
inline |
Retrieve the REST API wrapper instance used for communication.
| std::string bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::get_url | ( | ) | const |
Get the full URL for this environment endpoint on the server.
|
virtual |
Check whether the environment is still alive/connected.
| uint_t bitrl::envs::gymnasium::GymnasiumEnvBase< TimeStepType, SpaceType >::n_copies | ( | ) | const |
Get the number of copies on the server for this environment
|
overridevirtual |
Reset the environment to an initial state using the reset options specified during make.
Implements bitrl::envs::EnvBase< TimeStepType, SpaceType >.
|
virtual |
Import the reset() overloads from the base class.
Implements bitrl::envs::EnvBase< TimeStepType, SpaceType >.
|
protected |
Server wrapper handling communication with remote Gymnasium environment.