|
MultiAgentDecisionProcess
|
POSGDiscrete represent a discrete POSG model. More...
#include <POSGDiscrete.h>
Public Member Functions | |
| virtual POSGDiscrete * | Clone () const =0 |
| Returns a copy of this class. More... | |
| void | CreateNewRewardModel (Index agentI, size_t nrS, size_t nrJA) |
| Creates a new reward model. More... | |
| double | GetReward (Index agentI, Index sI, Index jaI) const |
| Return the reward for state, joint action indices. More... | |
| double | GetReward (Index agentI, State *s, JointAction *ja) const |
| RewardModelMapping * | GetRewardModelPtr (Index agentI) const |
| Get a pointer to the reward model. More... | |
| POSGDiscrete (const std::string &name="received unspec. by POSGDiscrete", const std::string &descr="received unspec. by POSGDiscrete", const std::string &pf="received unspec. by POSGDiscrete") | |
| Default constructor. More... | |
| bool | SetInitialized (bool b) |
| Sets _m_initialized to b. More... | |
| void | SetReward (Index agentI, Index sI, Index jaI, double r) |
| Set the reward for state, joint action indices. More... | |
| void | SetReward (Index agentI, Index sI, Index jaI, Index sucSI, double r) |
| Set the reward for state, joint action , suc. state indices. More... | |
| void | SetReward (Index agentI, Index sI, Index jaI, Index sucSI, Index joI, double r) |
| Set the reward for state, joint action, suc.state, joint obs indices. More... | |
| std::string | SoftPrint () const |
| Prints some information on the POSGDiscrete. More... | |
| ~POSGDiscrete () | |
| Destructor. More... | |
Public Member Functions inherited from POSGDiscreteInterface | |
| virtual void | CreateNewRewardModelForAgent (Index agentI)=0 |
| Creates a new reward model mapping. More... | |
| virtual double | GetRewardForAgent (Index agentI, Index sI, Index jaI) const =0 |
| Return the reward for state, joint action indices. More... | |
| virtual void | SetRewardForAgent (Index agentI, Index sI, Index jaI, double r)=0 |
| Set the reward for state, joint action indices. More... | |
| virtual void | SetRewardForAgent (Index agentI, Index sI, Index jaI, Index sucSI, double r)=0 |
| Set the reward for state, joint action , suc. state indices. More... | |
| virtual void | SetRewardForAgent (Index agentI, Index sI, Index jaI, Index sucSI, Index joI, double r)=0 |
| Set the reward for state, joint action, suc.state, joint obs indices. More... | |
| virtual | ~POSGDiscreteInterface () |
| Destructor. More... | |
Public Member Functions inherited from MultiAgentDecisionProcessDiscreteInterface | |
| virtual | ~MultiAgentDecisionProcessDiscreteInterface () |
| Destructor. More... | |
Public Member Functions inherited from MultiAgentDecisionProcessInterface | |
| virtual | ~MultiAgentDecisionProcessInterface () |
| Destructor. More... | |
Public Member Functions inherited from POSGInterface | |
| virtual double | GetDiscountForAgent (Index agentI) const =0 |
| Returns the discount parameter. More... | |
| virtual double | GetRewardForAgent (Index agentI, State *s, JointAction *ja) const =0 |
| Function that returns the reward for a state and joint action. More... | |
| virtual reward_t | GetRewardTypeForAgent (Index agentI) const =0 |
| Returns the reward type. More... | |
| virtual void | SetDiscountForAgent (Index agentI, double d)=0 |
| Sets the discount parameter to 0 < d <= 1. More... | |
| virtual void | SetRewardForAgent (Index agentI, State *s, JointAction *ja, double r)=0 |
| Function that sets the reward for an agent, state and joint action. More... | |
| virtual void | SetRewardTypeForAgent (Index agentI, reward_t r)=0 |
| Sets the reward type to reward_t r. More... | |
| virtual | ~POSGInterface () |
| Virtual destructor. More... | |
Public Member Functions inherited from MultiAgentDecisionProcessDiscrete | |
| void | AddAction (Index AI, const std::string &name, const std::string &description="") |
| void | AddObservation (Index AI, const std::string &name, const std::string &description="") |
| void | AddState (const std::string &StateName) |
| size_t | ConstructJointActions () |
| size_t | ConstructJointObservations () |
| void | CreateNewObservationModel () |
| Creates a new observation model mapping. More... | |
| void | CreateNewTransitionModel () |
| Creates a new transition model mapping. More... | |
| const Action * | GetAction (Index agentI, Index a) const |
| Return a ref to the a-th action of agent agentI. More... | |
| const ActionDiscrete * | GetActionDiscrete (Index agentI, Index a) const |
| Index | GetActionIndexByName (const std::string &a, Index agentI) const |
| bool | GetEventObservability () const |
| Are we using an event observation model? More... | |
| int | GetFalseNegativeObs () const |
| Gets the index for false negative observations (if any). A negative value means that are none (which is the default case). More... | |
| double | GetInitialStateProbability (Index sI) const |
| StateDistribution * | GetISD () const |
| Returns the complete initial state distribution. More... | |
| const JointAction * | GetJointAction (Index i) const |
| Return a ref to the i-th joint action. More... | |
| const JointObservation * | GetJointObservation (Index i) const |
| Return a ref to the i-th joint observation. More... | |
| const std::vector< size_t > & | GetNrActions () const |
| Return the number of actions vector. More... | |
| size_t | GetNrActions (Index AgentI) const |
| Return the number of actions of agent agentI. More... | |
| size_t | GetNrJointActions () const |
| Return the number of joint actions. More... | |
| size_t | GetNrJointActions (const Scope &agScope) const |
| Get the number of joint actions the agents in agScope can form. More... | |
| size_t | GetNrJointObservations () const |
| Return the number of joint observations. More... | |
| const std::vector< size_t > & | GetNrObservations () const |
| Return the number of observations vector. More... | |
| size_t | GetNrObservations (Index AgentI) const |
| Return the number of observations of agent agentI. More... | |
| size_t | GetNrStates () const |
| Return the number of states. More... | |
| const Observation * | GetObservation (Index agentI, Index a) const |
| Return a ref to the a-th observation of agent agentI. More... | |
| const ObservationDiscrete * | GetObservationDiscrete (Index agentI, Index a) const |
| Index | GetObservationIndexByName (const std::string &o, Index agentI) const |
| const ObservationModelDiscrete * | GetObservationModelDiscretePtr () const |
| Returns a pointer to the underlying observation model. More... | |
| double | GetObservationProbability (Index jaI, Index sucSI, Index joI) const |
| Return the probability of joint observation joI: P(joI|jaI,sucSI). More... | |
| double | GetObservationProbability (Index sI, Index jaI, Index sucSI, Index joI) const |
| OGet * | GetOGet () const |
| bool | GetSparse () const |
| Are we using sparse transition and observation models? More... | |
| const State * | GetState (Index i) const |
| Returns a pointer to state i. More... | |
| Index | GetStateIndexByName (const std::string &s) const |
| TGet * | GetTGet () const |
| const TransitionModelDiscrete * | GetTransitionModelDiscretePtr () const |
| Returns a pointer to the underlying transition model. More... | |
| double | GetTransitionProbability (Index sI, Index jaI, Index sucSI) const |
| Return the probability of successor state sucSI: P(sucSI|sI,jaI). More... | |
| Index | IndividualToJointActionIndices (const Index *AI_ar) const |
| Returns the joint action index that corresponds to the array of specified individual action indices. More... | |
| Index | IndividualToJointActionIndices (const std::vector< Index > &indivActionIndices) const |
| Returns the joint action index that corresponds to the vector of specified individual action indices. More... | |
| Index | IndividualToJointActionIndices (const std::vector< Index > &ja_e, const Scope &agSC) const |
| indiv->joint for a restricted set (Scope) of agents More... | |
| Index | IndividualToJointObservationIndices (const std::vector< Index > &indivObservationIndices) const |
| Returns the joint observation index that corresponds to the vector of specified individual observation indices. More... | |
| Index | IndividualToJointObservationIndices (const std::vector< Index > &jo_e, const Scope &agSC) const |
| indiv->joint for a restricted set (Scope) of agents More... | |
| bool | Initialize () |
| A function that can be called by other classes in order to request a MultiAgentDecisionProcessDiscrete to (try to) initialize. More... | |
| const std::vector< Index > & | JointToIndividualActionIndices (Index jaI) const |
| Returns a vector of indices to indiv. More... | |
| std::vector< Index > | JointToIndividualActionIndices (Index ja_e, const Scope &agSC) const |
| joint->indiv for a restricted set (Scope) of agents More... | |
| const std::vector< Index > & | JointToIndividualObservationIndices (Index joI) const |
| Returns a vector of indices to indiv. More... | |
| std::vector< Index > | JointToIndividualObservationIndices (Index jo_e, const Scope &agSC) const |
| joint->indiv for a restricted set (Scope) of agents More... | |
| Index | JointToRestrictedJointActionIndex (Index jaI, const Scope &agSc_e) const |
| Converts a global joint action index jaI to a restricted joint action index ja_e, for agents scope agSc_e Returns a vector of indices to indiv. More... | |
| Index | JointToRestrictedJointObservationIndex (Index joI, const Scope &agSc_e) const |
| Converts a global joint observation index joI to a restricted joint observation index jo_e, for agents scope agSc_e Returns a vector of indices to indiv. More... | |
| MultiAgentDecisionProcessDiscrete (const std::string &name="received unspec. by MultiAgentDecisionProcessDiscrete", const std::string &descr="received unspec.by MultiAgentDecisionProcessDiscrete", const std::string &pf="received unspec. by MultiAgentDecisionProcessDiscrete") | |
| Constructor that sets the. More... | |
| MultiAgentDecisionProcessDiscrete (size_t nrAgents, size_t nrS, const std::string &name="received unspec. by MultiAgentDecisionProcessDiscrete", const std::string &descr="received unspec.by MultiAgentDecisionProcessDiscrete", const std::string &pf="received unspec. by MultiAgentDecisionProcessDiscrete") | |
| Constructor that sets the. More... | |
| MultiAgentDecisionProcessDiscrete (const MultiAgentDecisionProcessDiscrete &a) | |
| Copy constructor. More... | |
| void | Print () const |
| Prints some information on the MultiAgentDecisionProcessDiscrete. More... | |
| Index | SampleInitialState () const |
| Sample a state according to the initial state PDF. More... | |
| Index | SampleJointObservation (Index jaI, Index sucI) const |
| Sample an observation. More... | |
| Index | SampleJointObservation (Index sI, Index jaI, Index sucI) const |
| Index | SampleSuccessorState (Index sI, Index jaI) const |
| Sample a successor state. More... | |
| bool | SetActionsInitialized (bool b) |
| void | SetEventObservability (bool eventO) |
| Indicate whether the observation model is defined over (s',a,s) (an event-driven model) or the standard (s',a) More... | |
| void | SetFalseNegativeObs (Index falseNegativeObs) |
| Sets the index for false negative observations (see above) More... | |
| void | SetISD (StateDistribution *p) |
| void | SetNrActions (Index AI, size_t nrA) |
| void | SetNrObservations (Index AI, size_t nrO) |
| void | SetNrStates (size_t nrS) |
| void | SetObservationModelPtr (ObservationModelDiscrete *ptr) |
| Set the obversation model. More... | |
| void | SetObservationProbability (Index jaI, Index sucSI, Index joI, double p) |
| Set the probability of joint observation joI: P(joI|jaI,sucSI). More... | |
| void | SetObservationProbability (Index sI, Index jaI, Index sucSI, Index joI, double p) |
| bool | SetObservationsInitialized (bool b) |
| void | SetSparse (bool sparse) |
| Indicate whether sparse transition and observation models should be used. More... | |
| bool | SetStatesInitialized (bool b) |
| void | SetTransitionModelPtr (TransitionModelDiscrete *ptr) |
| Set the transition model. More... | |
| void | SetTransitionProbability (Index sI, Index jaI, Index sucSI, double p) |
| Set the probability of successor state sucSI: P(sucSI|sI,jaI). More... | |
| void | SetUniformISD () |
| std::string | SoftPrintState (Index sI) const |
| ~MultiAgentDecisionProcessDiscrete () | |
| Destructor. More... | |
Public Member Functions inherited from MultiAgentDecisionProcess | |
| void | AddAgent (std::string name) |
| Add a new agent with name "name" to the MADP. More... | |
| Index | GetAgentIndexByName (const std::string &s) const |
| Returns the index of an agent given its name, if it exists. More... | |
| std::string | GetAgentNameByIndex (Index i) const |
| Returns the name of the agent at the given index. More... | |
| const Scope & | GetAllAgentScope () const |
| std::string | GetDescription () const |
| std::string | GetName () const |
| size_t | GetNrAgents () const |
| Returns the number of agents in this MultiAgentDecisionProcess. More... | |
| std::string | GetProblemFile () const |
| Returns the name of the problem file. More... | |
| std::string | GetUnixName () const |
| Returns a name which can be in unix path, by default the base part of the problem filename. More... | |
| MultiAgentDecisionProcess (size_t nrAgents, const std::string &name="received unspec. by MultiAgentDecisionProcess", const std::string &description="received unspec. by MultiAgentDecisionProcess", const std::string &pf="received unspec. by MultiAgentDecisionProcess") | |
| Constructor. More... | |
| MultiAgentDecisionProcess (const std::string &name="received unspec. by MultiAgentDecisionProcess", const std::string &description="received unspec. by MultiAgentDecisionProcess", const std::string &pf="received unspec. by MultiAgentDecisionProcess") | |
| Default Constructor without specifying the number of agents. More... | |
| void | Print () const |
| void | SetDescription (const std::string &description) |
| void | SetName (const std::string &name) |
| void | SetNrAgents (size_t nrAgents) |
| Sets the number of agents. More... | |
| void | SetUnixName (std::string unixName) |
| Sets the name which can be used inin unix paths. More... | |
| std::string | SoftPrint () const |
| Prints some information on the MultiAgentDecisionProcess. More... | |
| virtual | ~MultiAgentDecisionProcess () |
| Destructor. More... | |
Public Member Functions inherited from POSG | |
| double | GetDiscount (Index agentI) const |
| Returns the discount parameter for agent agentI. More... | |
| reward_t | GetRewardType (Index agentI) const |
| Returns the reward type. More... | |
| POSG () | |
| void | SetDiscount (Index agentI, double d) |
| Sets the discount parameter of agentI to d. More... | |
| bool | SetInitialized (bool b) |
| changed initialized status More... | |
| void | SetNrAgents (size_t nrAgents) |
| Sets the number of agents. More... | |
| void | SetRewardType (Index agentI, reward_t r) |
| Sets the reward type to reward_t r. More... | |
| std::string | SoftPrint () const |
| SoftPrints some information on the POSG. More... | |
Protected Attributes | |
| std::vector< RewardModelMapping * > | _m_p_rModel |
| The reward model used by POSGDiscrete is a RewardModelMapping. More... | |
Protected Attributes inherited from MultiAgentDecisionProcess | |
| std::vector< Agent > | _m_agents |
| Vector containing Agent objects, which are indexed named entities. More... | |
| Scope | _m_allAgentsScope |
| Scope containing all agents - usefull sometimes. More... | |
| size_t | _m_nrAgents |
| The number of agents participating in the MADP. More... | |
| std::string | _m_problemFile |
| String holding the filename of the problem file to be parsed - if applicable. More... | |
| std::string | _m_unixName |
| String for the unix name of the MADP. More... | |
Private Attributes | |
| bool | _m_initialized |
| Boolean that tracks whether this POSG is initialized. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from MultiAgentDecisionProcessDiscrete | |
| bool | SetInitialized (bool b) |
| Sets _m_initialized to b. More... | |
POSGDiscrete represent a discrete POSG model.
It implements POSGDiscreteInterface.
Also it inherits -MultiAgentDecisionProcessDiscrete -POSG
and thus implements -POSGInterface -MultiAgentDecisionProcessDiscreteInterface -MultiAgentDecisionProcessInterface
| POSGDiscrete::POSGDiscrete | ( | const std::string & | name = "received unspec. by POSGDiscrete", |
| const std::string & | descr = "received unspec. by POSGDiscrete", |
||
| const std::string & | pf = "received unspec. by POSGDiscrete" |
||
| ) |
Default constructor.
Constructor that sets the name, description, and problem file, and subsequently loads this problem file.
References _m_initialized, _m_p_rModel, MultiAgentDecisionProcess::GetNrAgents(), POSG::SetInitialized(), and POSG::SetNrAgents().
| POSGDiscrete::~POSGDiscrete | ( | ) |
Destructor.
References _m_p_rModel, and DEBUG_DPOMDPD.
|
pure virtual |
Returns a copy of this class.
Reimplemented from MultiAgentDecisionProcessDiscrete.
| void POSGDiscrete::CreateNewRewardModel | ( | Index | agentI, |
| size_t | nrS, | ||
| size_t | nrJA | ||
| ) |
Creates a new reward model.
Return the reward for state, joint action indices.
Referenced by GetReward(), and SetReward().
| double POSGDiscrete::GetReward | ( | Index | agentI, |
| State * | s, | ||
| JointAction * | ja | ||
| ) | const |
References GetReward().
|
inline |
Get a pointer to the reward model.
| bool POSGDiscrete::SetInitialized | ( | bool | b | ) |
Sets _m_initialized to b.
When setting to true, a verification of member elements is performed. (i.e. a check whether all vectors have the correct size and non-zero entries)
References _m_initialized, and MultiAgentDecisionProcessDiscrete::SetInitialized().
Set the reward for state, joint action indices.
Referenced by SetReward().
Set the reward for state, joint action , suc. state indices.
References GetReward(), MultiAgentDecisionProcessDiscrete::GetTransitionProbability(), and SetReward().
| void POSGDiscrete::SetReward | ( | Index | agentI, |
| Index | sI, | ||
| Index | jaI, | ||
| Index | sucSI, | ||
| Index | joI, | ||
| double | r | ||
| ) |
Set the reward for state, joint action, suc.state, joint obs indices.
|
virtual |
Prints some information on the POSGDiscrete.
Reimplemented from MultiAgentDecisionProcessDiscrete.
References _m_initialized, _m_p_rModel, MultiAgentDecisionProcess::GetNrAgents(), POSG::SoftPrint(), and MultiAgentDecisionProcessDiscrete::SoftPrint().
|
private |
Boolean that tracks whether this POSG is initialized.
Referenced by POSGDiscrete(), SetInitialized(), and SoftPrint().
|
protected |
The reward model used by POSGDiscrete is a RewardModelMapping.
Referenced by POSGDiscrete(), SoftPrint(), and ~POSGDiscrete().