MultiAgentDecisionProcess  Release 0.2.1
PerseusPOMDPPlanner Class Reference

PerseusPOMDPPlanner implements the Perseus planning algorithm for POMDPs. More...

#include <PerseusPOMDPPlanner.h>

+ Inheritance diagram for PerseusPOMDPPlanner:
+ Collaboration diagram for PerseusPOMDPPlanner:

Public Member Functions

 PerseusPOMDPPlanner (const PlanningUnitDecPOMDPDiscrete &pu)
 (default) Constructor
void Plan ()
 ~PerseusPOMDPPlanner ()
 Destructor.
- Public Member Functions inherited from AlphaVectorPOMDP
 AlphaVectorPOMDP (const PlanningUnitDecPOMDPDiscrete &pu)
 (default) Constructor
AlphaVector BeliefBackup (const JointBeliefInterface &b, const GaoVectorSet &G) const
 Computes the AlphaVector resulting from backing up JointBeliefInterface b with the back-projected vectors in G.
AlphaVector BeliefBackup (const JointBeliefInterface &b, Index a, const GaoVectorSet &G) const
virtual ~AlphaVectorPOMDP ()
 Destructor.
- Public Member Functions inherited from AlphaVectorPlanning
 AlphaVectorPlanning (const PlanningUnitDecPOMDPDiscrete &pu)
 (default) Constructor
GaoVectorSet BackProject (const ValueFunctionPOMDPDiscrete &v) const
 Back projects a value function.
GaoVectorSet BackProject (const VectorSet &v) const
 Back projects a value function, represented as a VectorSet.
GaoVectorSet BackProjectMonahan (const QFunctionsDiscrete &Qs) const
GaoVectorSet BackProjectMonahan (const ValueFunctionPOMDPDiscrete &V) const
VectorSet CrossSum (const VectorSet &A, const VectorSet &B) const
 Compute the cross-sum of two vector sets.
void ExportPOMDPFile (const std::string &filename) const
 Exports the POMDP to file named filename.
ValueFunctionPOMDPDiscrete GetImmediateRewardValueFunction () const
 Returns the value function induced by the reward model.
const
PlanningUnitDecPOMDPDiscrete
GetPU () const
 Returns a ref to the PlanningUnit.
void MonahanCrossSum (const GaoVectorSet &G, ValueFunctionPOMDPDiscrete &V, Index a, bool doIncPrune) const
ValueFunctionPOMDPDiscrete Prune (const ValueFunctionPOMDPDiscrete &V) const
 Prune a valuefunction.
VectorSet Prune (const VectorSet &V) const
 Prune a VectorSet.
BeliefSet SampleBeliefs (ArgumentHandlers::Arguments args) const
 Sample a belief set according to the arguments.
QFunctionsDiscrete ValueFunctionToQ (const ValueFunctionPOMDPDiscrete &V) const
virtual ~AlphaVectorPlanning ()
 Destructor.
- Public Member Functions inherited from TimedAlgorithm
void AddTimedEvent (const std::string &id, clock_t duration)
 Adds event of certain duration, e.g., an external program call.
std::vector< double > GetTimedEventDurations (const std::string &id)
 Returns all stored durations (in s) for a particular event.
void LoadTimers (const std::string &filename)
 Load timing info from file filename.
void PrintTimers () const
 Print stored timing info.
void PrintTimersSummary () const
 Sums data and prints out a summary.
void SaveTimers (const std::string &filename) const
 Save collected timing info to file filename.
void SaveTimers (std::ofstream &of) const
 Save collected timing info to ofstream of.
void StartTimer (const std::string &id) const
 Start to time an event identified by id.
void StopTimer (const std::string &id) const
 Stop to time an event identified by id.
 TimedAlgorithm ()
 (default) Constructor
virtual ~TimedAlgorithm ()
 Destructor.
- Public Member Functions inherited from PerseusStationary
void ExportBeliefSet (const std::string &filename) const
 Exports the belief set in a simple matrix format.
void ExportValueFunction (const std::string &filename) const
 Calls AlphaVectorPlanning::ExportValueFunction.
double GetQ (const JointBeliefInterface &b, Index jaI) const
double GetQ (const JointBeliefInterface &b, Index jaI, int &betaMaxI) const
double GetQ (const JointBeliefInterface &b, Index t, Index jaI) const
double GetQ (const JointBeliefInterface &b, Index t, Index jaI, int &betaMaxI) const
QFunctionsDiscrete GetQFunctions () const
ValueFunctionPOMDPDiscrete GetValueFunction () const
 PerseusStationary (const PlanningUnitDecPOMDPDiscrete &pu)
 (default) Constructor
void SetBeliefSet (const BeliefSet &S)
 Sets the belief set S that Perseus should use.
void SetValueFunction (const std::string &filename)
 Sets the value function.
virtual ~PerseusStationary ()
 Destructor.
- Public Member Functions inherited from Perseus
bool CheckConvergence (const std::vector< double > &VB, const std::vector< double > &VBnew, int iter) const
std::string GetIdentification () const
int GetVerbose () const
void Initialize ()
 Perseus (const PlanningUnitDecPOMDPDiscrete &pu)
 (default) Constructor
int SampleNotImprovedBeliefIndex (std::vector< bool > stillNeedToBeImproved, int nrNotImproved) const
 Sample an index of a belief in the set which has not been improved.
void SetComputeVectorForEachBelief (bool compute)
void SetDryrun (bool dryrun)
void SetIdentification (std::string identification)
void SetInitializeWithImmediateReward (bool initReward)
void SetInitializeWithZero (bool initZero)
void SetMaximumNumberOfIterations (int nr)
void SetMinimumNumberOfIterations (int nr)
void SetResultsFilename (std::string filename)
void SetSaveIntermediateValueFunctions (bool save)
void SetSaveTimings (bool save)
void SetVerbose (int verbose)
virtual ~Perseus ()
 Destructor.

Private Member Functions

ValueFunctionPOMDPDiscrete BackupStage (const BeliefSet &S, const ValueFunctionPOMDPDiscrete &V)
 Compute a Perseus backup stage.

Additional Inherited Members

- Static Public Member Functions inherited from AlphaVectorPlanning
static void ExportBeliefSet (const BeliefSet &B, const std::string &filename)
 Exports a belief set to a file.
static void ExportPOMDPFile (const std::string &filename, const PlanningUnitDecPOMDPDiscrete *pu)
 Exports the POMDP represented by pu to file named filename.
static void ExportValueFunction (const std::string &filename, const ValueFunctionPOMDPDiscrete &V)
 Exports a value function V to file named filename.
static void ExportValueFunction (const std::string &filename, const QFunctionsDiscrete &Q)
 Exports a Q functions Q to file named filename.
static void ExportValueFunction (const std::string &filename, const QFunctionsDiscreteNonStationary &Q)
 Exports a Q functions Q to file named filename.
static std::vector< int > GetDuplicateIndices (const VectorSet &V)
 Returns a vector<int> which for each vector k in V specifies whether it is unique, in which case vector<int>[k] is set to -1, or whether it is a duplicate of another vector l in V, in which case vector<int>[k] is set to the index of l, where 0 <= l < V.size()).
static ValueFunctionPOMDPDiscrete GetImmediateRewardValueFunction (const PlanningUnitDecPOMDPDiscrete *pu)
 Returns the value function induced by the reward model of pu.
static ValueFunctionPOMDPDiscrete ImportValueFunction (const std::string &filename)
 Imports a value function from a file named filename.
static
QFunctionsDiscreteNonStationary 
ImportValueFunction (const std::string &filename, size_t nr, size_t nrA, size_t nrS)
static ValueFunctionPOMDPDiscrete QFunctionsToValueFunction (const QFunctionsDiscrete &Q)
static QFunctionsDiscrete ValueFunctionToQ (const ValueFunctionPOMDPDiscrete &V, size_t nrA, size_t nrS)
static bool VectorIsInValueFunction (const AlphaVector &alpha, const ValueFunctionPOMDPDiscrete &V)
- Static Public Member Functions inherited from Perseus
static std::string BackupTypeToString (const QAVParameters &params)
static QAVParameters ProcessArguments (const ArgumentHandlers::Arguments &args)
- Protected Member Functions inherited from PerseusStationary
std::vector< double > GetImmediateRewardBeliefSet () const
void InitializeBeliefs (int nrB, bool uniquify)
void StoreValueFunction (const ValueFunctionPOMDPDiscrete &V)
void StoreValueFunction (const QFunctionsDiscrete &Q)
- Protected Attributes inherited from PerseusStationary
BeliefSet_m_beliefs
 The belief set.
QFunctionsDiscrete _m_qFunction
 The resulting Q functions, derived from _m_valueFunction.
ValueFunctionPOMDPDiscrete _m_valueFunction
 The resulting value function.

Detailed Description

PerseusPOMDPPlanner implements the Perseus planning algorithm for POMDPs.

Definition at line 41 of file PerseusPOMDPPlanner.h.

Constructor & Destructor Documentation

PerseusPOMDPPlanner::PerseusPOMDPPlanner ( const PlanningUnitDecPOMDPDiscrete pu)

(default) Constructor

Definition at line 39 of file PerseusPOMDPPlanner.cpp.

References AlphaVectorPlanning::Initialize().

PerseusPOMDPPlanner::~PerseusPOMDPPlanner ( )

Destructor.

Definition at line 50 of file PerseusPOMDPPlanner.cpp.

Member Function Documentation


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