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 state
  • action the action
  • next_state the next state
  • t 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 state
  • action the action
  • obs the observation
  • next_state the next state
  • t 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 state
  • action the current action
  • next_state the state at time t +1
  • t 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