MultiAgentDecisionProcess
|
JointPolicy is a class that represents a joint policy. More...
#include <JointPolicy.h>
Public Member Functions | |
virtual JointPolicy * | Clone () 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 JointPolicy & | operator= (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... | |
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)
|
inline |
Constructor, initializes the depth to the maximum horizon.
|
inline |
copy constructor:
|
inlinevirtual |
Destructor.
|
pure virtual |
Returns a pointer to a copy of this class.
Implemented in JointPolicyPureVector, JointPolicyDiscrete, JointPolicyPureVectorForClusteredBG, PartialJointPolicyPureVector, JointPolicyDiscretePure, and PartialJointPolicyDiscretePure.
|
inline |
Returns the depth of the joint policy.
References _m_depth.
Referenced by PlanningUnitFactoredDecPOMDPDiscrete::ComputeFSAOHDist(), GMAA_MAAstarClassic::ConstructAndValuateNextPolicies(), BayesianGameForDecPOMDPStage::ConstructExtendedPolicy(), JPPVIndexValuePair::JPPVIndexValuePair(), PartialJPPVIndexValuePair::PartialJPPVIndexValuePair(), JointPolicyPureVectorForClusteredBG::SoftPrint(), and JointPolicyPureVectorForClusteredBG::SoftPrintBrief().
|
inline |
Returns the number of agents for which the joint policy is defined.
References _m_nrAgents.
|
pure virtual |
less-than operator.
In many cases, it will be necessary to order Joint Policies)
Implemented in JointPolicyPureVector, and PartialJointPolicyPureVector.
|
inlinevirtual |
copy assignment operator
Reimplemented in JointPolicyPureVectorForClusteredBG.
References _m_depth, and _m_nrAgents.
Referenced by JointPolicyDiscrete::operator=().
|
inlinevirtual |
Prints a description of a joint policy to cout.
References SoftPrint().
Referenced by AgentBG::Act(), ValueFunctionDecPOMDPDiscrete::CalculateV(), JESPExhaustivePlanner::ExhaustiveBestResponse(), JESPExhaustivePlanner::Plan(), JESPDynamicProgrammingPlanner::Plan(), and SimulationDecPOMDPDiscrete::RunSimulations().
|
inlinevirtual |
Sets the depth of the joint policy.
Reimplemented in JointPolicyPureVector, and PartialJointPolicyPureVector.
Referenced by BayesianGameForDecPOMDPStage::ConstructExtendedPolicy(), PartialJointPolicyPureVector::SetDepth(), and JointPolicyPureVector::SetDepth().
|
pure virtual |
Prints a description of a joint policy to a string.
Implemented in JointPolicyPureVector, JointPolicyPureVectorForClusteredBG, JointPolicyDiscretePure, and PartialJointPolicyPureVector.
Referenced by Print().
|
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=().
|
protected |
some other numbers we cache:
Referenced by GetNrAgents(), operator=(), and JointPolicyDiscrete::SampleJointActionVector().