MultiAgentDecisionProcess
|
MultiAgentDecisionProcessDiscreteFactoredStatesInterface is the interface for factored state problems. More...
#include <MultiAgentDecisionProcessDiscreteFactoredStatesInterface.h>
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 Scope & | GetAllStateFactorScope () 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 StateFactorDiscrete * | GetStateFactorDiscrete (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< Index > | StateIndexToFactorValueIndices (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< Index > | StateIndexToFactorValueIndices (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 Action * | GetAction (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 StateDistribution * | GetISD () const =0 |
Returns the complete initial state distribution. More... | |
virtual const JointAction * | GetJointAction (Index i) const =0 |
Return a ref to the i-th joint action. More... | |
virtual const JointObservation * | GetJointObservation (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 Observation * | GetObservation (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 OGet * | GetOGet () const =0 |
virtual const State * | GetState (Index i) const =0 |
Returns a pointer to state i. More... | |
virtual TGet * | GetTGet () 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< Index > | JointToIndividualActionIndices (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< Index > | JointToIndividualObservationIndices (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 Scope & | GetAllAgentScope () 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... | |
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.
|
inlinevirtual |
(default) Constructor
Copy constructor. Destructor.
|
pure virtual |
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
inlinevirtual |
Reimplemented in FactoredDecPOMDPDiscrete, and FactoredMMDPDiscrete.
Referenced by ArgumentUtils::GetFactoredDecPOMDPDiscreteInterfaceFromArgs().
|
pure virtual |
Returns a pointer to a copy of this class.
Implements MultiAgentDecisionProcessDiscreteInterface.
Implemented in FactoredDecPOMDPDiscrete, FactoredDecPOMDPDiscreteInterface, ProblemFireFightingFactored, ProblemAloha, ProblemFOBSFireFightingFactored, and FactoredMMDPDiscrete.
|
pure virtual |
convert std::vector of (indices of) factor values to (flat) state index.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
pure virtual |
convert an local state vector s_e_vec of scope sfScope to a joint index.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
inlinevirtual |
Copy assignment operator.
Reimplemented in MultiAgentDecisionProcessDiscreteFactoredStates.
Referenced by FSAOHDist_NECOF::FSAOHDist_NECOF(), and FSAOHDist_NECOF::Update().
|
pure virtual |
Convenience function to quickly get the full state scope.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
pure virtual |
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
pure virtual |
Get the number of joint instantiations for the factors in sfScope.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
pure virtual |
Get the number of state components. -no is inherited from.
Get the number of state components.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
Referenced by FSDist_COF::FSDist_COF(), TwoStageDynamicBayesianNetwork::GetYProbability(), TwoStageDynamicBayesianNetwork::InitializeStorage(), TwoStageDynamicBayesianNetwork::SoftPrint(), and FSAOHDist_NECOF::Update().
|
pure virtual |
Get the number of possible values for a particular factor.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
Referenced by FSDist_COF::FSDist_COF(), TwoStageDynamicBayesianNetwork::GetYProbabilitiesExactScopes(), and FSAOHDist_NECOF::Update().
|
pure virtual |
Get the number of possible assignments or values to each factor.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
Referenced by FSAOHDist_NECOF::FSAOHDist_NECOF(), FSAOHDist_NECOF::GetXOHProb_relT(), TwoStageDynamicBayesianNetwork::InitializeIIs(), and FSAOHDist_NECOF::Update().
|
pure virtual |
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
pure virtual |
|
pure virtual |
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
Referenced by SimulationFactoredDecPOMDPDiscrete::Step().
|
pure virtual |
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
Referenced by SimulationFactoredDecPOMDPDiscrete::Step().
|
inlinevirtual |
SoftPrints information on the MultiAgentDecisionProcessDiscrete.
Implements MultiAgentDecisionProcessDiscreteInterface.
|
pure virtual |
Get the value of a particular state factor given a joint flat state.
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
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().
|
pure virtual |
convert an local state index s_e to a vector of state factors (with scope sfScope).
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.
|
pure virtual |
Implemented in MultiAgentDecisionProcessDiscreteFactoredStates.