MultiAgentDecisionProcess  Release 0.2.1
JPolComponent_VectorImplementation Class Reference

JPolComponent_VectorImplementation implements functionality common to several joint policy implementations. More...

#include <JPolComponent_VectorImplementation.h>

+ Inheritance diagram for JPolComponent_VectorImplementation:
+ Collaboration diagram for JPolComponent_VectorImplementation:

Public Member Functions

Index GetActionIndex (Index aI, Index domainI) const
 Returns the action index for domainI for agent aI.
LIndex GetIndex () const
 Get the index of this joint policy.
std::vector< PolicyPureVector * > & GetIndividualPolicies ()
 Returns a reference to the vector of pointers to individual policies.
virtual PolicyDiscreteGetIndividualPolicyDiscrete (Index agI) const
Index GetJointActionIndex (Index i) const
 Returns the jaI taken by this policy for joint domain index johI.
bool Increment (Index agentI)
 Increments the individual policy of agentI.
bool Increment ()
 Increments the joint policy, used to iterate over joint policies.
 JPolComponent_VectorImplementation (const Interface_ProblemToPolicyDiscretePure &pu, size_t depth=MAXHORIZON)
 (default) Constructor
 JPolComponent_VectorImplementation (const Interface_ProblemToPolicyDiscretePure &pu, PolicyGlobals::IndexDomainCategory idc, size_t depth=MAXHORIZON)
 JPolComponent_VectorImplementation (const JPolComponent_VectorImplementation &a)
 Copy constructor.
bool operator++ ()
 Performs increment. See Increment().
JPolComponent_VectorImplementationoperator= (const JPolComponent_VectorImplementation &o)
 Copy assignment operator.
void RandomInitialization ()
 Randomly initialize the joint policy.
void RandomInitialization (Index agentI)
 Randomly initialize the policy for agentI.
void SetAction (Index agentI, Index domainI, Index aI)
 Sets the policy for agentI to domainI->aI.
void SetDepthForIndivPols (size_t d)
void SetIndex (LIndex i)
 Sets the index of this joint policy.Updates the policies represented.
std::string SoftPrint () const
 Prints a description of this to a string.
std::string SoftPrintBrief () const
void ZeroInitialization ()
 Initialize the joint policy to the first joint policy.
void ZeroInitialization (Index agentI)
 Initialize the policy of agentI to the first policy.
 ~JPolComponent_VectorImplementation ()
 Destructor.

Protected Attributes

std::vector< PolicyPureVector * > _m_indivPols_PolicyPureVector

Private Member Functions

void ClearIndividualPolicies ()
 Private function that deletes all the individual policies pointed to.
void Construct (const Interface_ProblemToPolicyDiscretePure &pu, PolicyGlobals::IndexDomainCategory idc, size_t depth)
void PrivClone (const JPolComponent_VectorImplementation &o)
 Aux. function used by copy constructors.

Private Attributes

IndexDomainCategory _m_idc
Index * _m_indivActionIndices
 vector for temporarily storing indiv. actions
const
Interface_ProblemToPolicyDiscretePure
_m_PTPDP

Detailed Description

JPolComponent_VectorImplementation implements functionality common to several joint policy implementations.

Definition at line 40 of file JPolComponent_VectorImplementation.h.

Constructor & Destructor Documentation

JPolComponent_VectorImplementation::JPolComponent_VectorImplementation ( const Interface_ProblemToPolicyDiscretePure pu,
size_t  depth = MAXHORIZON 
)
JPolComponent_VectorImplementation::JPolComponent_VectorImplementation ( const Interface_ProblemToPolicyDiscretePure pu,
PolicyGlobals::IndexDomainCategory  idc,
size_t  depth = MAXHORIZON 
)

Definition at line 61 of file JPolComponent_VectorImplementation.cpp.

References Construct().

JPolComponent_VectorImplementation::JPolComponent_VectorImplementation ( const JPolComponent_VectorImplementation a)

Copy constructor.

Definition at line 74 of file JPolComponent_VectorImplementation.cpp.

References PrivClone().

JPolComponent_VectorImplementation::~JPolComponent_VectorImplementation ( )

Destructor.

Definition at line 109 of file JPolComponent_VectorImplementation.cpp.

References _m_indivActionIndices, and ClearIndividualPolicies().

Member Function Documentation

void JPolComponent_VectorImplementation::ClearIndividualPolicies ( )
private

Private function that deletes all the individual policies pointed to.

Definition at line 117 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector.

Referenced by operator=(), and ~JPolComponent_VectorImplementation().

void JPolComponent_VectorImplementation::Construct ( const Interface_ProblemToPolicyDiscretePure pu,
PolicyGlobals::IndexDomainCategory  idc,
size_t  depth 
)
private
Index JPolComponent_VectorImplementation::GetActionIndex ( Index  aI,
Index  domainI 
) const
inline

Returns the action index for domainI for agent aI.

Definition at line 141 of file JPolComponent_VectorImplementation.h.

References _m_indivPols_PolicyPureVector.

Referenced by GetJointActionIndex().

std::vector<PolicyPureVector*>& JPolComponent_VectorImplementation::GetIndividualPolicies ( )
inline

Returns a reference to the vector of pointers to individual policies.

This function should be used to manipulate individual policies.

Definition at line 97 of file JPolComponent_VectorImplementation.h.

References _m_indivPols_PolicyPureVector.

virtual PolicyDiscrete* JPolComponent_VectorImplementation::GetIndividualPolicyDiscrete ( Index  agI) const
inlinevirtual
Index JPolComponent_VectorImplementation::GetJointActionIndex ( Index  i) const
bool JPolComponent_VectorImplementation::Increment ( Index  agentI)
inline

Increments the individual policy of agentI.

Definition at line 122 of file JPolComponent_VectorImplementation.h.

References _m_indivPols_PolicyPureVector.

bool JPolComponent_VectorImplementation::Increment ( )

Increments the joint policy, used to iterate over joint policies.

Definition at line 213 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector, _m_PTPDP, and Interface_ProblemToPolicyDiscrete::GetNrAgents().

Referenced by operator++().

bool JPolComponent_VectorImplementation::operator++ ( )
inline

Performs increment. See Increment().

Definition at line 88 of file JPolComponent_VectorImplementation.h.

References Increment().

JPolComponent_VectorImplementation & JPolComponent_VectorImplementation::operator= ( const JPolComponent_VectorImplementation o)

Copy assignment operator.

Definition at line 140 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector, and ClearIndividualPolicies().

Referenced by JointPolicyPureVector::operator=().

void JPolComponent_VectorImplementation::PrivClone ( const JPolComponent_VectorImplementation o)
private
void JPolComponent_VectorImplementation::RandomInitialization ( )

Randomly initialize the joint policy.

Definition at line 175 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector.

void JPolComponent_VectorImplementation::RandomInitialization ( Index  agentI)

Randomly initialize the policy for agentI.

Definition at line 182 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector, and PolicyPureVector::RandomInitialization().

void JPolComponent_VectorImplementation::SetAction ( Index  agentI,
Index  domainI,
Index  aI 
)
inline

Sets the policy for agentI to domainI->aI.

Definition at line 130 of file JPolComponent_VectorImplementation.h.

References _m_indivPols_PolicyPureVector.

void JPolComponent_VectorImplementation::SetDepthForIndivPols ( size_t  d)
void JPolComponent_VectorImplementation::SetIndex ( LIndex  i)
string JPolComponent_VectorImplementation::SoftPrint ( void  ) const

Prints a description of this to a string.

Definition at line 394 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector, _m_PTPDP, GetIndex(), and Interface_ProblemToPolicyDiscrete::GetNrAgents().

string JPolComponent_VectorImplementation::SoftPrintBrief ( void  ) const

Definition at line 417 of file JPolComponent_VectorImplementation.cpp.

References _m_PTPDP, and GetIndex().

Referenced by JointPolicyPureVector::SoftPrintBrief().

void JPolComponent_VectorImplementation::ZeroInitialization ( )

Initialize the joint policy to the first joint policy.

This is the joint policy that specifies action 0 –the first action– for all observation histories.

Definition at line 193 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector.

void JPolComponent_VectorImplementation::ZeroInitialization ( Index  agentI)

Initialize the policy of agentI to the first policy.

This is the policy that specifies action 0 –the first action– for all observation histories.

Definition at line 200 of file JPolComponent_VectorImplementation.cpp.

References _m_indivPols_PolicyPureVector, and PolicyPureVector::ZeroInitialization().

Member Data Documentation

IndexDomainCategory JPolComponent_VectorImplementation::_m_idc
private
Index* JPolComponent_VectorImplementation::_m_indivActionIndices
private

vector for temporarily storing indiv. actions

(used by GetJointActionIndex)

Definition at line 49 of file JPolComponent_VectorImplementation.h.

Referenced by GetJointActionIndex(), PrivClone(), and ~JPolComponent_VectorImplementation().

const Interface_ProblemToPolicyDiscretePure* JPolComponent_VectorImplementation::_m_PTPDP
private

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