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:
state
the stateaction
the actionnext_state
the next statet
the 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:
state
the stateaction
the actionobs
the observationnext_state
the next statet
the 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:
state
the current stateaction
the current actionnext_state
the state at time t +1t
the 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