MultiAgentDecisionProcess
MultiAgentDecisionProcessDiscreteFactoredStatesInterface Class Referenceabstract

MultiAgentDecisionProcessDiscreteFactoredStatesInterface is the interface for factored state problems. More...

#include <MultiAgentDecisionProcessDiscreteFactoredStatesInterface.h>

Inheritance diagram for MultiAgentDecisionProcessDiscreteFactoredStatesInterface:
[legend]

Public Member Functions

virtual Scope AgentScopeBackup (const Scope &stateScope, const Scope &agentScope) const =0
 
virtual void CacheFlatModels (bool sparse)
 
virtual
MultiAgentDecisionProcessDiscreteFactoredStatesInterface
Clone () const =0
 Returns a pointer to a copy of this class. More...
 
virtual Index FactorValueIndicesToStateIndex (const std::vector< Index > &fv) const =0
 convert std::vector of (indices of) factor values to (flat) state index. More...
 
virtual Index FactorValueIndicesToStateIndex (const std::vector< Index > &s_e_vec, const Scope &sfSC) const =0
 convert an local state vector s_e_vec of scope sfScope to a joint index. More...
 
virtual const
TwoStageDynamicBayesianNetwork
Get2DBN () const
 Copy assignment operator. More...
 
virtual const ScopeGetAllStateFactorScope () const =0
 Convenience function to quickly get the full state scope. More...
 
virtual const
FactoredStateDistribution
GetFactoredISD () const =0
 
virtual size_t GetNrStateFactorInstantiations (const Scope &sfScope) const =0
 Get the number of joint instantiations for the factors in sfScope. More...
 
virtual size_t GetNrStateFactors () const =0
 Get the number of state components. -no is inherited from. More...
 
virtual const size_t GetNrValuesForFactor (Index sf) const =0
 Get the number of possible values for a particular factor. More...
 
virtual const std::vector
< size_t > & 
GetNrValuesPerFactor () const =0
 Get the number of possible assignments or values to each factor. More...
 
virtual const StateFactorDiscreteGetStateFactorDiscrete (Index sfacI) const =0
 
virtual void SampleInitialState (std::vector< Index > &sIs) const =0
 
virtual void SampleJointObservation (const std::vector< Index > &aIs, const std::vector< Index > &sucIs, std::vector< Index > &oIs) const =0
 
virtual void SampleSuccessorState (const std::vector< Index > &sIs, const std::vector< Index > &aIs, std::vector< Index > &sucIs) const =0
 
std::string SoftPrintState (Index sI) const
 SoftPrints information on the MultiAgentDecisionProcessDiscrete. More...
 
virtual Index StateIndexToFactorValueIndex (Index factor, Index s) const =0
 Get the value of a particular state factor given a joint flat state. More...
 
virtual std::vector< IndexStateIndexToFactorValueIndices (Index stateI) const =0
 Get the vector of FactorValue indices corresponding to stateI used to be called virtual vector<Index> GetStateFactorValues(Index stateI) const. More...
 
virtual std::vector< IndexStateIndexToFactorValueIndices (Index s_e, const Scope &sfSC) const =0
 convert an local state index s_e to a vector of state factors (with scope sfScope). More...
 
virtual Scope StateScopeBackup (const Scope &stateScope, const Scope &agentScope) const =0
 
virtual ~MultiAgentDecisionProcessDiscreteFactoredStatesInterface ()
 (default) Constructor More...
 
- Public Member Functions inherited from MultiAgentDecisionProcessDiscreteInterface
virtual const ActionGetAction (Index agentI, Index a) const =0
 Return a ref to the a-th action of agent agentI. More...
 
virtual bool GetEventObservability () const
 Whether observation models are P(o|s,a) or P(o|s,a,s'). More...
 
virtual double GetInitialStateProbability (Index sI) const =0
 
virtual StateDistributionGetISD () const =0
 Returns the complete initial state distribution. More...
 
virtual const JointActionGetJointAction (Index i) const =0
 Return a ref to the i-th joint action. More...
 
virtual const JointObservationGetJointObservation (Index i) const =0
 Return a ref to the i-th joint observation. More...
 
virtual const std::vector
< size_t > & 
GetNrActions () const =0
 Return the number of actions vector. More...
 
virtual size_t GetNrActions (Index AgentI) const =0
 Return the number of actions of agent agentI. More...
 
virtual size_t GetNrJointActions () const =0
 Return the number of joint actions. More...
 
virtual size_t GetNrJointActions (const Scope &agScope) const =0
 Get the number of joint actions the agents in agScope can form. More...
 
virtual size_t GetNrJointObservations () const =0
 Return the number of joint observations. More...
 
virtual const std::vector
< size_t > & 
GetNrObservations () const =0
 Return the number of observations vector. More...
 
virtual size_t GetNrObservations (Index AgentI) const =0
 Return the number of observations of agent agentI. More...
 
virtual size_t GetNrStates () const =0
 Return the number of states. More...
 
virtual const ObservationGetObservation (Index agentI, Index a) const =0
 Return a ref to the a-th observation of agent agentI. More...
 
virtual const
ObservationModelDiscrete
GetObservationModelDiscretePtr () const =0
 Returns a pointer to the underlying observation model. More...
 
virtual double GetObservationProbability (Index jaI, Index sucSI, Index joI) const =0
 Return the probability of joint observation joI: P(joI|jaI,sucSI). More...
 
virtual double GetObservationProbability (Index sI, Index jaI, Index sucSI, Index joI) const
 
virtual OGetGetOGet () const =0
 
virtual const StateGetState (Index i) const =0
 Returns a pointer to state i. More...
 
virtual TGetGetTGet () const =0
 
virtual const
TransitionModelDiscrete
GetTransitionModelDiscretePtr () const =0
 Returns a pointer to the underlying transition model. More...
 
virtual double GetTransitionProbability (Index sI, Index jaI, Index sucSI) const =0
 Return the probability of successor state sucSI: P(sucSI|sI,jaI). More...
 
virtual Index IndividualToJointActionIndices (const Index *AI_ar) const =0
 Returns the joint action index that corresponds to the array of specified individual action indices. More...
 
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. More...
 
virtual Index IndividualToJointActionIndices (const std::vector< Index > &ja_e, const Scope &agSC) const =0
 indiv->joint for a restricted set (Scope) of agents More...
 
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. More...
 
virtual Index IndividualToJointObservationIndices (const std::vector< Index > &jo_e, const Scope &agSC) const
 indiv->joint for a restricted set (Scope) of agents More...
 
virtual const std::vector
< Index > & 
JointToIndividualActionIndices (Index jaI) const =0
 Returns a vector of indices to indiv. More...
 
virtual std::vector< IndexJointToIndividualActionIndices (Index ja_e, const Scope &agSC) const =0
 joint->indiv for a restricted set (Scope) of agents More...
 
virtual const std::vector
< Index > & 
JointToIndividualObservationIndices (Index joI) const =0
 Returns a vector of indices to indiv. More...
 
virtual std::vector< IndexJointToIndividualObservationIndices (Index jo_e, const Scope &agSC) const
 joint->indiv for a restricted set (Scope) of agents More...
 
virtual Index JointToRestrictedJointActionIndex (Index jaI, const Scope &agSc_e) const =0
 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...
 
virtual 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...
 
virtual Index SampleInitialState () const =0
 Sample a state according to the initial state PDF. More...
 
virtual Index SampleJointObservation (Index jaI, Index sucI) const =0
 Sample an observation - needed for simulations. More...
 
virtual Index SampleJointObservation (Index sI, Index jaI, Index sucI) const
 
virtual Index SampleSuccessorState (Index sI, Index jaI) const =0
 Sample a successor state - needed by simulations. More...
 
virtual std::string SoftPrint () const =0
 Prints some information on the MultiAgentDecisionProcessDiscreteInterface. More...
 
virtual ~MultiAgentDecisionProcessDiscreteInterface ()
 Destructor. More...
 
- Public Member Functions inherited from MultiAgentDecisionProcessInterface
virtual const ScopeGetAllAgentScope () const =0
 
virtual size_t GetNrAgents () const =0
 Return the number of agents. More...
 
virtual std::string GetUnixName () const =0
 Returns the base part of the problem filename. More...
 
virtual ~MultiAgentDecisionProcessInterface ()
 Destructor. More...
 

Detailed Description

MultiAgentDecisionProcessDiscreteFactoredStatesInterface is the interface for factored state problems.

Currently it has one implementation: MultiAgentDecisionProcessDiscreteFactoredStates

This class defines the functions that implement/maintain the factored transition and observation models.

Constructor & Destructor Documentation

virtual MultiAgentDecisionProcessDiscreteFactoredStatesInterface::~MultiAgentDecisionProcessDiscreteFactoredStatesInterface ( )
inlinevirtual

(default) Constructor

Copy constructor. Destructor.

Member Function Documentation

virtual Scope MultiAgentDecisionProcessDiscreteFactoredStatesInterface::AgentScopeBackup ( const Scope stateScope,
const Scope agentScope 
) const
pure virtual
virtual void MultiAgentDecisionProcessDiscreteFactoredStatesInterface::CacheFlatModels ( bool  sparse)
inlinevirtual
virtual MultiAgentDecisionProcessDiscreteFactoredStatesInterface* MultiAgentDecisionProcessDiscreteFactoredStatesInterface::Clone ( ) const
pure virtual
virtual Index MultiAgentDecisionProcessDiscreteFactoredStatesInterface::FactorValueIndicesToStateIndex ( const std::vector< Index > &  fv) const
pure virtual

convert std::vector of (indices of) factor values to (flat) state index.

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

virtual Index MultiAgentDecisionProcessDiscreteFactoredStatesInterface::FactorValueIndicesToStateIndex ( const std::vector< Index > &  s_e_vec,
const Scope sfSC 
) const
pure virtual

convert an local state vector s_e_vec of scope sfScope to a joint index.

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

virtual const TwoStageDynamicBayesianNetwork* MultiAgentDecisionProcessDiscreteFactoredStatesInterface::Get2DBN ( ) const
inlinevirtual
virtual const Scope& MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetAllStateFactorScope ( ) const
pure virtual

Convenience function to quickly get the full state scope.

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

virtual const FactoredStateDistribution* MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetFactoredISD ( ) const
pure virtual
virtual size_t MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetNrStateFactorInstantiations ( const Scope sfScope) const
pure virtual

Get the number of joint instantiations for the factors in sfScope.

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

virtual size_t MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetNrStateFactors ( ) const
pure virtual
virtual const size_t MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetNrValuesForFactor ( Index  sf) const
pure virtual
virtual const std::vector<size_t>& MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetNrValuesPerFactor ( ) const
pure virtual
virtual const StateFactorDiscrete* MultiAgentDecisionProcessDiscreteFactoredStatesInterface::GetStateFactorDiscrete ( Index  sfacI) const
pure virtual
virtual void MultiAgentDecisionProcessDiscreteFactoredStatesInterface::SampleInitialState ( std::vector< Index > &  sIs) const
pure virtual
virtual void MultiAgentDecisionProcessDiscreteFactoredStatesInterface::SampleJointObservation ( const std::vector< Index > &  aIs,
const std::vector< Index > &  sucIs,
std::vector< Index > &  oIs 
) const
pure virtual
virtual void MultiAgentDecisionProcessDiscreteFactoredStatesInterface::SampleSuccessorState ( const std::vector< Index > &  sIs,
const std::vector< Index > &  aIs,
std::vector< Index > &  sucIs 
) const
pure virtual
std::string MultiAgentDecisionProcessDiscreteFactoredStatesInterface::SoftPrintState ( Index  sI) const
inlinevirtual
virtual Index MultiAgentDecisionProcessDiscreteFactoredStatesInterface::StateIndexToFactorValueIndex ( Index  factor,
Index  s 
) const
pure virtual

Get the value of a particular state factor given a joint flat state.

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

virtual std::vector<Index> MultiAgentDecisionProcessDiscreteFactoredStatesInterface::StateIndexToFactorValueIndices ( Index  stateI) const
pure virtual

Get the vector of FactorValue indices corresponding to stateI used to be called virtual vector<Index> GetStateFactorValues(Index stateI) const.

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

Referenced by PlanningUnitFactoredDecPOMDPDiscrete::StateIndexToFactorValueIndices().

virtual std::vector<Index> MultiAgentDecisionProcessDiscreteFactoredStatesInterface::StateIndexToFactorValueIndices ( Index  s_e,
const Scope sfSC 
) const
pure virtual

convert an local state index s_e to a vector of state factors (with scope sfScope).

Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.

virtual Scope MultiAgentDecisionProcessDiscreteFactoredStatesInterface::StateScopeBackup ( const Scope stateScope,
const Scope agentScope 
) const
pure virtual