MultiAgentDecisionProcess
PolicyPoolInterface Class Referenceabstract

PolicyPoolInterface is an interface for PolicyPools containing fully defined Joint Policies. More...

#include <PolicyPoolInterface.h>

Inheritance diagram for PolicyPoolInterface:
[legend]

Public Member Functions

size_t Empty () const
 return whether the number of items in the policy pool is 0 More...
 
virtual
PolicyPoolItemInterface_sharedPtr 
GetBestRanked () const =0
 returns the contained item with the highest value. More...
 
virtual void Init (const Interface_ProblemToPolicyDiscretePure *pu)=0
 Initializes the Policy pool with the empty joint policy. More...
 
virtual void Insert (PolicyPoolItemInterface_sharedPtr ppi)=0
 Add a PolicyPoolItem to the Pool. More...
 
virtual PolicyPoolInterfaceoperator= (const PolicyPoolInterface &o)=0
 Copy assignment operator. More...
 
virtual void Pop ()=0
 Removes the item returned by 'Select'. More...
 
virtual void PopBestRanked ()=0
 remove the GetBestRanked() item More...
 
virtual void Prune (double v)=0
 prune the items in the policy pool with exp.value < v More...
 
virtual
PolicyPoolItemInterface_sharedPtr 
Select () const =0
 The 'Select' operator from refGMAA. More...
 
virtual size_t Size () const =0
 return teh number of items in the policy pool More...
 
virtual void Union (PolicyPoolInterface_sharedPtr pp)=0
 add all elements of pp to 'this'. More...
 
virtual ~PolicyPoolInterface ()
 (default) Constructor More...
 

Detailed Description

PolicyPoolInterface is an interface for PolicyPools containing fully defined Joint Policies.

Constructor & Destructor Documentation

virtual PolicyPoolInterface::~PolicyPoolInterface ( )
inlinevirtual

(default) Constructor

Copy constructor. Destructor.

Member Function Documentation

size_t PolicyPoolInterface::Empty ( ) const
inline

return whether the number of items in the policy pool is 0

...

References Size().

virtual PolicyPoolItemInterface_sharedPtr PolicyPoolInterface::GetBestRanked ( ) const
pure virtual

returns the contained item with the highest value.

This function returns a pointer to the PolicyPoolItemInterface contained in this Policy pool with the highest (heuristic) value.

Heuristic is between brackets, because this function is typically used when we found lower bounds (i.e. full policies) and then select the maximum lowerbound.

Implemented in PolicyPoolJPolValPair.

virtual void PolicyPoolInterface::Init ( const Interface_ProblemToPolicyDiscretePure pu)
pure virtual

Initializes the Policy pool with the empty joint policy.

A pointer to a Interface_ProblemToPolicyDiscretePure is needed to create the joint policy.

Implemented in PolicyPoolJPolValPair.

virtual void PolicyPoolInterface::Insert ( PolicyPoolItemInterface_sharedPtr  ppi)
pure virtual

Add a PolicyPoolItem to the Pool.

...

Implemented in PolicyPoolJPolValPair.

virtual PolicyPoolInterface& PolicyPoolInterface::operator= ( const PolicyPoolInterface o)
pure virtual

Copy assignment operator.

This must be implemented by the derived class (with this prototype). For an example, see PolicyPoolJPolValPair.

For now, this function is purely abstract. Might there be some members added to this (base) class, then an implementation could be made. This should then be called using PolicyPoolInterface::operator=(o) from the copy assignment operator of the derived class. See also http://www.icu-project.org/docs/papers/cpp_report/the_assignment_operator_revisited.html.

Implemented in PolicyPoolJPolValPair.

virtual void PolicyPoolInterface::Pop ( )
pure virtual

Removes the item returned by 'Select'.

This removes the next PolicyPoolItem (a wrapper for a partial joint policy, together with some properties), as would be returned by 'Select'.

Implemented in PolicyPoolJPolValPair.

virtual void PolicyPoolInterface::PopBestRanked ( )
pure virtual

remove the GetBestRanked() item

Removes the PolicyPoolItemInterface contained in this Policy pool with the highest (heuristic) value. (as is returned by GetBestRanked() )

Implemented in PolicyPoolJPolValPair.

virtual void PolicyPoolInterface::Prune ( double  v)
pure virtual

prune the items in the policy pool with exp.value < v

...

Implemented in PolicyPoolJPolValPair.

virtual PolicyPoolItemInterface_sharedPtr PolicyPoolInterface::Select ( ) const
pure virtual

The 'Select' operator from refGMAA.

This returns a reference to the next PolicyPoolItem (a wrapper for a partial joint policy, together with some properties).

The returned PolicyPoolItem is not removed from the PolicyPool.

Implemented in PolicyPoolJPolValPair.

virtual size_t PolicyPoolInterface::Size ( ) const
pure virtual

return teh number of items in the policy pool

...

Implemented in PolicyPoolJPolValPair.

Referenced by Empty().

virtual void PolicyPoolInterface::Union ( PolicyPoolInterface_sharedPtr  pp)
pure virtual

add all elements of pp to 'this'.

...

Implemented in PolicyPoolJPolValPair.