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 state
  • action the current action
  • t 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 state
  • action the current action
  • t 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 state
  • action the action
  • next_state the next state
  • t 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