MultiAgentDecisionProcess  Release 0.2.1
MultiAgentDecisionProcessDiscreteInterface Class Reference

MultiAgentDecisionProcessDiscreteInterface is an abstract base class that defines publicly accessible member functions that a discrete multiagent decision process must implement. More...

#include <MultiAgentDecisionProcessDiscreteInterface.h>

+ Inheritance diagram for MultiAgentDecisionProcessDiscreteInterface:
+ Collaboration diagram for MultiAgentDecisionProcessDiscreteInterface:

Public Member Functions

virtual
MultiAgentDecisionProcessDiscreteInterface
Clone () const =0
 Returns a pointer to a copy of this class.
virtual const ActionGetAction (Index agentI, Index a) const =0
 Return a ref to the a-th action of agent agentI.
virtual double GetInitialStateProbability (Index sI) const =0
virtual const StateDistributionGetISD () const =0
 Returns the complete initial state distribution.
virtual const JointActionGetJointAction (Index i) const =0
 Return a ref to the i-th joint action.
virtual const JointObservationGetJointObservation (Index i) const =0
 Return a ref to the i-th joint observation.
virtual const std::vector
< size_t > & 
GetNrActions () const =0
 Return the number of actions vector.
virtual size_t GetNrActions (Index AgentI) const =0
 Return the number of actions of agent agentI.
virtual size_t GetNrJointActions () const =0
 Return the number of joiny actions.
virtual size_t GetNrJointObservations () const =0
 Return the number of joiny observations.
virtual const std::vector
< size_t > & 
GetNrObservations () const =0
 Return the number of observations vector.
virtual size_t GetNrObservations (Index AgentI) const =0
 Return the number of observations of agent agentI.
virtual size_t GetNrStates () const =0
 Return the number of states.
virtual const ObservationGetObservation (Index agentI, Index a) const =0
 Return a ref to the a-th observation of agent agentI.
virtual const
ObservationModelDiscrete
GetObservationModelDiscretePtr () const =0
 Returns a pointer to the underlying observation model.
virtual double GetObservationProbability (Index jaI, Index sucSI, Index joI) const =0
 Return the probability of joint observation joI: P(joI|jaI,sucSI).
virtual OGetGetOGet () const =0
virtual const StateGetState (Index i) const =0
 Returns a pointer to state i.
virtual TGetGetTGet () const =0
virtual const
TransitionModelDiscrete
GetTransitionModelDiscretePtr () const =0
 Returns a pointer to the underlying transition model.
virtual double GetTransitionProbability (Index sI, Index jaI, Index sucSI) const =0
 Return the probability of successor state sucSI: P(sucSI|sI,jaI).
virtual Index IndividualToJointActionIndices (const Index *AI_ar) const =0
 Returns the joint action index that corresponds to the array of specified individual action indices.
virtual Index IndividualToJointActionIndices (const std::vector< Index > &indivActionIndices) const =0
 Returns the joint action index that corresponds to the vector of specified individual action indices.
virtual Index IndividualToJointObservationIndices (const std::vector< Index > &indivObservationIndices) const =0
 Returns the joint observation index that corresponds to the vector of specified individual observation indices.
virtual const std::vector
< Index > & 
JointToIndividualActionIndices (Index jaI) const =0
 Returns a vector of indices to indiv.
virtual const std::vector
< Index > & 
JointToIndividualObservationIndices (Index joI) const =0
 Returns a vector of indices to indiv.
virtual Index SampleInitialState (void) const =0
 Sample a state according to the initial state PDF.
virtual Index SampleJointObservation (Index jaI, Index sucI) const =0
 Sample an observation - needed for simulations.
virtual Index SampleSuccessorState (Index sI, Index jaI) const =0
 Sample a successor state - needed by simulations.
virtual std::string SoftPrint () const =0
 Prints some information on the MultiAgentDecisionProcessDiscreteInterface.
virtual std::string SoftPrintState (Index sI) const =0
virtual ~MultiAgentDecisionProcessDiscreteInterface ()
 Destructor. Can't make a virt.destr. pure abstract!
- Public Member Functions inherited from MultiAgentDecisionProcessInterface
virtual size_t GetNrAgents () const =0
 Return the number of agents.
virtual std::string GetUnixName () const =0
 Returns the base part of the problem filename.
virtual ~MultiAgentDecisionProcessInterface ()
 Destructor.

Detailed Description

MultiAgentDecisionProcessDiscreteInterface is an abstract base class that defines publicly accessible member functions that a discrete multiagent decision process must implement.

This interface is currently implemented by MultiAgentDecisionProcessDiscrete and MultiAgentDecisionProcessDiscreteFactoredStates.

The functions this interface defines relate to actions, observations, transition and observation probabilities. *

Definition at line 66 of file MultiAgentDecisionProcessDiscreteInterface.h.

Constructor & Destructor Documentation

virtual MultiAgentDecisionProcessDiscreteInterface::~MultiAgentDecisionProcessDiscreteInterface ( )
inlinevirtual

Destructor. Can't make a virt.destr. pure abstract!

Definition at line 76 of file MultiAgentDecisionProcessDiscreteInterface.h.

Member Function Documentation

virtual const Action* MultiAgentDecisionProcessDiscreteInterface::GetAction ( Index  agentI,
Index  a 
) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteActions.

virtual double MultiAgentDecisionProcessDiscreteInterface::GetInitialStateProbability ( Index  sI) const
pure virtual
virtual const StateDistribution* MultiAgentDecisionProcessDiscreteInterface::GetISD ( ) const
pure virtual
virtual const JointAction* MultiAgentDecisionProcessDiscreteInterface::GetJointAction ( Index  i) const
pure virtual

Return a ref to the i-th joint action.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteActions.

Referenced by AlphaVectorPlanning::ExportPOMDPFile().

virtual const JointObservation* MultiAgentDecisionProcessDiscreteInterface::GetJointObservation ( Index  i) const
pure virtual

Return a ref to the i-th joint observation.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteObservations.

Referenced by AlphaVectorPlanning::ExportPOMDPFile().

virtual size_t MultiAgentDecisionProcessDiscreteInterface::GetNrActions ( Index  AgentI) const
pure virtual

Return the number of actions of agent agentI.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteActions.

virtual size_t MultiAgentDecisionProcessDiscreteInterface::GetNrJointActions ( ) const
pure virtual
virtual size_t MultiAgentDecisionProcessDiscreteInterface::GetNrJointObservations ( ) const
pure virtual

Return the number of joiny observations.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteObservations.

virtual size_t MultiAgentDecisionProcessDiscreteInterface::GetNrObservations ( Index  AgentI) const
pure virtual

Return the number of observations of agent agentI.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteObservations.

virtual const Observation* MultiAgentDecisionProcessDiscreteInterface::GetObservation ( Index  agentI,
Index  a 
) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteObservations.

virtual const ObservationModelDiscrete* MultiAgentDecisionProcessDiscreteInterface::GetObservationModelDiscretePtr ( ) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MultiAgentDecisionProcessDiscrete.

Referenced by JointBeliefSparse::Update().

virtual double MultiAgentDecisionProcessDiscreteInterface::GetObservationProbability ( Index  jaI,
Index  sucSI,
Index  joI 
) const
pure virtual

Return the probability of joint observation joI: P(joI|jaI,sucSI).

Implemented in TransitionObservationIndependentMADPDiscrete, and MultiAgentDecisionProcessDiscrete.

Referenced by SimulationDecPOMDPDiscrete::Step(), JointBelief::Update(), and JointBeliefSparse::UpdateSlow().

virtual OGet* MultiAgentDecisionProcessDiscreteInterface::GetOGet ( ) const
pure virtual
virtual TGet* MultiAgentDecisionProcessDiscreteInterface::GetTGet ( ) const
pure virtual
virtual const TransitionModelDiscrete* MultiAgentDecisionProcessDiscreteInterface::GetTransitionModelDiscretePtr ( ) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MultiAgentDecisionProcessDiscrete.

virtual double MultiAgentDecisionProcessDiscreteInterface::GetTransitionProbability ( Index  sI,
Index  jaI,
Index  sucSI 
) const
pure virtual

Return the probability of successor state sucSI: P(sucSI|sI,jaI).

Implemented in TransitionObservationIndependentMADPDiscrete, and MultiAgentDecisionProcessDiscrete.

Referenced by SimulationDecPOMDPDiscrete::Step(), JointBelief::Update(), and JointBeliefSparse::UpdateSlow().

virtual Index MultiAgentDecisionProcessDiscreteInterface::IndividualToJointActionIndices ( const Index *  AI_ar) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteActions.

virtual Index MultiAgentDecisionProcessDiscreteInterface::IndividualToJointActionIndices ( const std::vector< Index > &  indivActionIndices) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteActions.

virtual Index MultiAgentDecisionProcessDiscreteInterface::IndividualToJointObservationIndices ( const std::vector< Index > &  indivObservationIndices) const
pure virtual

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

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteObservations.

virtual const std::vector<Index>& MultiAgentDecisionProcessDiscreteInterface::JointToIndividualActionIndices ( Index  jaI) const
pure virtual

Returns a vector of indices to indiv.

action indicies corr. to joint action index jaI.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteActions.

virtual const std::vector<Index>& MultiAgentDecisionProcessDiscreteInterface::JointToIndividualObservationIndices ( Index  joI) const
pure virtual

Returns a vector of indices to indiv.

observation indicies corr. to joint observation index jaI.

Implemented in TransitionObservationIndependentMADPDiscrete, and MADPComponentDiscreteObservations.

virtual Index MultiAgentDecisionProcessDiscreteInterface::SampleInitialState ( void  ) const
pure virtual
virtual Index MultiAgentDecisionProcessDiscreteInterface::SampleJointObservation ( Index  jaI,
Index  sucI 
) const
pure virtual
virtual Index MultiAgentDecisionProcessDiscreteInterface::SampleSuccessorState ( Index  sI,
Index  jaI 
) const
pure virtual
virtual std::string MultiAgentDecisionProcessDiscreteInterface::SoftPrintState ( Index  sI) const
pure virtual

The documentation for this class was generated from the following file: