bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp > Class Template Referencefinal

MCTreeSearchBase. More...

#include <mc_tree_search_solver.h>

Inheritance diagram for cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >:
Collaboration diagram for cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >:

Public Types

typedef EnvTp env_type
 env_type
 
typedef NodeTp node_type
 node_type
 
typedef env_type::time_step_type time_step_type
 The time step type.
 
- Public Types inherited from cuberl::rl::algos::RLSolverBase< EnvTp >
typedef EnvTp env_type
 

Public Member Functions

 MCTSSolver (MCTreeSearchConfig config)
 MCTreeSearchBase.
 
virtual void actions_before_training_begins (env_type &) override final
 actions_before_training_begins. Execute any actions the algorithm needs before starting the iterations
 
virtual void actions_after_training_ends (env_type &) override final
 actions_after_training_ends. Actions to execute after the training iterations have finisehd
 
virtual void actions_before_episode_begins (env_type &, uint_t)
 actions_before_training_episode
 
virtual void actions_after_episode_ends (env_type &, uint_t, const EpisodeInfo &)
 actions_after_training_episode
 
virtual EpisodeInfo on_training_episode (env_type &, uint_t) override final
 on_episode Do one on_episode of the algorithm
 
time_step_type simulate_node (std::shared_ptr< node_type > node, env_type &env)
 simulate_node
 
void expand_node (std::shared_ptr< node_type > node, env_type &env)
 expand_node
 
void backprop (std::shared_ptr< node_type > node)
 backprop
 
uint_t max_depth_tree () const noexcept
 max_depth_tree
 
- Public Member Functions inherited from cuberl::rl::algos::RLSolverBase< EnvTp >
virtual ~RLSolverBase ()=default
 Destructor.
 
virtual void actions_before_episode_begins (env_type &, uint_t)
 actions_before_training_episode
 
virtual void actions_after_episode_ends (env_type &, uint_t, const EpisodeInfo &)
 actions_after_training_episode
 
virtual EpisodeInfo on_training_episode (env_type &, uint_t)=0
 on_episode Do one on_episode of the algorithm
 

Protected Attributes

IterationMixin itr_mix_
 itr_mix_
 
std::shared_ptr< node_typeroot_
 root_
 
uint_t max_depth_tree_
 max_depth_tree_
 
real_t temperature_
 temperature_
 

Additional Inherited Members

- Protected Member Functions inherited from cuberl::rl::algos::RLSolverBase< EnvTp >
 RLSolverBase ()=default
 Constructor.
 

Detailed Description

template<typename EnvTp, typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
class cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >

MCTreeSearchBase.

Member Typedef Documentation

◆ env_type

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
typedef EnvTp cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::env_type

env_type

◆ node_type

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
typedef NodeTp cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::node_type

node_type

◆ time_step_type

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
typedef env_type::time_step_type cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::time_step_type

The time step type.

Constructor & Destructor Documentation

◆ MCTSSolver()

template<typename EnvTp , typename NodeTp >
cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::MCTSSolver ( MCTreeSearchConfig  config)

MCTreeSearchBase.

Parameters
config

Member Function Documentation

◆ actions_after_episode_ends()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
virtual void cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::actions_after_episode_ends ( env_type ,
uint_t  ,
const EpisodeInfo &   
)
inlinevirtual

actions_after_training_episode

◆ actions_after_training_ends()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
virtual void cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::actions_after_training_ends ( env_type )
inlinefinaloverridevirtual

actions_after_training_ends. Actions to execute after the training iterations have finisehd

Implements cuberl::rl::algos::RLSolverBase< EnvTp >.

◆ actions_before_episode_begins()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
virtual void cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::actions_before_episode_begins ( env_type ,
uint_t   
)
inlinevirtual

actions_before_training_episode

◆ actions_before_training_begins()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
virtual void cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::actions_before_training_begins ( env_type )
inlinefinaloverridevirtual

actions_before_training_begins. Execute any actions the algorithm needs before starting the iterations

Implements cuberl::rl::algos::RLSolverBase< EnvTp >.

◆ backprop()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
void cubeai::rl::algos::MCTSSolver::backprop ( std::shared_ptr< node_type node)

backprop

◆ expand_node()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
void cubeai::rl::algos::MCTSSolver::expand_node ( std::shared_ptr< node_type node,
env_type env 
)

expand_node

Parameters
node

◆ max_depth_tree()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
uint_t cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::max_depth_tree ( ) const
inlinenoexcept

max_depth_tree

Returns

◆ on_training_episode()

template<typename EnvTp , typename NodeTp >
EpisodeInfo cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::on_training_episode ( env_type env,
uint_t   
)
finaloverridevirtual

on_episode Do one on_episode of the algorithm

◆ simulate_node()

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
MCTSSolver< Env, NodeTp >::time_step_type cubeai::rl::algos::MCTSSolver::simulate_node ( std::shared_ptr< node_type node,
env_type env 
)

simulate_node

Parameters
node

Member Data Documentation

◆ itr_mix_

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
IterationMixin cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::itr_mix_
protected

itr_mix_

◆ max_depth_tree_

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
uint_t cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::max_depth_tree_
protected

max_depth_tree_

◆ root_

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
std::shared_ptr<node_type> cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::root_
protected

root_

◆ temperature_

template<typename EnvTp , typename NodeTp = MCTSNodeBase<typename EnvTp::action_type, typename EnvTp::state_type>>
real_t cubeai::rl::algos::mc::MCTSSolver< EnvTp, NodeTp >::temperature_
protected

temperature_


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