MultiAgentDecisionProcess
PartialJPPVIndexValuePair Class Reference

PartialJPPVIndexValuePair represents a (PartialJointPolicyPureVector,Value) pair. More...

#include <PartialJPPVIndexValuePair.h>

Inheritance diagram for PartialJPPVIndexValuePair:
[legend]

Public Member Functions

PartialJointPolicyDiscretePureGetJPol ()
 
PartialJointPolicyPureVectorGetPartialJPPV ()
 
 PartialJPPVIndexValuePair (PartialJointPolicyPureVector *jp, double val)
 
 PartialJPPVIndexValuePair (const PartialJointPolicyPureVector &jp, double val)
 
std::string SoftPrint () const
 Softprint the PartialPolicyPoolItemInterface. More...
 
std::string SoftPrintBrief () const
 Softprint the PartialPolicyPoolItemInterface in brief. More...
 
 ~PartialJPPVIndexValuePair ()
 Destructor. More...
 
- Public Member Functions inherited from PartialJointPolicyValuePair
double GetValue () const
 Returns the heuristic value. More...
 
PartialJointPolicyValuePairoperator= (const PartialJointPolicyValuePair &o)
 Copy assignment operator. More...
 
 PartialJointPolicyValuePair (double val)
 (default) Constructor More...
 
void SetValue (double value)
 Sets the heuristic value. More...
 
 ~PartialJointPolicyValuePair ()
 Destructor. More...
 
- Public Member Functions inherited from PartialPolicyPoolItemInterface
virtual void CleanUpBGIPSolver ()=0
 Deletes the BGIPSolver instance associated with this PPI. More...
 
virtual
PartialPolicyPoolItemInterface
Clone () const =0
 Returns a pointer to a copy of this class. More...
 
virtual boost::shared_ptr
< BGCG_Solver
GetBGCGSolverPointer () const =0
 Returns a pointer to the BGIPSolver instance generated by this PartialJointPolicyDiscretePure. More...
 
virtual boost::shared_ptr
< BayesianGameIdenticalPayoffSolver_T
< JointPolicyPureVectorForClusteredBG > > 
GetBGIPSolver_T_PointerCluster () const =0
 Returns a pointer to the BGIPSolver instance generated by this PartialJointPolicyDiscretePure. More...
 
virtual boost::shared_ptr
< BayesianGameIdenticalPayoffSolver_T
< JointPolicyPureVector > > 
GetBGIPSolver_T_PointerJPPV () const =0
 Returns a pointer to the BGIPSolver instance generated by this PartialJointPolicyDiscretePure. More...
 
virtual boost::shared_ptr
< BayesianGameIdenticalPayoffSolver
GetBGIPSolverPointer () const =0
 Returns a pointer to the BGIPSolver instance generated by this PartialJointPolicyDiscretePure. More...
 
virtual boost::shared_ptr
< PartialJointPolicyDiscretePure
GetJPol () const =0
 Copy assignment operator. More...
 
void Print () const
 Prints a description to stdout. More...
 
void PrintBrief () const
 Prints a brief description to stdout. More...
 
virtual void SetBGCGSolverPointer (const boost::shared_ptr< BGCG_Solver > &bgcgs)=0
 Sets the pointer to the BGIPSolver instance associated with this PartialJointPolicyDiscretePure. More...
 
virtual void SetBGIPSolver_T_Pointer (const boost::shared_ptr< BayesianGameIdenticalPayoffSolver_T< JointPolicyPureVector > > &bgips)=0
 Sets the pointer to the BGIPSolver instance associated with this PartialJointPolicyDiscretePure. More...
 
virtual void SetBGIPSolver_T_Pointer (const boost::shared_ptr< BayesianGameIdenticalPayoffSolver_T< JointPolicyPureVectorForClusteredBG > > &bgips)=0
 Sets the pointer to the BGIPSolver instance associated with this PartialJointPolicyDiscretePure. More...
 
virtual void SetBGIPSolverPointer (const boost::shared_ptr< BayesianGameIdenticalPayoffSolver > &bgips)=0
 Sets the pointer to the BGIPSolver instance associated with this PartialJointPolicyDiscretePure. More...
 
virtual ~PartialPolicyPoolItemInterface ()
 (default) Constructor More...
 

Private Member Functions

void AllocateJPPV ()
 

Private Attributes

PartialJointPolicyPureVector_m_jpol
 
size_t _m_jpolDepth
 
LIndex _m_jpolIndex
 
double _m_pastR
 
const
Interface_ProblemToPolicyDiscretePure
_m_pu
 

Detailed Description

PartialJPPVIndexValuePair represents a (PartialJointPolicyPureVector,Value) pair.

It stores the LIindex of the the PartialJointPolicyPureVector.

In contrast, JPPVValPair maintains a pointer to the PartialJointPolicyPureVector. This class only stores the LIndex of the PartialJointPolicyPureVector, allowing to free memory. Therefore, this class should be preferred over JPPVValPair when a lot of policies (i.e., policy items) will be retained in memory. E.g., in MAA* like algorithms.

For instance the NewPPI() function in GMAA_MAAstar uses this class (and consequently frees the memory).

Constructor & Destructor Documentation

PartialJPPVIndexValuePair::PartialJPPVIndexValuePair ( PartialJointPolicyPureVector jp,
double  val 
)
PartialJPPVIndexValuePair::PartialJPPVIndexValuePair ( const PartialJointPolicyPureVector jp,
double  val 
)
PartialJPPVIndexValuePair::~PartialJPPVIndexValuePair ( )

Destructor.

References _m_jpol.

Member Function Documentation

void PartialJPPVIndexValuePair::AllocateJPPV ( )
private
PartialJointPolicyDiscretePure* PartialJPPVIndexValuePair::GetJPol ( )
inline

References GetPartialJPPV().

PartialJointPolicyPureVector * PartialJPPVIndexValuePair::GetPartialJPPV ( )

References _m_jpol, and AllocateJPPV().

Referenced by GetJPol().

string PartialJPPVIndexValuePair::SoftPrint ( ) const
virtual
string PartialJPPVIndexValuePair::SoftPrintBrief ( ) const
virtual

Member Data Documentation

size_t PartialJPPVIndexValuePair::_m_jpolDepth
private
LIndex PartialJPPVIndexValuePair::_m_jpolIndex
private
double PartialJPPVIndexValuePair::_m_pastR
private
const Interface_ProblemToPolicyDiscretePure* PartialJPPVIndexValuePair::_m_pu
private