MultiAgentDecisionProcess  Release 0.2.1
PolicyPoolInterface Class Reference

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

#include <PolicyPoolInterface.h>

+ Inheritance diagram for PolicyPoolInterface:

Public Member Functions

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

Detailed Description

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

Definition at line 40 of file PolicyPoolInterface.h.

Constructor & Destructor Documentation

virtual PolicyPoolInterface::~PolicyPoolInterface ( )
inlinevirtual

(default) Constructor

Copy constructor. Destructor.

Definition at line 53 of file PolicyPoolInterface.h.

Member Function Documentation

size_t PolicyPoolInterface::Empty ( ) const
inline

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

...

Definition at line 140 of file PolicyPoolInterface.h.

References Size().

virtual PolicyPoolItemInterface* 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 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* 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 pp)
pure virtual

add all elements of pp to 'this'.

...

Implemented in PolicyPoolJPolValPair.


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