Class sdm::ObservationDynamicsInterface
Class List > sdm > ObservationDynamicsInterface
This class provides a common interface for every models of observation dynamics. More...
#include <observation_dynamics_interface.hpp>
Inherited by the following classes: sdm::TabularObservationDynamics
Public Functions
| Type | Name |
|---|---|
| virtual std::shared_ptr< Distribution< std::shared_ptr< Observation > > > | getNextObservationDistribution (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, number t) = 0 Get the distribution over next observations. |
| virtual double | getObservationProbability (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, const std::shared_ptr< Observation > & observation, number t) const = 0 _Get the the state / observation transition probability (i.e. p(o |
| virtual std::set< std::shared_ptr< Observation > > | getReachableObservations (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, number t) const = 0 Get reachable observations from a state, suppose a specific action was executed. |
Detailed Description
An model of observation dynamics is well defined if it implements this interface. The observation dynamics is required to define a POMDP (see file POMDP.hpp) and related problems. Usually observation probabilities depend on the time, the state, the previous action and the previous state. However, in few situations the transition can only depend on some of these parameters.
Public Functions Documentation
function getNextObservationDistribution
virtual std::shared_ptr< Distribution < std::shared_ptr< Observation > > > sdm::ObservationDynamicsInterface::getNextObservationDistribution (
const std::shared_ptr< State > & state,
const std::shared_ptr< Action > & action,
const std::shared_ptr< State > & next_state,
number t
) = 0
Parameters:
statethe stateactionthe actionnext_statethe next statetthe timestep
Returns:
the distribution over observations
function getObservationProbability
virtual double sdm::ObservationDynamicsInterface::getObservationProbability (
const std::shared_ptr< State > & state,
const std::shared_ptr< Action > & action,
const std::shared_ptr< State > & next_state,
const std::shared_ptr< Observation > & observation,
number t
) const = 0
Parameters:
statethe stateactionthe actionobsthe observationnext_statethe next statetthe timestep
Returns:
double the probability
function getReachableObservations
virtual std::set< std::shared_ptr< Observation > > sdm::ObservationDynamicsInterface::getReachableObservations (
const std::shared_ptr< State > & state,
const std::shared_ptr< Action > & action,
const std::shared_ptr< State > & next_state,
number t
) const = 0
Parameters:
statethe current stateactionthe current actionnext_statethe state at time t +1tthe timestep
Returns:
the list of next reachable observations
The documentation for this class was generated from the following file src/sdm/core/dynamics/observation_dynamics_interface.hpp