MultiAgentDecisionProcess
JointPolicy Class Referenceabstract

JointPolicy is a class that represents a joint policy. More...

#include <JointPolicy.h>

Inheritance diagram for JointPolicy:
[legend]

Public Member Functions

virtual JointPolicyClone () const =0
 Returns a pointer to a copy of this class. More...
 
size_t GetDepth () const
 Returns the depth of the joint policy. More...
 
size_t GetNrAgents () const
 Returns the number of agents for which the joint policy is defined. More...
 
 JointPolicy (size_t nrAg)
 Constructor, initializes the depth to the maximum horizon. More...
 
 JointPolicy (const JointPolicy &o)
 copy constructor: More...
 
virtual bool operator< (const JointPolicy &o) const =0
 less-than operator. More...
 
virtual JointPolicyoperator= (const JointPolicy &o)
 copy assignment operator More...
 
virtual void Print () const
 Prints a description of a joint policy to cout. More...
 
virtual void SetDepth (size_t d)
 Sets the depth of the joint policy. More...
 
virtual std::string SoftPrint () const =0
 Prints a description of a joint policy to a string. More...
 
virtual ~JointPolicy ()
 Destructor. More...
 

Protected Attributes

size_t _m_nrAgents
 some other numbers we cache: More...
 

Private Attributes

size_t _m_depth
 The depth of this joint policy. More...
 

Detailed Description

JointPolicy is a class that represents a joint policy.

It contains the notion of the depth of a policy: a positive number that specifies for how many time steps this policy is specified. I.e., if depth < horizon, the object represents a partially specified policy (specified for time steps 0,...,depth-1)

Constructor & Destructor Documentation

JointPolicy::JointPolicy ( size_t  nrAg)
inline

Constructor, initializes the depth to the maximum horizon.

JointPolicy::JointPolicy ( const JointPolicy o)
inline

copy constructor:

virtual JointPolicy::~JointPolicy ( )
inlinevirtual

Destructor.

Member Function Documentation

virtual JointPolicy* JointPolicy::Clone ( ) const
pure virtual
size_t JointPolicy::GetNrAgents ( ) const
inline

Returns the number of agents for which the joint policy is defined.

References _m_nrAgents.

virtual bool JointPolicy::operator< ( const JointPolicy o) const
pure virtual

less-than operator.

In many cases, it will be necessary to order Joint Policies)

Implemented in JointPolicyPureVector, and PartialJointPolicyPureVector.

virtual JointPolicy& JointPolicy::operator= ( const JointPolicy o)
inlinevirtual

copy assignment operator

Reimplemented in JointPolicyPureVectorForClusteredBG.

References _m_depth, and _m_nrAgents.

Referenced by JointPolicyDiscrete::operator=().

virtual void JointPolicy::SetDepth ( size_t  d)
inlinevirtual
virtual std::string JointPolicy::SoftPrint ( ) const
pure virtual

Prints a description of a joint policy to a string.

Implemented in JointPolicyPureVector, JointPolicyPureVectorForClusteredBG, JointPolicyDiscretePure, and PartialJointPolicyPureVector.

Referenced by Print().

Member Data Documentation

size_t JointPolicy::_m_depth
private

The depth of this joint policy.

The depth of the policy is the number of stages for which it specifies actions. It ranges from:
0 (the empty policy),
1 (a policy specified only for ts=0),
: MAXHORIZON (a policy specified for all stages, the default value).

Referenced by GetDepth(), and operator=().

size_t JointPolicy::_m_nrAgents
protected

some other numbers we cache:

Referenced by GetNrAgents(), operator=(), and JointPolicyDiscrete::SampleJointActionVector().