MultiAgentDecisionProcess
Release 0.2.1
|
PartialPolicyPoolInterface is an interface for PolicyPools containing Partial Joint Policies. More...
#include <PartialPolicyPoolInterface.h>
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 |
PartialPolicyPoolInterface is an interface for PolicyPools containing Partial Joint Policies.
Definition at line 40 of file PartialPolicyPoolInterface.h.
|
inlinevirtual |
(default) Constructor
Copy constructor. Destructor.
Definition at line 53 of file PartialPolicyPoolInterface.h.
|
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().
|
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().
|
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().
|
pure virtual |
Add a PolicyPoolItem to the Pool.
...
Implemented in PolicyPoolPartialJPolValPair.
Referenced by GMAA_MAAstar::ConstructAndValuateNextPolicies(), GMAA_kGMAA::ConstructAndValuateNextPolicies(), GeneralizedMAAStarPlanner::Prune(), and GeneralizedMAAStarPlanner::SelectKBestPoliciesToProcessFurther().
|
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.
|
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().
|
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().
|
pure virtual |
prune the items in the policy pool with exp.value < v
...
Implemented in PolicyPoolPartialJPolValPair.
Referenced by GeneralizedMAAStarPlanner::Plan().
|
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().
|
pure virtual |
return teh number of items in the policy pool
...
Implemented in PolicyPoolPartialJPolValPair.
Referenced by Empty(), GeneralizedMAAStarPlanner::Plan(), GeneralizedMAAStarPlanner::Prune(), and GeneralizedMAAStarPlanner::SelectKBestPoliciesToProcessFurther().
|
pure virtual |
add all elements of pp to 'this'.
...
Implemented in PolicyPoolPartialJPolValPair.
Referenced by GeneralizedMAAStarPlanner::Plan().