Class sdm::DecisionProcessInterface

Class List > sdm > DecisionProcessInterface

The class for Discrete Markov Decision Processes.

  • #include <decision_process_interface.hpp>

Public Functions

Type Name
virtual std::set< std::shared_ptr< Action > > getAllActions (number t) const = 0
Get all actions.
virtual std::set< std::shared_ptr< Observation > > getAllObservations (number t) const = 0
Get the reachable next states.
virtual std::set< std::shared_ptr< State > > getAllStates (number t) const = 0
Get all states.
virtual double getDiscount (number t) const = 0
Get the discount factor at timestep t.
virtual double getDynamics (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 Dynamics object.
virtual number getNumAgents () const = 0
Get the number of agents.
virtual double getObsProbability (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 Obs Probability object.
virtual std::set< std::shared_ptr< Observation > > getReachableObservations (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0
Get the Reachablel Observations object.
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 the reachable next states.
virtual double getReward (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t, number agent_id) const = 0
Get the reward.
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > getStartDistribution () const = 0
Get the initial distribution over states.
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 Transition Probability object.
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > nextState (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) = 0

Public Functions Documentation

function getAllActions

virtual std::set< std::shared_ptr< Action > > sdm::DecisionProcessInterface::getAllActions (
    number t
) const = 0

Returns:

the set of actions

function getAllObservations

virtual std::set< std::shared_ptr< Observation > > sdm::DecisionProcessInterface::getAllObservations (
    number t
) const = 0

Parameters:

  • state the state
  • action the action

Returns:

the set of reachable states

function getAllStates

virtual std::set< std::shared_ptr< State > > sdm::DecisionProcessInterface::getAllStates (
    number t
) const = 0

Returns:

the set of states

function getDiscount

virtual double sdm::DecisionProcessInterface::getDiscount (
    number t
) const = 0

Parameters:

  • t the timestep

Returns:

the discount factor

function getDynamics

virtual double sdm::DecisionProcessInterface::getDynamics (
    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
  • action
  • next_state
  • observation
  • t

Returns:

double

function getNumAgents

virtual number sdm::DecisionProcessInterface::getNumAgents () const = 0

Returns:

the number of agents

function getObsProbability

virtual double sdm::DecisionProcessInterface::getObsProbability (
    const std::shared_ptr< Action > & action,
    const std::shared_ptr< State > & next_state,
    const std::shared_ptr< Observation > & observation,
    number t
) const = 0

Parameters:

  • action
  • next_state
  • observation
  • t

Returns:

double

function getReachableObservations

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

Parameters:

  • state
  • action
  • t

Returns:

std::set<std::shared_ptr<Observation>>

function getReachableStates

virtual std::set< std::shared_ptr< State > > sdm::DecisionProcessInterface::getReachableStates (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    number t
) const = 0

Parameters:

  • state the state
  • action the action

Returns:

the set of reachable states

function getReward

virtual double sdm::DecisionProcessInterface::getReward (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    number t,
    number agent_id
) const = 0

Parameters:

  • state
  • action
  • t

Returns:

double

function getStartDistribution

virtual std::shared_ptr< Distribution < std::shared_ptr< State > > > sdm::DecisionProcessInterface::getStartDistribution () const = 0

Returns:

the initial distribution over states

function getTransitionProbability

virtual double sdm::DecisionProcessInterface::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
  • action
  • next_state
  • t

Returns:

double

function nextState

virtual std::shared_ptr< Distribution < std::shared_ptr< State > > > sdm::DecisionProcessInterface::nextState (
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    number t
) = 0

Parameters:

  • state
  • action
  • t

Returns:

std::shared_ptr<Distribution<std::shared_ptr<State>>>


The documentation for this class was generated from the following file src/sdm/world/base/decision_process_interface.hpp