Class sdm::TabularObservationDynamics

Class List > sdm > TabularObservationDynamics

Tabular observation dynamics. More...

  • #include <tabular_observation_dynamics.hpp>

Inherits the following classes: sdm::ObservationDynamicsInterface

Inherited by the following classes: sdm::TabularObservationDynamicsAS, sdm::TabularObservationDynamicsS, sdm::TabularObservationDynamicsSAS

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) = 0
Get the distribution over next observations.
virtual const MappedVector< std::shared_ptr< Observation > > & getObservationProbabilities (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, number t=0) const = 0
Get the observation vector for a given action and next state.
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=0) const = 0
Get the observation probability.
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=0) const = 0
Get reachable observations from a state, suppose a specific action was executed.
virtual void setObservationProbabilities (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, const MappedVector< std::shared_ptr< Observation >> & observation_probas) = 0
Set the observation probability.
virtual void setObservationProbability (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, double proba) = 0
Set the observation probability.
virtual void setReachableObservations (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=0) = 0
Set _the the state / observation transition probability (i.e. p(s', o

Public Functions inherited from sdm::ObservationDynamicsInterface

See sdm::ObservationDynamicsInterface

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

The class is optimized to provide a constant time access to all transition probabilities and reachable observations.

Public Functions Documentation

function getNextObservationDistribution

virtual std::shared_ptr< Distribution < std::shared_ptr< Observation > > > sdm::TabularObservationDynamics::getNextObservationDistribution (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    const std::shared_ptr< State > & next_state,
    number t=0
) = 0

Parameters:

  • state the state
  • action the action
  • next_state the next state
  • t the timestep

Returns:

the distribution over observations

Implements sdm::ObservationDynamicsInterface::getNextObservationDistribution

function getObservationProbabilities

virtual const MappedVector < std::shared_ptr< Observation > > & sdm::TabularObservationDynamics::getObservationProbabilities (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    const std::shared_ptr< State > & next_state,
    number t=0
) const = 0

Parameters:

  • action the action

Returns:

the observation matrix

function getObservationProbability

virtual double sdm::TabularObservationDynamics::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=0
) const = 0

Parameters:

  • state a specific state (timestep t)
  • action a specific action
  • obs a specific observation
  • next_state a specific state (timestep t+1)

Returns:

double a probability

Implements sdm::ObservationDynamicsInterface::getObservationProbability

function getReachableObservations

virtual std::set< std::shared_ptr< Observation > > sdm::TabularObservationDynamics::getReachableObservations (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    const std::shared_ptr< State > & next_state,
    number t=0
) const = 0

Parameters:

  • state the current state
  • action the current action
  • t the timestep

Returns:

the list of next reachable observations

Implements sdm::ObservationDynamicsInterface::getReachableObservations

function setObservationProbabilities

virtual void sdm::TabularObservationDynamics::setObservationProbabilities (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    const std::shared_ptr< State > & next_state,
    const MappedVector < std::shared_ptr< Observation >> & observation_probas
) = 0

Parameters:

  • action
  • next_state
  • observation_probas

function setObservationProbability

virtual void sdm::TabularObservationDynamics::setObservationProbability (
    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,
    double proba
) = 0

Parameters:

  • action a specific action
  • observation a specific observation
  • next_state a specific state
  • proba a probability

function setReachableObservations

virtual void sdm::TabularObservationDynamics::setReachableObservations (
    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=0
) = 0

Parameters:

  • state the state
  • action the action
  • next_state the next state
  • observation the observation
  • proba the probability
  • t the timestep

Returns:

double the probability


The documentation for this class was generated from the following file src/sdm/core/dynamics/tabular_observation_dynamics.hpp