Class sdm::SolvableByDP

Class List > sdm > SolvableByDP

Public interface that must be implemented by all transformed problems that can be solved using HSVI (i.e. beliefMDP, occupancyMDP, occupancyGame, etc).More...

  • #include <solvable_by_dp.hpp>

Public Functions

Type Name
virtual std::shared_ptr< Space > getActionSpaceAt (const std::shared_ptr< State > & state, number t) = 0
Get the actions availables at a specific state.
virtual double getDiscount (number t) = 0
Get the specific discount factor for the problem at hand.
virtual double getExpectedNextValue (const std::shared_ptr< ValueFunction > & value_function, const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0
Get the expected next value.
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > getNextStateDistribution (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t=0) const
Get the distribution over next states.
virtual double getReward (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0
Get the reward at a given occupancy state and occupancy action.
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > getStartDistribution () const = 0
virtual ~SolvableByDP ()

Detailed Description

Template parameters:

  • TState The state type
  • TAction The action type

Public Functions Documentation

function getActionSpaceAt

virtual std::shared_ptr< Space > sdm::SolvableByDP::getActionSpaceAt (
    const std::shared_ptr< State > & state,
    number t
) = 0

Parameters:

  • state the state

Returns:

the action space

function getDiscount

virtual double sdm::SolvableByDP::getDiscount (
    number t
) = 0

Parameters:

  • number decision epoch or any other parameter

Returns:

double discount factor

function getExpectedNextValue

virtual double sdm::SolvableByDP::getExpectedNextValue (
    const std::shared_ptr< ValueFunction > & value_function,
    const std::shared_ptr< State > & state,
    const std::shared_ptr< Action > & action,
    number t
) const = 0

Parameters:

  • value_function a pointer on the value function to use to perform the calculus.
  • state the state on which to evaluate the next expected value *
  • action
  • t

Returns:

double

function getNextStateDistribution

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

Parameters:

  • state
  • action
  • t

Returns:

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

function getReward

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

function getStartDistribution

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

function ~SolvableByDP

inline virtual sdm::SolvableByDP::~SolvableByDP () 

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