MultiAgentDecisionProcess
Interface_ProblemToPolicyDiscretePure Class Reference

Interface_ProblemToPolicyDiscretePure is an interface from discrete problems to pure policies. More...

#include <Interface_ProblemToPolicyDiscretePure.h>

Inheritance diagram for Interface_ProblemToPolicyDiscretePure:
[legend]

Public Member Functions

LIndex GetNrJointPolicies (PolicyGlobals::PolicyDomainCategory cat, size_t depth=MAXHORIZON) const
 Get the number of joint policies, given the policy's domain. More...
 
LIndex GetNrPolicies (Index ag, PolicyGlobals::PolicyDomainCategory cat, size_t depth=MAXHORIZON) const
 Get the number of policies for an agent, given the policy's domain. More...
 
virtual ~Interface_ProblemToPolicyDiscretePure ()
 Destructor. More...
 
- Public Member Functions inherited from Interface_ProblemToPolicyDiscrete
virtual bool AreCachedJointToIndivIndices (const PolicyGlobals::PolicyDomainCategory pdc) const =0
 Check whether certain index conversions are cached. More...
 
virtual
PolicyGlobals::PolicyDomainCategory 
GetDefaultIndexDomCat () const =0
 Return the default PolicyDomainCategory for the problem. More...
 
virtual size_t GetNrActions (Index agentI) const =0
 Get the number of invididual actions of a particular agent. More...
 
virtual size_t GetNrAgents () const =0
 Get the number of agents involved in this problem. More...
 
size_t GetNrJointActions () const
 Get the number of joint actions. More...
 
virtual size_t GetNrPolicyDomainElements (Index agentI, PolicyGlobals::PolicyDomainCategory cat, size_t depth=MAXHORIZON) const =0
 Get the number of elements in the domain of an agent's policy. More...
 
virtual Index IndividualToJointActionIndices (const Index *indivIndices) const =0
 Converts individual action indices to a joint action index. More...
 
virtual Index IndividualToJointActionIndices (const std::vector< Index > &indivIndices) const =0
 Converts individual action indices to a joint action index. More...
 
 Interface_ProblemToPolicyDiscrete ()
 (default) Constructor More...
 
virtual std::vector< IndexJointToIndividualPolicyDomainIndices (Index jdI, PolicyGlobals::PolicyDomainCategory cat) const =0
 Converts joint indices to individual policy domain element indices. More...
 
virtual const std::vector
< Index > & 
JointToIndividualPolicyDomainIndicesRef (Index jdI, PolicyGlobals::PolicyDomainCategory cat) const =0
 Converts individual policy domain element indices to joint indices. More...
 
virtual std::string SoftPrintAction (Index agentI, Index actionI) const =0
 Virtual function that has to be implemented by derived class. More...
 
virtual std::string SoftPrintPolicyDomainElement (Index agentI, Index dIndex, PolicyGlobals::PolicyDomainCategory cat) const =0
 Virtual function that has to be implemented by derived class. More...
 
virtual ~Interface_ProblemToPolicyDiscrete ()
 Destructor. More...
 

Detailed Description

Interface_ProblemToPolicyDiscretePure is an interface from discrete problems to pure policies.

I.e., it defines functions that must be implemented by a derived (problem) class such that it can be used to construct a JointPolicyPureVector / PolicyPureVector.

(the class (Joint)PolicyPureVector refers to objects implementing this interface. )

Constructor & Destructor Documentation

virtual Interface_ProblemToPolicyDiscretePure::~Interface_ProblemToPolicyDiscretePure ( )
inlinevirtual

Destructor.

Member Function Documentation

LIndex Interface_ProblemToPolicyDiscretePure::GetNrJointPolicies ( PolicyGlobals::PolicyDomainCategory  cat,
size_t  depth = MAXHORIZON 
) const
inline

Get the number of joint policies, given the policy's domain.

References Interface_ProblemToPolicyDiscrete::GetNrAgents(), and GetNrPolicies().

Referenced by BayesianGameBase::GetNrJointPolicies().

LIndex Interface_ProblemToPolicyDiscretePure::GetNrPolicies ( Index  ag,
PolicyGlobals::PolicyDomainCategory  cat,
size_t  depth = MAXHORIZON 
) const
inline