Class sdm::MMDP
Class List > sdm > MMDP
The class for Discrete Markov Decision Processes.
#include <mmdp.hpp>
Inherits the following classes: sdm::MDP, sdm::MMDPInterface
Inherited by the following classes: sdm::MPOMDP
Public Functions
Type | Name |
---|---|
MMDP () | |
MMDP (const std::shared_ptr< Space > & state_space, const std::shared_ptr< Space > & action_space, const std::shared_ptr< RewardInterface > & reward, const std::shared_ptr< StateDynamicsInterface > & state_dynamics, const std::shared_ptr< Distribution< std::shared_ptr< State >>> & start_distrib, number horizon=0, double discount=0.99, Criterion criterion=Criterion::REW_MAX) | |
virtual std::shared_ptr< Space > | getActionSpace (number t=0) const Get ths action space at timestep t. |
virtual std::shared_ptr< Space > | getActionSpace (number agent_id, number t) const Get ths action space of agent i at timestep t. |
virtual std::string | toStdFormat () Encodes MDP class into a string (standard .posg or .dpomdp or .zsposg format). |
Public Functions inherited from sdm::MDP
See sdm::MDP
Type | Name |
---|---|
MDP () | |
MDP (const std::shared_ptr< Space > & state_space, const std::shared_ptr< Space > & action_space, const std::shared_ptr< RewardInterface > & reward_space, const std::shared_ptr< StateDynamicsInterface > & state_dynamics, const std::shared_ptr< Distribution< std::shared_ptr< State >>> & start_distribution, number horizon=0, double discount=0.99, Criterion criterion=Criterion::REW_MAX) | |
void | generateFile (std::string) Save problem in file with given format (.xml, .json or .{dpomdp, posg, zsposg}). |
virtual std::shared_ptr< Space > | getActionSpace (number t=0) const Get ths action space at timestep t. |
virtual std::shared_ptr< Space > | getActionSpaceAt (const std::shared_ptr< Observation > & observation, number t) Get the action space. |
virtual double | getDiscount (number t=0) const Get the discount factor at timestep t. |
virtual number | getHorizon () const Get the planning horizon. |
virtual std::shared_ptr< State > | getInternalState () const |
virtual double | getMaxReward (number t=0) const |
virtual double | getMinReward (number t=0) const |
virtual number | getNumAgents () const Get the number of agents. |
virtual std::shared_ptr< Action > | getRandomAction (const std::shared_ptr< Observation > & observation, number t) Get random action. |
virtual std::set< std::shared_ptr< State > > | getReachableStates (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t=0) const Get the reachable next states. |
virtual double | getReward (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t=0) const Get the reward of executing action a in state s at timestep t. |
virtual std::shared_ptr< RewardInterface > | getRewardSpace () const Get the reward function. |
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > | getStartDistribution () const Get the initial distribution over states. |
virtual std::shared_ptr< StateDynamicsInterface > | getStateDynamics () const Get the state dynamics. |
virtual std::shared_ptr< Space > | getStateSpace (number t=0) const Get ths state space at timestep t. |
virtual double | getTransitionProbability (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, const std::shared_ptr< State > & next_state, number t=0) const Get the Transition Probability object. |
virtual std::shared_ptr< Observation > | reset () Reset the environment and return initial observation. |
virtual std::shared_ptr< Observation > | sampleNextObservation (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) |
void | setDiscount (double discount) Set the discount factor. |
void | setHorizon (number horizon) Set the planning horizon. |
virtual void | setInternalState (std::shared_ptr< State >) |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action) Do a step on the environment. |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action, bool increment_timestep) |
virtual std::string | toJSON () Encodes MDP class into a string (JSON format). |
virtual std::string | toStdFormat () Encodes MDP class into a string (standard .posg or .dpomdp or .zsposg format). |
virtual std::string | toXML () Encodes MDP class into a string (XML format). |
virtual | ~MDP () |
Public Functions inherited from sdm::MDPInterface
Type | Name |
---|---|
virtual std::shared_ptr< Space > | getActionSpace (number t) const = 0 Get ths action space at timestep t. |
virtual double | getDiscount (number t) const = 0 Get the discount factor at timestep t. |
virtual number | getHorizon () const = 0 Get the number of agents. |
virtual std::shared_ptr< State > | getInternalState () const = 0 |
virtual double | getMaxReward (number t) const = 0 |
virtual double | getMinReward (number t) const = 0 |
virtual number | getNumAgents () const = 0 Get the number of agents. |
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 reachable states. |
virtual double | getReward (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0 Get the reward at timestep t when executing an action in a specific state. |
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > | getStartDistribution () const = 0 Get the initial distribution over states. |
virtual std::shared_ptr< Space > | getStateSpace (number t) const = 0 Get ths state space at timestep t. |
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, i.e. p(s' |
virtual void | setInternalState (std::shared_ptr< State > state) = 0 |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action) = 0 Do a step on the environment. |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action, bool increment_timestep) = 0 |
Public Functions inherited from sdm::GymInterface
Type | Name |
---|---|
virtual std::shared_ptr< Space > | getActionSpaceAt (const std::shared_ptr< Observation > & observation, number t) = 0 Get the action space. |
virtual std::shared_ptr< Action > | getRandomAction (const std::shared_ptr< Observation > & observation, number t) = 0 Get random action. |
virtual std::shared_ptr< Observation > | reset () = 0 Reset the environment and return initial observation. |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action) = 0 Do a step on the environment. |
Public Functions inherited from sdm::GymInterface
Type | Name |
---|---|
virtual std::shared_ptr< Space > | getActionSpaceAt (const std::shared_ptr< Observation > & observation, number t) = 0 Get the action space. |
virtual std::shared_ptr< Action > | getRandomAction (const std::shared_ptr< Observation > & observation, number t) = 0 Get random action. |
virtual std::shared_ptr< Observation > | reset () = 0 Reset the environment and return initial observation. |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action) = 0 Do a step on the environment. |
Public Functions inherited from sdm::MMDPInterface
Type | Name |
---|---|
virtual std::shared_ptr< Space > | getActionSpace (number agent_id, number t) const = 0 Get ths action space of agent i at timestep t. |
virtual std::shared_ptr< Space > | getActionSpace (number t) const = 0 Get ths action space at timestep t. |
Public Functions inherited from sdm::MDPInterface
Type | Name |
---|---|
virtual std::shared_ptr< Space > | getActionSpace (number t) const = 0 Get ths action space at timestep t. |
virtual double | getDiscount (number t) const = 0 Get the discount factor at timestep t. |
virtual number | getHorizon () const = 0 Get the number of agents. |
virtual std::shared_ptr< State > | getInternalState () const = 0 |
virtual double | getMaxReward (number t) const = 0 |
virtual double | getMinReward (number t) const = 0 |
virtual number | getNumAgents () const = 0 Get the number of agents. |
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 reachable states. |
virtual double | getReward (const std::shared_ptr< State > & state, const std::shared_ptr< Action > & action, number t) const = 0 Get the reward at timestep t when executing an action in a specific state. |
virtual std::shared_ptr< Distribution< std::shared_ptr< State > > > | getStartDistribution () const = 0 Get the initial distribution over states. |
virtual std::shared_ptr< Space > | getStateSpace (number t) const = 0 Get ths state space at timestep t. |
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, i.e. p(s' |
virtual void | setInternalState (std::shared_ptr< State > state) = 0 |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action) = 0 Do a step on the environment. |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action, bool increment_timestep) = 0 |
Public Functions inherited from sdm::GymInterface
Type | Name |
---|---|
virtual std::shared_ptr< Space > | getActionSpaceAt (const std::shared_ptr< Observation > & observation, number t) = 0 Get the action space. |
virtual std::shared_ptr< Action > | getRandomAction (const std::shared_ptr< Observation > & observation, number t) = 0 Get random action. |
virtual std::shared_ptr< Observation > | reset () = 0 Reset the environment and return initial observation. |
virtual std::tuple< std::shared_ptr< Observation >, std::vector< double >, bool > | step (std::shared_ptr< Action > action) = 0 Do a step on the environment. |
Protected Attributes inherited from sdm::MDP
See sdm::MDP
Type | Name |
---|---|
std::shared_ptr< Space > | action_space_ |
Criterion | criterion_ |
int | current_timestep_ |
double | discount_ |
number | horizon_ |
std::shared_ptr< State > | internal_state_ |
number | num_agents_ |
std::shared_ptr< RewardInterface > | reward_space_ |
std::shared_ptr< Distribution< std::shared_ptr< State > > > | start_distribution_ |
std::shared_ptr< StateDynamicsInterface > | state_dynamics_ |
std::shared_ptr< Space > | state_space_ |
Public Functions Documentation
function MMDP [1/2]
sdm::MMDP::MMDP ()
function MMDP [2/2]
sdm::MMDP::MMDP (
const std::shared_ptr< Space > & state_space,
const std::shared_ptr< Space > & action_space,
const std::shared_ptr< RewardInterface > & reward,
const std::shared_ptr< StateDynamicsInterface > & state_dynamics,
const std::shared_ptr< Distribution < std::shared_ptr< State >>> & start_distrib,
number horizon=0,
double discount=0.99,
Criterion criterion=Criterion::REW_MAX
)
function getActionSpace [1/2]
virtual std::shared_ptr< Space > sdm::MMDP::getActionSpace (
number t=0
) const
Parameters:
t
the timestep
Returns:
the action space
Implements sdm::MMDPInterface::getActionSpace
function getActionSpace [2/2]
virtual std::shared_ptr< Space > sdm::MMDP::getActionSpace (
number agent_id,
number t
) const
Parameters:
agent_id
the identifier of the agentt
the timestep
Returns:
the action space
Implements sdm::MMDPInterface::getActionSpace
function toStdFormat
virtual std::string sdm::MMDP::toStdFormat ()
Returns:
the process as XML
Implements sdm::MDP::toStdFormat
The documentation for this class was generated from the following file src/sdm/world/mmdp.hpp