MultiAgentDecisionProcess
MultiAgentDecisionProcessDiscrete Class Reference

MultiAgentDecisionProcessDiscrete is defines the primary properties of a discrete decision process. More...

#include <MultiAgentDecisionProcessDiscrete.h>

Inheritance diagram for MultiAgentDecisionProcessDiscrete:
[legend]

Public Member Functions

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)
 
virtual
MultiAgentDecisionProcessDiscrete
Clone () const
 Returns a pointer to a copy of this class. More...
 
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 ActionGetAction (Index agentI, Index a) const
 Return a ref to the a-th action of agent agentI. More...
 
const ActionDiscreteGetActionDiscrete (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
 
StateDistributionGetISD () const
 Returns the complete initial state distribution. More...
 
const JointActionGetJointAction (Index i) const
 Return a ref to the i-th joint action. More...
 
const JointObservationGetJointObservation (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 ObservationGetObservation (Index agentI, Index a) const
 Return a ref to the a-th observation of agent agentI. More...
 
const ObservationDiscreteGetObservationDiscrete (Index agentI, Index a) const
 
Index GetObservationIndexByName (const std::string &o, Index agentI) const
 
const ObservationModelDiscreteGetObservationModelDiscretePtr () 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
 
OGetGetOGet () const
 
bool GetSparse () const
 Are we using sparse transition and observation models? More...
 
const StateGetState (Index i) const
 Returns a pointer to state i. More...
 
Index GetStateIndexByName (const std::string &s) const
 
TGetGetTGet () const
 
const TransitionModelDiscreteGetTransitionModelDiscretePtr () 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< IndexJointToIndividualActionIndices (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< IndexJointToIndividualObservationIndices (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 SoftPrint () const
 SoftPrints information on the MultiAgentDecisionProcessDiscrete. More...
 
std::string SoftPrintState (Index sI) const
 
 ~MultiAgentDecisionProcessDiscrete ()
 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 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 ScopeGetAllAgentScope () 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...
 

Protected Member Functions

bool SetInitialized (bool b)
 Sets _m_initialized to b. More...
 

Private Member Functions

bool SanityCheck (void)
 Check whether models appear valid probability distributions. More...
 

Private Attributes

MADPComponentDiscreteActions _m_A
 
bool _m_eventObservability
 Boolean that controls whether the observation model is defined over events. More...
 
int _m_falseNegativeObs
 An index representing false negative observations, which are seen by planners, but not by agents. More...
 
bool _m_initialized
 Boolean to indicate whether this MADPDiscrete has been initialized. More...
 
MADPComponentDiscreteObservations _m_O
 
ObservationModelDiscrete_m_p_oModel
 Pointer to observation model. More...
 
TransitionModelDiscrete_m_p_tModel
 Pointer to transition model. More...
 
MADPComponentDiscreteStates _m_S
 
bool _m_sparse
 Boolean that controls whether sparse transition and observation models are used. More...
 

Additional Inherited Members

- 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...
 

Detailed Description

MultiAgentDecisionProcessDiscrete is defines the primary properties of a discrete decision process.

MultiAgentDecisionProcessDiscrete is defines the primary properties of a discrete decision process.

It extends MultiAgentDecisionProcess, MADPComponentDiscreteActions and MADPComponentDiscreteObservations, such that, for each of the MultiAgentDecisionProcess::GetNrAgents() it stores -the discrete action sets -the discrete observation sets

It also extends MADPComponentDiscreteStates such that a discrete state space is implemented.

Finally, this class itself stores (pointers to) -the transition model -the observation model

Constructor & Destructor Documentation

MultiAgentDecisionProcessDiscrete::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.

  • name
  • description
  • problem file for the MADP.

References _m_eventObservability, _m_falseNegativeObs, _m_initialized, _m_p_oModel, _m_p_tModel, and _m_sparse.

Referenced by Clone().

MultiAgentDecisionProcessDiscrete::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.

  • nrAgents
  • nrStates
  • name
  • description
  • problem file for the MADP.

References _m_eventObservability, _m_falseNegativeObs, _m_initialized, _m_p_oModel, _m_p_tModel, and _m_sparse.

MultiAgentDecisionProcessDiscrete::MultiAgentDecisionProcessDiscrete ( const MultiAgentDecisionProcessDiscrete a)
MultiAgentDecisionProcessDiscrete::~MultiAgentDecisionProcessDiscrete ( )

Destructor.

References _m_p_oModel, _m_p_tModel, and DEBUG_MADPD.

Member Function Documentation

virtual MultiAgentDecisionProcessDiscrete* MultiAgentDecisionProcessDiscrete::Clone ( ) const
inlinevirtual

Returns a pointer to a copy of this class.

Implements MultiAgentDecisionProcessDiscreteInterface.

Reimplemented in DecPOMDPDiscrete, and POSGDiscrete.

References MultiAgentDecisionProcessDiscrete().

const Action* MultiAgentDecisionProcessDiscrete::GetAction ( Index  agentI,
Index  a 
) const
inlinevirtual

Return a ref to the a-th action of agent agentI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::GetAction().

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

const ActionDiscrete* MultiAgentDecisionProcessDiscrete::GetActionDiscrete ( Index  agentI,
Index  a 
) const
inline
Index MultiAgentDecisionProcessDiscrete::GetActionIndexByName ( const std::string &  a,
Index  agentI 
) const
inline
bool MultiAgentDecisionProcessDiscrete::GetEventObservability ( ) const
inlinevirtual

Are we using an event observation model?

Reimplemented from MultiAgentDecisionProcessDiscreteInterface.

int MultiAgentDecisionProcessDiscrete::GetFalseNegativeObs ( ) const
inline

Gets the index for false negative observations (if any). A negative value means that are none (which is the default case).

double MultiAgentDecisionProcessDiscrete::GetInitialStateProbability ( Index  sI) const
inlinevirtual
StateDistribution* MultiAgentDecisionProcessDiscrete::GetISD ( ) const
inlinevirtual

Returns the complete initial state distribution.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteStates::GetISD().

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

const JointAction* MultiAgentDecisionProcessDiscrete::GetJointAction ( Index  i) const
inlinevirtual

Return a ref to the i-th joint action.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::GetJointAction().

const JointObservation* MultiAgentDecisionProcessDiscrete::GetJointObservation ( Index  i) const
inlinevirtual

Return a ref to the i-th joint observation.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::GetJointObservation().

size_t MultiAgentDecisionProcessDiscrete::GetNrActions ( Index  AgentI) const
inlinevirtual

Return the number of actions of agent agentI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::GetNrActions().

size_t MultiAgentDecisionProcessDiscrete::GetNrJointActions ( const Scope agScope) const
inlinevirtual

Get the number of joint actions the agents in agScope can form.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::GetNrJointActions().

size_t MultiAgentDecisionProcessDiscrete::GetNrJointObservations ( ) const
inlinevirtual
size_t MultiAgentDecisionProcessDiscrete::GetNrObservations ( Index  AgentI) const
inlinevirtual

Return the number of observations of agent agentI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::GetNrObservations().

const Observation* MultiAgentDecisionProcessDiscrete::GetObservation ( Index  agentI,
Index  a 
) const
inlinevirtual

Return a ref to the a-th observation of agent agentI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::GetObservation().

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

const ObservationDiscrete* MultiAgentDecisionProcessDiscrete::GetObservationDiscrete ( Index  agentI,
Index  a 
) const
inline
const ObservationModelDiscrete* MultiAgentDecisionProcessDiscrete::GetObservationModelDiscretePtr ( ) const
inlinevirtual

Returns a pointer to the underlying observation model.

If speed is required (for instance when looping through all states) the pointer can be requested by an algorithm. It can than obtain a pointer to the actual implementation type by runtime type identification. (i.e., using typeid and dynamic_cast).

Implements MultiAgentDecisionProcessDiscreteInterface.

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

double MultiAgentDecisionProcessDiscrete::GetObservationProbability ( Index  jaI,
Index  sucSI,
Index  joI 
) const
inlinevirtual
double MultiAgentDecisionProcessDiscrete::GetObservationProbability ( Index  sI,
Index  jaI,
Index  sucSI,
Index  joI 
) const
inlinevirtual
OGet * MultiAgentDecisionProcessDiscrete::GetOGet ( ) const
virtual
bool MultiAgentDecisionProcessDiscrete::GetSparse ( ) const
inline

Are we using sparse transition and observation models?

Referenced by DecPOMDPDiscrete::CreateNewRewardModel(), and ParserTOIDecPOMDPDiscrete::ParseAgent().

TGet * MultiAgentDecisionProcessDiscrete::GetTGet ( ) const
virtual
const TransitionModelDiscrete* MultiAgentDecisionProcessDiscrete::GetTransitionModelDiscretePtr ( ) const
inlinevirtual

Returns a pointer to the underlying transition model.

If speed is required (for instance when looping through all states) the pointer can be requested by an algorithm. It can than obtain a pointer to the actual implementation type by runtime type identification. (i.e., using typeid and dynamic_cast).

Implements MultiAgentDecisionProcessDiscreteInterface.

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

double MultiAgentDecisionProcessDiscrete::GetTransitionProbability ( Index  sI,
Index  jaI,
Index  sucSI 
) const
inlinevirtual
Index MultiAgentDecisionProcessDiscrete::IndividualToJointActionIndices ( const Index AI_ar) const
inlinevirtual

Returns the joint action index that corresponds to the array of specified individual action indices.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::IndividualToJointActionIndices().

Referenced by ProblemDecTigerWithCreaks::GetJointActionIndex().

Index MultiAgentDecisionProcessDiscrete::IndividualToJointActionIndices ( const std::vector< Index > &  indivActionIndices) const
inlinevirtual

Returns the joint action index that corresponds to the vector of specified individual action indices.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::IndividualToJointActionIndices().

Index MultiAgentDecisionProcessDiscrete::IndividualToJointActionIndices ( const std::vector< Index > &  ja_e,
const Scope agSC 
) const
inlinevirtual

indiv->joint for a restricted set (Scope) of agents

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::IndividualToJointActionIndices().

Index MultiAgentDecisionProcessDiscrete::IndividualToJointObservationIndices ( const std::vector< Index > &  indivObservationIndices) const
inlinevirtual

Returns the joint observation index that corresponds to the vector of specified individual observation indices.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::IndividualToJointObservationIndices().

Referenced by ProblemDecTigerWithCreaks::GetJointObsIndex().

Index MultiAgentDecisionProcessDiscrete::IndividualToJointObservationIndices ( const std::vector< Index > &  jo_e,
const Scope agSC 
) const
inlinevirtual

indiv->joint for a restricted set (Scope) of agents

Reimplemented from MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::IndividualToJointObservationIndices().

bool MultiAgentDecisionProcessDiscrete::Initialize ( )
inline

A function that can be called by other classes in order to request a MultiAgentDecisionProcessDiscrete to (try to) initialize.

References SetInitialized().

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

const std::vector<Index>& MultiAgentDecisionProcessDiscrete::JointToIndividualActionIndices ( Index  jaI) const
inlinevirtual

Returns a vector of indices to indiv.

action indicies corr. to joint action index jaI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::JointToIndividualActionIndices().

Referenced by ProblemFireFighting::FillObservationModel(), and ProblemFireFighting::FillTransitionModel().

std::vector<Index> MultiAgentDecisionProcessDiscrete::JointToIndividualActionIndices ( Index  ja_e,
const Scope agSC 
) const
inlinevirtual

joint->indiv for a restricted set (Scope) of agents

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::JointToIndividualActionIndices().

const std::vector<Index>& MultiAgentDecisionProcessDiscrete::JointToIndividualObservationIndices ( Index  joI) const
inlinevirtual

Returns a vector of indices to indiv.

observation indicies corr. to joint observation index joI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::JointToIndividualObservationIndices().

Referenced by ProblemFireFighting::FillObservationModel(), and ProblemDecTigerWithCreaks::FillObservationModel().

std::vector<Index> MultiAgentDecisionProcessDiscrete::JointToIndividualObservationIndices ( Index  jo_e,
const Scope agSC 
) const
inlinevirtual

joint->indiv for a restricted set (Scope) of agents

Reimplemented from MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::JointToIndividualObservationIndices().

Index MultiAgentDecisionProcessDiscrete::JointToRestrictedJointActionIndex ( Index  jaI,
const Scope agSc_e 
) const
inlinevirtual

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.

action indicies corr. to joint action index jaI.

Implements MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteActions::JointToRestrictedJointActionIndex().

Index MultiAgentDecisionProcessDiscrete::JointToRestrictedJointObservationIndex ( Index  joI,
const Scope agSc_e 
) const
inlinevirtual

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.

observation indicies corr. to joint observation index joI.

Reimplemented from MultiAgentDecisionProcessDiscreteInterface.

References MADPComponentDiscreteObservations::JointToRestrictedJointObservationIndex().

void MultiAgentDecisionProcessDiscrete::Print ( ) const
inline

Prints some information on the MultiAgentDecisionProcessDiscrete.

References SoftPrint().

Index MultiAgentDecisionProcessDiscrete::SampleInitialState ( ) const
inlinevirtual
Index MultiAgentDecisionProcessDiscrete::SampleJointObservation ( Index  jaI,
Index  sucI 
) const
inlinevirtual
Index MultiAgentDecisionProcessDiscrete::SampleJointObservation ( Index  sI,
Index  jaI,
Index  sucI 
) const
inlinevirtual
Index MultiAgentDecisionProcessDiscrete::SampleSuccessorState ( Index  sI,
Index  jaI 
) const
inlinevirtual
bool MultiAgentDecisionProcessDiscrete::SanityCheck ( void  )
private

Check whether models appear valid probability distributions.

This is a private function as to avoid doubts as to what is and is not checked. (when called from a derived class, no derived features are checked).

References _m_A, _m_eventObservability, _m_O, _m_S, MADPComponentDiscreteActions::GetJointActionName(), MADPComponentDiscreteObservations::GetJointObservationName(), GetNrJointActions(), GetNrJointObservations(), GetNrStates(), GetObservationProbability(), MADPComponentDiscreteStates::GetStateName(), GetTransitionProbability(), and Globals::PROB_PRECISION.

Referenced by SetInitialized().

void MultiAgentDecisionProcessDiscrete::SetEventObservability ( bool  eventO)

Indicate whether the observation model is defined over (s',a,s) (an event-driven model) or the standard (s',a)

Default is to not use event-driven models.

References _m_eventObservability.

void MultiAgentDecisionProcessDiscrete::SetFalseNegativeObs ( Index  falseNegativeObs)
inline

Sets the index for false negative observations (see above)

bool MultiAgentDecisionProcessDiscrete::SetInitialized ( bool  b)
protected
void MultiAgentDecisionProcessDiscrete::SetObservationModelPtr ( ObservationModelDiscrete ptr)
inline

Set the obversation model.

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

void MultiAgentDecisionProcessDiscrete::SetObservationProbability ( Index  jaI,
Index  sucSI,
Index  joI,
double  p 
)
inline
void MultiAgentDecisionProcessDiscrete::SetObservationProbability ( Index  sI,
Index  jaI,
Index  sucSI,
Index  joI,
double  p 
)
inline
void MultiAgentDecisionProcessDiscrete::SetSparse ( bool  sparse)

Indicate whether sparse transition and observation models should be used.

Default is to not use sparse models. Only has effect before the class has been initialized.

References _m_sparse.

Referenced by TransitionObservationIndependentMADPDiscrete::AddAgent(), ArgumentUtils::GetDecPOMDPDiscreteInterfaceFromArgs(), ParserTOIDecPOMDPDiscrete::ParseAgent(), ProblemFireFighting::ProblemFireFighting(), and TransitionObservationIndependentMADPDiscrete::SetNrAgents().

void MultiAgentDecisionProcessDiscrete::SetTransitionModelPtr ( TransitionModelDiscrete ptr)
inline

Set the transition model.

Referenced by DecPOMDPDiscrete::ExtractMADPDiscrete().

void MultiAgentDecisionProcessDiscrete::SetTransitionProbability ( Index  sI,
Index  jaI,
Index  sucSI,
double  p 
)
inline
std::string MultiAgentDecisionProcessDiscrete::SoftPrintState ( Index  sI) const
inlinevirtual

Member Data Documentation

MADPComponentDiscreteActions MultiAgentDecisionProcessDiscrete::_m_A
private
bool MultiAgentDecisionProcessDiscrete::_m_eventObservability
private

Boolean that controls whether the observation model is defined over events.

Referenced by CreateNewObservationModel(), GetOGet(), MultiAgentDecisionProcessDiscrete(), SanityCheck(), and SetEventObservability().

int MultiAgentDecisionProcessDiscrete::_m_falseNegativeObs
private

An index representing false negative observations, which are seen by planners, but not by agents.

This allows us to model and simulate unobservable transitions. A negative value indicates that this property has not been set.

Referenced by MultiAgentDecisionProcessDiscrete().

bool MultiAgentDecisionProcessDiscrete::_m_initialized
private

Boolean to indicate whether this MADPDiscrete has been initialized.

Referenced by CreateNewObservationModel(), CreateNewTransitionModel(), MultiAgentDecisionProcessDiscrete(), SetInitialized(), and SoftPrint().

MADPComponentDiscreteObservations MultiAgentDecisionProcessDiscrete::_m_O
private
MADPComponentDiscreteStates MultiAgentDecisionProcessDiscrete::_m_S
private
bool MultiAgentDecisionProcessDiscrete::_m_sparse
private

Boolean that controls whether sparse transition and observation models are used.

Referenced by CreateNewObservationModel(), CreateNewTransitionModel(), GetOGet(), GetTGet(), MultiAgentDecisionProcessDiscrete(), and SetSparse().