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:
- tthe 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_idthe identifier of the agent
- tthe 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