bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType > Class Template Referenceabstract

#include <gymnasium_vector_env_base.h>

Inheritance diagram for bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >:
Collaboration diagram for bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >:

Public Types

typedef GymnasiumEnvBase< VectorTimeStepType, SpaceType >::base_type base_type
 The base type.
 
typedef base_type::time_step_type time_step_type
 The time step type we return every time a step in the environment is performed.
 
typedef base_type::state_space_type state_space_type
 The type describing the state space for the environment.
 
typedef base_type::action_space_type action_space_type
 The type of the action space for the environment.
 
typedef base_type::action_type action_type
 The type of the action to be undertaken in the environment.
 
typedef base_type::state_type state_type
 The type of the state.
 
- Public Types inherited from bitrl::envs::gymnasium::GymnasiumEnvBase< VectorTimeStepType, SpaceType >
typedef EnvBase< VectorTimeStepType, 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 void make (const std::string &version, const std::unordered_map< std::string, std::any > &options, const std::unordered_map< std::string, std::any > &reset_options)=0
 Construct the environment instance.
 
uint_t get_n_envs () const noexcept
 Returns the number of environments.
 
void reset_if_any_done (bool flag) noexcept
 
bool get_reset_if_any_done () const noexcept
 
- Public Member Functions inherited from bitrl::envs::gymnasium::GymnasiumEnvBase< VectorTimeStepType, SpaceType >
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.
 
virtual time_step_type reset ()=0
 Import the reset() overloads from the base class.
 
uint_t n_copies () const
 
network::RESTRLEnvClientget_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.
 
- Public Member Functions inherited from bitrl::envs::EnvBase< TimeStepType, SpaceType >
virtual ~EnvBase ()=default
 Virtual destructor.
 
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 >
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

 GymnasiumVecEnvBase (network::RESTRLEnvClient &api_server, const std::string &name)
 Constructor.
 
 GymnasiumVecEnvBase (const GymnasiumVecEnvBase &other)
 
- Protected Member Functions inherited from bitrl::envs::gymnasium::GymnasiumEnvBase< VectorTimeStepType, SpaceType >
 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_typeget_current_time_step_ () noexcept
 Mutable access to the current time step.
 
const time_step_typeget_current_time_step_ () const noexcept
 Read-only access to the current time step.
 

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.
 
- Protected Attributes inherited from bitrl::envs::gymnasium::GymnasiumEnvBase< VectorTimeStepType, SpaceType >
network::RESTRLEnvClientapi_server_
 Server wrapper handling communication with remote Gymnasium environment.
 

Member Typedef Documentation

◆ action_space_type

template<typename VectorTimeStepType , typename SpaceType >
typedef base_type::action_space_type bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::action_space_type

The type of the action space for the environment.

◆ action_type

template<typename VectorTimeStepType , typename SpaceType >
typedef base_type::action_type bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::action_type

The type of the action to be undertaken in the environment.

◆ base_type

template<typename VectorTimeStepType , typename SpaceType >
typedef GymnasiumEnvBase<VectorTimeStepType,SpaceType>::base_type bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::base_type

The base type.

◆ state_space_type

template<typename VectorTimeStepType , typename SpaceType >
typedef base_type::state_space_type bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::state_space_type

The type describing the state space for the environment.

◆ state_type

template<typename VectorTimeStepType , typename SpaceType >
typedef base_type::state_type bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::state_type

The type of the state.

◆ time_step_type

template<typename VectorTimeStepType , typename SpaceType >
typedef base_type::time_step_type bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::time_step_type

The time step type we return every time a step in the environment is performed.

Constructor & Destructor Documentation

◆ GymnasiumVecEnvBase() [1/2]

template<typename VectorTimeStepType , typename SpaceType >
bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::GymnasiumVecEnvBase ( network::RESTRLEnvClient api_server,
const std::string &  name 
)
protected

Constructor.

◆ GymnasiumVecEnvBase() [2/2]

template<typename VectorTimeStepType , typename SpaceType >
bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::GymnasiumVecEnvBase ( const GymnasiumVecEnvBase< VectorTimeStepType, SpaceType > &  other)
protected

Member Function Documentation

◆ get_n_envs()

template<typename VectorTimeStepType , typename SpaceType >
uint_t bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::get_n_envs ( ) const
inlinenoexcept

Returns the number of environments.

◆ get_reset_if_any_done()

template<typename VectorTimeStepType , typename SpaceType >
bool bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::get_reset_if_any_done ( ) const
inlinenoexcept

◆ make()

template<typename VectorTimeStepType , typename SpaceType >
void bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::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 
)
pure virtual

Construct the environment instance.

Parameters
versionVersion string used to control environment variant
make_optionsKey-value configuration options for environment creation.
reset_optionsKey-value configuration how the environment should be reset
Note
Derived classes should use set_version_() and set_make_options_() internally. They may store selected options for later use.

Implements bitrl::envs::EnvBase< TimeStepType, SpaceType >.

Implemented in bitrl::envs::gymnasium::AcrobotV.

◆ reset_if_any_done()

template<typename VectorTimeStepType , typename SpaceType >
void bitrl::envs::gymnasium::GymnasiumVecEnvBase< VectorTimeStepType, SpaceType >::reset_if_any_done ( bool  flag)
inlinenoexcept

The documentation for this class was generated from the following file: