MultiAgentDecisionProcess  Release 0.2.1
JointPolicyDiscretePure Class Reference

JointPolicyDiscretePure is represents a pure joint policy for a discrete MADP. More...

#include <JointPolicyDiscretePure.h>

+ Inheritance diagram for JointPolicyDiscretePure:
+ Collaboration diagram for JointPolicyDiscretePure:

Public Member Functions

virtual JointPolicyDiscretePureClone () const =0
 Returns a pointer to a copy of this class.
virtual Index GetActionIndex (Index aI, Index domainI) const =0
 Returns the action index for domainI for agent aI.
double GetActionProb (Index agentI, Index domI, Index aI) const
 Returns the probability that the policy specifies action aI for domain index domI for agentI.
const
Interface_ProblemToPolicyDiscretePure
GetInterfacePTPDiscretePure () const
 Return pointer to the Interface_ProblemToPolicyDiscretePure.
virtual Index GetJointActionIndex (Index i) const =0
 Returns the jaI taken by this policy for joint domain index johI.
double GetJointActionProb (Index i, Index ja) const
 Returns the probability that the policy specifies joint action a for domain index i.
 JointPolicyDiscretePure ()
 default Constructor - constructs empty policy
 JointPolicyDiscretePure (const Interface_ProblemToPolicyDiscretePure &pu, PolicyGlobals::IndexDomainCategory idc)
 (default) Constructor
 JointPolicyDiscretePure (const JointPolicyDiscretePure &a)
 Copy constructor.
virtual JointPolicyDiscretePureoperator= (const JointPolicyDiscretePure &o)
 Copy assignment operator.
virtual void RandomInitialization ()=0
 Randomly initialize the joint policy.
virtual void RandomInitialization (Index agentI)=0
 Randomly initialize the policy for agentI.
virtual void SetAction (Index agentI, Index domainI, Index aI)=0
 Sets the policy for agentI to domainI->aI.
void SetInterfacePTPDiscretePure (Interface_ProblemToPolicyDiscretePure *pu)
 Sets the planning unit for this joint policy.
virtual std::string SoftPrint () const =0
 Prints a description of this JointPolicyPureVector to a string.
virtual std::string SoftPrintBrief () const =0
 Prints a brief description to a string.
virtual JointPolicyPureVectorToJointPolicyPureVector () const =0
virtual ~JointPolicyDiscretePure ()
 Destructor.
- Public Member Functions inherited from JointPolicyDiscrete
IndexDomainCategory GetIndexDomainCategory () const
 returns the Category of the domain over which the indices of this policy are specified.
virtual PolicyDiscreteGetIndividualPolicyDiscrete (Index agI) const =0
 return pointer to individual policy of agent agI
const
Interface_ProblemToPolicyDiscrete
GetInterfacePTPDiscrete () const
 return a pointer to the referred Interface_ProblemToPolicyDiscrete.
size_t GetNrDomainElements (Index agentI) const
 Returns the number of policy domain elements for agent agentI.
 JointPolicyDiscrete ()
 default constructor creates an empty policy
 JointPolicyDiscrete (const Interface_ProblemToPolicyDiscrete &pu, PolicyGlobals::IndexDomainCategory idc)
 (default) Constructor
 JointPolicyDiscrete (const JointPolicyDiscrete &a)
 Copy constructor.
virtual JointPolicyDiscreteoperator= (const JointPolicyDiscrete &o)
 Assignment operator.
Index SampleJointAction (Index i) const
 Returns a sampled joint action.
Index SampleJointAction (const std::vector< Index > &Is) const
 Returns a sampled joint action.
void SampleJointActionVector (Index i, std::vector< Index > &jaVec) const
 Returns a sampled joint action.
void SampleJointActionVector (const std::vector< Index > &Is, std::vector< Index > &jaVec) const
 Returns a sampled joint action.
void SetIndexDomainCategory (IndexDomainCategory idc)
 sets the category of the domain over which the indices of this policy are specified.
void SetInterfacePTPDiscrete (const Interface_ProblemToPolicyDiscrete *p)
 sets the pointer to the Interface_ProblemToPolicyDiscrete.
virtual ~JointPolicyDiscrete ()
 Destructor.
- Public Member Functions inherited from JointPolicy
size_t GetDepth () const
 Returns the depth of the joint policy.
size_t GetNrAgents () const
 Returns the number of agents for which the joint policy is defined.
 JointPolicy (size_t nrAg)
 Constructor, initializes the depth to the maximum horizon.
 JointPolicy (const JointPolicy &o)
 copy constructor:
virtual JointPolicyoperator= (const JointPolicy &o)
 copy assignment operator
virtual void Print () const
 Prints a description of a joint policy to cout.
virtual void SetDepth (size_t d)
 Sets the depth of the joint policy.
virtual ~JointPolicy ()
 Destructor.

Additional Inherited Members

- Protected Attributes inherited from JointPolicy
size_t _m_nrAgents
 some other numbers we cache:

Detailed Description

JointPolicyDiscretePure is represents a pure joint policy for a discrete MADP.

The number of pure joint policies as represented by this class is finite.

Definition at line 47 of file JointPolicyDiscretePure.h.

Constructor & Destructor Documentation

JointPolicyDiscretePure::JointPolicyDiscretePure ( )
inline

default Constructor - constructs empty policy

Definition at line 57 of file JointPolicyDiscretePure.h.

JointPolicyDiscretePure::JointPolicyDiscretePure ( const Interface_ProblemToPolicyDiscretePure pu,
PolicyGlobals::IndexDomainCategory  idc 
)

(default) Constructor

Definition at line 32 of file JointPolicyDiscretePure.cpp.

JointPolicyDiscretePure::JointPolicyDiscretePure ( const JointPolicyDiscretePure a)

Copy constructor.

Definition at line 40 of file JointPolicyDiscretePure.cpp.

virtual JointPolicyDiscretePure::~JointPolicyDiscretePure ( )
inlinevirtual

Destructor.

Definition at line 64 of file JointPolicyDiscretePure.h.

Member Function Documentation

virtual JointPolicyDiscretePure* JointPolicyDiscretePure::Clone ( ) const
pure virtual

Returns a pointer to a copy of this class.

Implements JointPolicyDiscrete.

virtual Index JointPolicyDiscretePure::GetActionIndex ( Index  aI,
Index  domainI 
) const
pure virtual
double JointPolicyDiscretePure::GetActionProb ( Index  agentI,
Index  domI,
Index  aI 
) const
virtual

Returns the probability that the policy specifies action aI for domain index domI for agentI.

Required by JointPolicyDiscrete.

Implements JointPolicyDiscrete.

Definition at line 66 of file JointPolicyDiscretePure.cpp.

References GetActionIndex().

const Interface_ProblemToPolicyDiscretePure* JointPolicyDiscretePure::GetInterfacePTPDiscretePure ( ) const
inline
double JointPolicyDiscretePure::GetJointActionProb ( Index  i,
Index  ja 
) const
virtual

Returns the probability that the policy specifies joint action a for domain index i.

Required by JointPolicyDiscrete.

Implements JointPolicyDiscrete.

Definition at line 60 of file JointPolicyDiscretePure.cpp.

References GetJointActionIndex().

JointPolicyDiscretePure & JointPolicyDiscretePure::operator= ( const JointPolicyDiscretePure o)
virtual

Copy assignment operator.

Definition at line 51 of file JointPolicyDiscretePure.cpp.

Referenced by PartialJointPolicyDiscretePure::operator=(), and JointPolicyPureVector::operator=().

virtual void JointPolicyDiscretePure::RandomInitialization ( )
pure virtual

Randomly initialize the joint policy.

virtual void JointPolicyDiscretePure::RandomInitialization ( Index  agentI)
pure virtual

Randomly initialize the policy for agentI.

virtual void JointPolicyDiscretePure::SetAction ( Index  agentI,
Index  domainI,
Index  aI 
)
pure virtual
void JointPolicyDiscretePure::SetInterfacePTPDiscretePure ( Interface_ProblemToPolicyDiscretePure pu)
inline

Sets the planning unit for this joint policy.

Definition at line 72 of file JointPolicyDiscretePure.cpp.

References JointPolicyDiscrete::SetInterfacePTPDiscrete().

virtual std::string JointPolicyDiscretePure::SoftPrint ( ) const
pure virtual
virtual std::string JointPolicyDiscretePure::SoftPrintBrief ( ) const
pure virtual
virtual JointPolicyPureVector* JointPolicyDiscretePure::ToJointPolicyPureVector ( ) const
pure virtual

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