MultiAgentDecisionProcess  Release 0.2.1
PartialPolicyPoolInterface Class Reference

PartialPolicyPoolInterface is an interface for PolicyPools containing Partial Joint Policies. More...

#include <PartialPolicyPoolInterface.h>

+ Inheritance diagram for PartialPolicyPoolInterface:

Public Member Functions

size_t Empty () const
 return whether the number of items in the policy pool is 0
virtual
PartialPolicyPoolItemInterface
GetBestRanked () 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 (PartialPolicyPoolItemInterface *ppi)=0
 Add a PolicyPoolItem to the Pool.
virtual
PartialPolicyPoolInterface
operator= (const PartialPolicyPoolInterface &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
PartialPolicyPoolItemInterface
Select () 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 (PartialPolicyPoolInterface *pp)=0
 add all elements of pp to 'this'.
virtual ~PartialPolicyPoolInterface ()
 (default) Constructor

Detailed Description

PartialPolicyPoolInterface is an interface for PolicyPools containing Partial Joint Policies.

Definition at line 40 of file PartialPolicyPoolInterface.h.

Constructor & Destructor Documentation

virtual PartialPolicyPoolInterface::~PartialPolicyPoolInterface ( )
inlinevirtual

(default) Constructor

Copy constructor. Destructor.

Definition at line 53 of file PartialPolicyPoolInterface.h.

Member Function Documentation

size_t PartialPolicyPoolInterface::Empty ( ) const
inline

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

...

Definition at line 140 of file PartialPolicyPoolInterface.h.

References Size().

Referenced by GeneralizedMAAStarPlanner::Plan(), GeneralizedMAAStarPlanner::SelectKBestPoliciesToProcessFurther(), and GMAA_MAAstar::SelectPoliciesToProcessFurther().

virtual PartialPolicyPoolItemInterface* PartialPolicyPoolInterface::GetBestRanked ( ) const
pure virtual

returns the contained item with the highest value.

This function returns a pointer to the PartialPolicyPoolItemInterface 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 PolicyPoolPartialJPolValPair.

Referenced by GeneralizedMAAStarPlanner::Prune(), and GeneralizedMAAStarPlanner::SelectKBestPoliciesToProcessFurther().

virtual void PartialPolicyPoolInterface::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 PolicyPoolPartialJPolValPair.

Referenced by GeneralizedMAAStarPlanner::Plan().

virtual PartialPolicyPoolInterface& PartialPolicyPoolInterface::operator= ( const PartialPolicyPoolInterface 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 PartialPolicyPoolInterface::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 PolicyPoolPartialJPolValPair.

virtual void PartialPolicyPoolInterface::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 PolicyPoolPartialJPolValPair.

Referenced by GeneralizedMAAStarPlanner::Plan(), GeneralizedMAAStarPlanner::SelectKBestPoliciesToProcessFurther(), and GMAA_MAAstar::SelectPoliciesToProcessFurther().

virtual void PartialPolicyPoolInterface::PopBestRanked ( )
pure virtual

remove the GetBestRanked() item

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

Implemented in PolicyPoolPartialJPolValPair.

Referenced by GeneralizedMAAStarPlanner::Plan(), GeneralizedMAAStarPlanner::Prune(), and GeneralizedMAAStarPlanner::SelectKBestPoliciesToProcessFurther().

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

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

...

Implemented in PolicyPoolPartialJPolValPair.

Referenced by GeneralizedMAAStarPlanner::Plan().

virtual PartialPolicyPoolItemInterface* PartialPolicyPoolInterface::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 PolicyPoolPartialJPolValPair.

Referenced by GMAA_MAAstar::ConstructAndValuateNextPolicies(), GeneralizedMAAStarPlanner::Plan(), and GeneralizedMAAStarPlanner::Prune().

virtual size_t PartialPolicyPoolInterface::Size ( ) const
pure virtual
virtual void PartialPolicyPoolInterface::Union ( PartialPolicyPoolInterface pp)
pure virtual

add all elements of pp to 'this'.

...

Implemented in PolicyPoolPartialJPolValPair.

Referenced by GeneralizedMAAStarPlanner::Plan().


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