MultiAgentDecisionProcess
Release 0.2.1
|
PerseusBGPlanner implements the Perseus planning algorithm for BGs. More...
#include <PerseusBGPlanner.h>
Public Member Functions | |
PerseusBGPlanner (const PlanningUnitDecPOMDPDiscrete &pu, const QAVParameters ¶ms) | |
(default) Constructor | |
PerseusBGPlanner (const PlanningUnitDecPOMDPDiscrete &pu) | |
~PerseusBGPlanner () | |
Destructor. | |
![]() | |
AlphaVectorBG (const PlanningUnitDecPOMDPDiscrete &pu) | |
(default) Constructor | |
AlphaVector | BeliefBackup (const JointBeliefInterface &b, Index a, const GaoVectorSet &G, const ValueFunctionPOMDPDiscrete &V, BGBackupType type=BGIP_SOLVER_EXHAUSTIVE) const |
virtual | ~AlphaVectorBG () |
Destructor. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
PerseusQFunctionPlanner (const PlanningUnitDecPOMDPDiscrete &pu) | |
void | Plan () |
virtual | ~PerseusQFunctionPlanner () |
Destructor. | |
![]() | |
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. | |
![]() | |
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 | |
QFunctionsDiscrete | BackupStage (const BeliefSet &S, const QFunctionsDiscrete &V) const |
Compute a Perseus backup stage. | |
QFunctionsDiscrete | BackupStageAll (const BeliefSet &S, const QFunctionsDiscrete &V) const |
QFunctionsDiscrete | BackupStageSampling (const BeliefSet &S, const QFunctionsDiscrete &V) const |
QFunctionsDiscrete | BackupStageSamplingAlt (const BeliefSet &S, const QFunctionsDiscrete &V) const |
Private Attributes | |
BGBackupType | _m_backupType |
Additional Inherited Members | |
![]() | |
static std::string | SoftPrintBackupType (BGBackupType bgBackupType) |
![]() | |
static std::string | BackupTypeToString (const QAVParameters ¶ms) |
static QAVParameters | ProcessArguments (const ArgumentHandlers::Arguments &args) |
![]() | |
std::vector< double > | GetImmediateRewardBeliefSet () const |
void | InitializeBeliefs (int nrB, bool uniquify) |
void | StoreValueFunction (const ValueFunctionPOMDPDiscrete &V) |
void | StoreValueFunction (const QFunctionsDiscrete &Q) |
![]() | |
BeliefSet * | _m_beliefs |
The belief set. | |
QFunctionsDiscrete | _m_qFunction |
The resulting Q functions, derived from _m_valueFunction. | |
ValueFunctionPOMDPDiscrete | _m_valueFunction |
The resulting value function. |
PerseusBGPlanner implements the Perseus planning algorithm for BGs.
Definition at line 41 of file PerseusBGPlanner.h.
PerseusBGPlanner::PerseusBGPlanner | ( | const PlanningUnitDecPOMDPDiscrete & | pu, |
const QAVParameters & | params | ||
) |
(default) Constructor
Definition at line 40 of file PerseusBGPlanner.cpp.
References AlphaVectorPlanning::Initialize().
PerseusBGPlanner::PerseusBGPlanner | ( | const PlanningUnitDecPOMDPDiscrete & | pu | ) |
Definition at line 51 of file PerseusBGPlanner.cpp.
References AlphaVectorPlanning::Initialize().
PerseusBGPlanner::~PerseusBGPlanner | ( | ) |
Destructor.
Definition at line 62 of file PerseusBGPlanner.cpp.
|
private |
Compute a Perseus backup stage.
Definition at line 68 of file PerseusBGPlanner.cpp.
References Perseus::_m_computeVectorForEachBelief, BackupStageAll(), BackupStageSampling(), and BackupStageSamplingAlt().
|
private |
Definition at line 85 of file PerseusBGPlanner.cpp.
References _m_backupType, Perseus::BackupStageLeadIn(), Perseus::BackupStageLeadOut(), AlphaVectorBG::BeliefBackup(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrStates(), AlphaVectorPlanning::GetPU(), BeliefValue::GetValues(), Perseus::GetVerbose(), AlphaVectorPlanning::QFunctionsToValueFunction(), and AlphaVectorPlanning::VectorIsInValueFunction().
Referenced by BackupStage().
|
private |
Definition at line 129 of file PerseusBGPlanner.cpp.
References _m_backupType, Perseus::BackupStageLeadIn(), Perseus::BackupStageLeadOut(), AlphaVectorBG::BeliefBackup(), BeliefValue::GetMaximizingVector(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrStates(), AlphaVectorPlanning::GetPU(), BeliefValue::GetValues(), Perseus::GetVerbose(), AlphaVectorPlanning::QFunctionsToValueFunction(), Perseus::SampleNotImprovedBeliefIndex(), and AlphaVectorPlanning::VectorIsInValueFunction().
Referenced by BackupStage().
|
private |
Definition at line 212 of file PerseusBGPlanner.cpp.
References _m_backupType, Perseus::BackupStageLeadIn(), Perseus::BackupStageLeadOut(), AlphaVectorBG::BeliefBackup(), BeliefValue::GetMaximizingVector(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrStates(), AlphaVectorPlanning::GetPU(), BeliefValue::GetValues(), Perseus::GetVerbose(), AlphaVectorPlanning::QFunctionsToValueFunction(), Perseus::SampleNotImprovedBeliefIndex(), and AlphaVectorPlanning::VectorIsInValueFunction().
Referenced by BackupStage().
|
private |
Definition at line 62 of file PerseusBGPlanner.h.
Referenced by BackupStageAll(), BackupStageSampling(), and BackupStageSamplingAlt().