Class sdm::StateDynamicsInterface
Class List > sdm > StateDynamicsInterface
This class provides a common interface for every models of state dynamics. More...
#include <state_dynamics_interface.hpp>
Inherited by the following classes: sdm::TabularStateDynamics
Public Functions
Type | Name |
---|---|
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > | getNextStateDistribution (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0 Get the distribution over next states. |
virtual std::set< std::shared_ptr< State > > | getReachableStates (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0 Get reachable states from a state given a specific action. |
virtual double | getTransitionProbability (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, number t) const = 0 _Get the state transition probability (i.e. p(s' |
Detailed Description
A model of state transition is well defined if it implements this interface. The state dynamics is required to define a MDP (see file MDP.hpp) and related problems. Usually state transitions depend on the time, the previous state and the action. However, in few situations the transition can only depend on one or two of these parameters.
Public Functions Documentation
function getNextStateDistribution
virtual std::shared_ptr< Distribution < std::shared_ptr< State > > > sdm::StateDynamicsInterface::getNextStateDistribution (
const std::shared_ptr< State > & state,
const std::shared_ptr< Action > & action,
number t
) const = 0
Parameters:
state
the current stateaction
the current actiont
the timestep
Returns:
the distribution over next states
function getReachableStates
virtual std::set< std::shared_ptr< State > > sdm::StateDynamicsInterface::getReachableStates (
const std::shared_ptr< State > & state,
const std::shared_ptr< Action > & action,
number t
) const = 0
Parameters:
state
the current stateaction
the current actiont
the timestep
Returns:
the list of next reachable states
function getTransitionProbability
virtual double sdm::StateDynamicsInterface::getTransitionProbability (
const std::shared_ptr< State > & state,
const std::shared_ptr< Action > & action,
const std::shared_ptr< State > & next_state,
number t
) const = 0
Parameters:
state
the stateaction
the actionnext_state
the next statet
the timestep
Returns:
double the probability
The documentation for this class was generated from the following file src/sdm/core/dynamics/state_dynamics_interface.hpp