MultiAgentDecisionProcess
|
AlphaVectorPlanning provides base functionality for alpha-vector based POMDP or BG techniques. More...
#include <AlphaVectorPlanning.h>
Public Member Functions | |
AlphaVectorPlanning (const PlanningUnitDecPOMDPDiscrete *pu) | |
(default) Constructor More... | |
AlphaVectorPlanning (const boost::shared_ptr< const PlanningUnitDecPOMDPDiscrete > &pu) | |
AlphaVectorPlanning (const PlanningUnitFactoredDecPOMDPDiscrete *pu) | |
AlphaVectorPlanning (const boost::shared_ptr< const PlanningUnitFactoredDecPOMDPDiscrete > &pu) | |
GaoVectorSet | BackProject (const ValueFunctionPOMDPDiscrete &v) const |
Back projects a value function. More... | |
GaoVectorSet | BackProject (const VectorSet &v) const |
Back projects a value function, represented as a VectorSet. More... | |
VectorSet | CrossSum (const VectorSet &A, const VectorSet &B) const |
Compute the cross-sum of two vector sets. More... | |
void | ExportPOMDPFile (const std::string &filename) const |
Exports the POMDP to file named filename. More... | |
size_t | GetAcceleratedPruningThreshold () const |
ValueFunctionPOMDPDiscrete | GetImmediateRewardValueFunction () const |
Returns the value function induced by the reward model. More... | |
const PlanningUnitDecPOMDPDiscrete * | GetPU () const |
Returns a ref to the PlanningUnit. More... | |
void | Initialize () |
QFunctionsDiscrete | Prune (const QFunctionsDiscrete &Q) const |
Prune a Q-valuefunction. More... | |
ValueFunctionPOMDPDiscrete | Prune (const ValueFunctionPOMDPDiscrete &V) const |
Prune a POMDP valuefunction. More... | |
VectorSet | Prune (const VectorSet &V) const |
Prune a VectorSet. More... | |
BeliefSet | SampleBeliefs (const ArgumentHandlers::Arguments &args) const |
Sample a belief set according to the arguments. More... | |
BeliefSetNonStationary | SampleBeliefsNonStationary (const ArgumentHandlers::Arguments &args) const |
Sample a non-stationary belief set according to the arguments. More... | |
BeliefSetNonStationary | SampleBeliefsNonStationary (int nrBeliefs=10, int uniqueBeliefs=0, int resetAfter=0, int useQMDPforSamplingBeliefs=0, double QMDPexploreProb=0.1) const |
Sample a non-stationary belief set specifying each argument. More... | |
void | SetAcceleratedPruningThreshold (size_t acceleratedPruningThreshold) |
VectorSet | Union (const VectorSet &A, const VectorSet &B) const |
Computes the union of two vector sets. More... | |
QFunctionsDiscrete | ValueFunctionToQ (const ValueFunctionPOMDPDiscrete &V) const |
virtual | ~AlphaVectorPlanning () |
Destructor. More... | |
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. More... | |
std::vector< double > | GetTimedEventDurations (const std::string &id) |
Returns all stored durations (in s) for a particular event. More... | |
void | LoadTimers (const std::string &filename) |
Load timing info from file filename. More... | |
void | PrintTimers () const |
Print stored timing info. More... | |
void | PrintTimersSummary () const |
Sums data and prints out a summary. More... | |
void | SaveTimers (const std::string &filename) const |
Save collected timing info to file filename. More... | |
void | SaveTimers (std::ofstream &of) const |
Save collected timing info to ofstream of. More... | |
void | StartTimer (const std::string &id) const |
Start to time an event identified by id. More... | |
void | StopTimer (const std::string &id) const |
Stop to time an event identified by id. More... | |
TimedAlgorithm () | |
(default) Constructor More... | |
virtual | ~TimedAlgorithm () |
Destructor. More... | |
Static Public Member Functions | |
static void | CrossSum (const std::vector< AlphaVector > &A, const std::vector< AlphaVector > &B, std::vector< AlphaVector > &output) |
Compute the cross-sum of two vector sets. More... | |
static bool | EqualVS (const VectorSet &VS1, const VectorSet &VS2) |
static void | ExportBeliefSet (const BeliefSet &B, const std::string &filename) |
Exports a belief set to a file. More... | |
static void | ExportPOMDPFile (const std::string &filename, const DecPOMDPDiscreteInterface *decpomdp) |
Exports the POMDP represented by pu to file named filename. More... | |
static void | ExportValueFunction (const std::string &filename, const ValueFunctionPOMDPDiscrete &V, bool includeBGindices=true) |
Exports a value function V to file named filename. More... | |
static void | ExportValueFunction (const std::string &filename, const QFunctionsDiscrete &Q, bool includeBGindices=true) |
Exports a Q functions Q to file named filename. More... | |
static void | ExportValueFunction (const std::string &filename, const QFunctionsDiscreteNonStationary &Q, bool includeBGindices=true) |
Exports a Q functions Q to file named filename. More... | |
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()). More... | |
static ValueFunctionPOMDPDiscrete | GetImmediateRewardValueFunction (const PlanningUnitDecPOMDPDiscrete *pu) |
Returns the value function induced by the reward model of pu. More... | |
static ValueFunctionPOMDPDiscrete | ImportValueFunction (const std::string &filename) |
Imports a value function from a file named filename. More... | |
static QFunctionsDiscreteNonStationary | ImportValueFunction (const std::string &filename, size_t nr, size_t nrA, size_t nrS) |
static ValueFunctionPOMDPDiscrete | QFunctionsToValueFunction (const QFunctionsDiscrete &Q) |
Takes all the vectors from the Q-function Q and throws them together as a 'V' function. More... | |
static std::string | SoftPrint (const VectorSet &VS) |
static QFunctionsDiscrete | ValueFunctionToQ (const ValueFunctionPOMDPDiscrete &V, size_t nrA, size_t nrS) |
static VectorSet | ValueFunctionToVectorSet (const ValueFunctionPOMDPDiscrete &V) |
static bool | VectorIsDominated (const AlphaVector &alpha, const ValueFunctionPOMDPDiscrete &V) |
static bool | VectorIsDominated (Index i, const VectorSet &V, const std::vector< bool > &vectorsInVtoConsider) |
static bool | VectorIsInValueFunction (const AlphaVector &alpha, const ValueFunctionPOMDPDiscrete &V) |
static VectorSet * | VectorOfVectorsToVectorSet (const std::vector< std::vector< double > > &vectors) |
static ValueFunctionPOMDPDiscrete | VectorSetToValueFunction (const VectorSet &VS, Index a=0, AlphaVector::BGPolicyIndex betaI=-1) |
Private Types | |
typedef boost::numeric::ublas::compressed_vector < double > | SparseVector |
Private Member Functions | |
GaoVectorSet | BackProjectFull (const VectorSet &v) const |
Implements equation (3.11) of PhD thesis Matthijs. More... | |
GaoVectorSet | BackProjectSparse (const VectorSet &v) const |
Implements equation (3.11) of PhD thesis Matthijs. More... | |
void | DeInitialize () |
AlphaVectorPlanning provides base functionality for alpha-vector based POMDP or BG techniques.
|
private |
AlphaVectorPlanning::AlphaVectorPlanning | ( | const PlanningUnitDecPOMDPDiscrete * | pu | ) |
(default) Constructor
References _m_initialized, _m_useSparse, GetPU(), and PlanningUnitMADPDiscrete::GetTransitionModelDiscretePtr().
AlphaVectorPlanning::AlphaVectorPlanning | ( | const boost::shared_ptr< const PlanningUnitDecPOMDPDiscrete > & | pu | ) |
AlphaVectorPlanning::AlphaVectorPlanning | ( | const PlanningUnitFactoredDecPOMDPDiscrete * | pu | ) |
References _m_pu.
AlphaVectorPlanning::AlphaVectorPlanning | ( | const boost::shared_ptr< const PlanningUnitFactoredDecPOMDPDiscrete > & | pu | ) |
|
virtual |
Destructor.
References DeInitialize().
GaoVectorSet AlphaVectorPlanning::BackProject | ( | const ValueFunctionPOMDPDiscrete & | v | ) | const |
Back projects a value function.
References _m_useSparse, BackProjectFull(), BackProjectSparse(), and ArgumentHandlers::size().
Referenced by MonahanBGPlanner::BackProjectMonahanBG(), MonahanPOMDPPlanner::BackupStage(), TreeIncPruneBGPlanner::BackupStage(), QBGPlanner_TreeIncPruneBnB::BackupStage(), Perseus::BackupStageLeadIn(), and MonahanBGPlanner::ComputeAllGaoa().
GaoVectorSet AlphaVectorPlanning::BackProject | ( | const VectorSet & | v | ) | const |
Back projects a value function, represented as a VectorSet.
Implements equation (3.11) of PhD thesis Matthijs.
References _m_O, _m_T, _m_useSparse, BackProjectFull(), BackProjectSparse(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrJointObservations(), PlanningUnitMADPDiscrete::GetNrStates(), GetPU(), TimedAlgorithm::StartTimer(), and TimedAlgorithm::StopTimer().
|
private |
Implements equation (3.11) of PhD thesis Matthijs.
The distinction between row and column stems from the fact that in a standard model, _m_O[a] is (s',o), while in an event-driven model, _m_Oe[a][o] is (s,s') (because _m_T[a] is also (s,s')) The distinction between row and column stems from the fact that in a standard model, _m_O[a] is (s',o), while in an event-driven model, _m_Oe[a][o] is (s,s') (because _m_T[a] is also (s,s'))
References _m_O, _m_Oe, _m_T, GetDuplicateIndices(), PlanningUnitMADPDiscreteParameters::GetEventObservability(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrJointObservations(), PlanningUnitMADPDiscrete::GetNrStates(), PlanningUnitMADPDiscrete::GetParams(), GetPU(), TimedAlgorithm::StartTimer(), and TimedAlgorithm::StopTimer().
Referenced by BackProject().
|
private |
Implements equation (3.11) of PhD thesis Matthijs.
References _m_Os, _m_Ts, _m_TsOsForBackup, GetDuplicateIndices(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrJointObservations(), PlanningUnitMADPDiscrete::GetNrStates(), GetPU(), TimedAlgorithm::StartTimer(), and TimedAlgorithm::StopTimer().
Referenced by BackProject().
|
static |
Compute the cross-sum of two vector sets.
Referenced by MonahanBGPlanner::BackupStage(), TreeIncPruneBGPlanner::BackupStage(), TreeIncPruneBGPlanner::CrossSumNode(), QBGPlanner_TreeIncPruneBnB::CrossSumNode(), QBGPlanner_TreeIncPruneBnB::InitializeHeuristicsForJA(), MonahanPOMDPPlanner::MonahanCrossSum(), and MonahanBGPlanner::MonahanCrossSum().
Compute the cross-sum of two vector sets.
|
private |
References _m_eventOsForBackup, _m_initialized, _m_O, _m_Oe, _m_Os, _m_OsForBackup, _m_T, _m_Ts, _m_TsForBackup, and _m_TsOsForBackup.
Referenced by Initialize(), and ~AlphaVectorPlanning().
References Globals::EqualReward().
Referenced by TreeIncPruneBGPlanner::CheckCache_Union().
|
static |
Exports a belief set to a file.
Referenced by PerseusStationary::ExportBeliefSet().
|
static |
Exports the POMDP represented by pu to file named filename.
Export is in Tony Cassandra's POMDP file format.
References Globals::COST, DecPOMDPInterface::GetDiscount(), MultiAgentDecisionProcessDiscreteInterface::GetISD(), MultiAgentDecisionProcessDiscreteInterface::GetJointAction(), MultiAgentDecisionProcessDiscreteInterface::GetJointObservation(), MultiAgentDecisionProcessDiscreteInterface::GetNrJointActions(), MultiAgentDecisionProcessDiscreteInterface::GetNrJointObservations(), MultiAgentDecisionProcessDiscreteInterface::GetNrStates(), MultiAgentDecisionProcessDiscreteInterface::GetObservationProbability(), StateDistribution::GetProbability(), DecPOMDPDiscreteInterface::GetReward(), DecPOMDPInterface::GetRewardType(), MultiAgentDecisionProcessDiscreteInterface::GetState(), MultiAgentDecisionProcessDiscreteInterface::GetTransitionProbability(), Globals::REWARD, JointObservation::SoftPrintBrief(), JointAction::SoftPrintBrief(), and NamedDescribedEntity::SoftPrintBrief().
Referenced by ExportPOMDPFile().
void AlphaVectorPlanning::ExportPOMDPFile | ( | const std::string & | filename | ) | const |
Exports the POMDP to file named filename.
References ExportPOMDPFile(), and GetPU().
|
static |
Exports a value function V to file named filename.
Export is in a simple text format used by Tony Cassandra for .alpha files.
The format is simply:
<action>
<action>
Referenced by PerseusNonStationary::ExportValueFunction(), PerseusStationary::ExportValueFunction(), ExportValueFunction(), MonahanPlanner::Plan(), Perseus::PlanStartOfIteration(), Prune(), and MonahanPlanner::Save().
|
static |
Exports a Q functions Q to file named filename.
References ExportValueFunction(), and QFunctionsToValueFunction().
|
static |
Exports a Q functions Q to file named filename.
References ExportValueFunction().
size_t AlphaVectorPlanning::GetAcceleratedPruningThreshold | ( | ) | const |
References _m_acceleratedPruningThreshold.
|
static |
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()).
References PrintTools::PrintVectorCout(), and Globals::PROB_PRECISION.
Referenced by BackProjectFull(), and BackProjectSparse().
ValueFunctionPOMDPDiscrete AlphaVectorPlanning::GetImmediateRewardValueFunction | ( | ) | const |
Returns the value function induced by the reward model.
References GetPU().
Referenced by PerseusNonStationary::GetImmediateRewardBeliefSet(), PerseusStationary::GetImmediateRewardBeliefSet(), and MonahanPlanner::Plan().
|
static |
Returns the value function induced by the reward model of pu.
References PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrStates(), PlanningUnitDecPOMDPDiscrete::GetReward(), AlphaVector::SetAction(), and AlphaVector::SetValue().
|
inline |
Returns a ref to the PlanningUnit.
Referenced by AlphaVectorPlanning(), AlphaVectorWeighted::AlphaVectorWeighted(), BackProject(), BackProjectFull(), MonahanBGPlanner::BackProjectMonahanBG(), BackProjectSparse(), AlphaVectorWeighted::BackProjectWeights(), PerseusPOMDPPlanner::BackupStage(), MonahanBGPlanner::BackupStage(), MonahanPOMDPPlanner::BackupStage(), PerseusConstrainedPOMDPPlanner::BackupStage(), TreeIncPruneBGPlanner::BackupStage(), QBGPlanner_TreeIncPruneBnB::BackupStage(), PerseusBGPOMDPPlanner::BackupStageAll(), PerseusBGNSPlanner::BackupStageAll(), PerseusBGPlanner::BackupStageAll(), Perseus::BackupStageLeadOut(), PerseusBGNSPlanner::BackupStageSampling(), PerseusBGPlanner::BackupStageSampling(), PerseusBGPOMDPPlanner::BackupStageSamplingAlt(), PerseusBGPlanner::BackupStageSamplingAlt(), MonahanBGPlanner::BackupStageSlow(), AlphaVectorPOMDP::BeliefBackup(), AlphaVectorConstrainedPOMDP::BeliefBackup(), AlphaVectorBG::BeliefBackupBGIP_Solver(), AlphaVectorBG::BeliefBackupExhaustiveOnlyKeepMax(), AlphaVectorBG::BeliefBackupExhaustiveStoreAll(), AlphaVectorConstrainedPOMDP::BeliefBackupQ(), Perseus::CheckConvergence(), QBGPlanner_TreeIncPruneBnB::CheckDominationPointWise(), MonahanBGPlanner::ComputeAllGaoa(), MonahanBGPlanner::ComputeGaoa(), TreeIncPruneBGPlanner::ComputeKey(), ExportPOMDPFile(), TreeIncPruneBGPlanner::GetGaoa(), QBGPlanner_TreeIncPruneBnB::GetGaoa(), PerseusNonStationary::GetImmediateRewardBeliefSet(), PerseusStationary::GetImmediateRewardBeliefSet(), GetImmediateRewardValueFunction(), Perseus::GetInitialNonStationaryQFunctions(), Perseus::GetInitialQFunctions(), Perseus::GetInitialValueFunction(), AlphaVectorBG::GetMask(), TreeIncPruneBGPlanner::GetObservationsFromDepth(), MonahanPlanner::GetQ(), TreeIncPruneBGPlanner::GetValidActions(), TreeIncPruneBGPlanner::Initialize(), QBGPlanner_TreeIncPruneBnB::Initialize(), Initialize(), PerseusNonStationary::Load(), MonahanPlanner::Load(), MonahanPOMDPPlanner::MonahanCrossSum(), MonahanBGPlanner::MonahanCrossSum(), MonahanPlanner::Plan(), PerseusNonStationaryQPlanner::PlanAll(), Perseus::PlanEndOfIteration(), Perseus::PlanLeadOut(), PerseusNonStationaryQPlanner::PlanSampling(), Perseus::PlanStartOfIteration(), SampleBeliefs(), SampleBeliefsNonStationary(), TreeIncPruneBGPlanner::SaveStats(), PerseusNonStationary::SetValueFunction(), PerseusStationary::SetValueFunction(), TreeIncPruneBGPlanner::SoftPrintStats(), TreeIncPruneBGPlanner::UnionNode(), Perseus::UpdateValueFunctionName(), and ValueFunctionToQ().
|
static |
Imports a value function from a file named filename.
Function lacks error checking.
References Globals::CastLIndexToIndex(), AlphaVector::GetBetaI(), AlphaVector::SetAction(), AlphaVector::SetBetaI(), and AlphaVector::SetValues().
Referenced by ImportValueFunction(), QAlphaVector::Initialize(), PerseusNonStationary::Load(), PerseusStationary::Load(), MonahanPlanner::Load(), Prune(), PerseusNonStationary::SetValueFunction(), and PerseusStationary::SetValueFunction().
|
static |
References ImportValueFunction(), and ValueFunctionToQ().
void AlphaVectorPlanning::Initialize | ( | ) |
References _m_eventOsForBackup, _m_initialized, _m_O, _m_Oe, _m_Oes, _m_Os, _m_OsForBackup, _m_T, _m_Ts, _m_TsForBackup, _m_TsOsForBackup, _m_useSparse, DeInitialize(), TransitionModelMapping::GetMatrixPtr(), ObservationModelMapping::GetMatrixPtr(), EventObservationModelMapping::GetMatrixPtr(), ObservationModelMappingSparse::GetMatrixPtr(), TransitionModelMappingSparse::GetMatrixPtr(), EventObservationModelMappingSparse::GetMatrixPtr(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrJointObservations(), PlanningUnitMADPDiscrete::GetNrStates(), PlanningUnitMADPDiscrete::GetObservationModelDiscretePtr(), GetPU(), and PlanningUnitMADPDiscrete::GetTransitionModelDiscretePtr().
Referenced by MonahanPOMDPPlanner::Initialize(), TreeIncPruneBGPlanner::Initialize(), QBGPlanner_TreeIncPruneBnB::Initialize(), MonahanBGPlanner::Initialize(), PerseusBGNSPlanner::PerseusBGNSPlanner(), PerseusBGPlanner::PerseusBGPlanner(), PerseusConstrainedPOMDPPlanner::PerseusConstrainedPOMDPPlanner(), PerseusPOMDPPlanner::PerseusPOMDPPlanner(), and PerseusWeightedPlanner::PerseusWeightedPlanner().
QFunctionsDiscrete AlphaVectorPlanning::Prune | ( | const QFunctionsDiscrete & | Q | ) | const |
Prune a Q-valuefunction.
References ArgumentHandlers::size().
Referenced by MonahanBGPlanner::BackupStage(), TreeIncPruneBGPlanner::BackupStage(), PerseusConstrainedPOMDPPlanner::BackupStage(), QBGPlanner_TreeIncPruneBnB::BackupStage(), MonahanBGPlanner::ComputeAllGaoa(), QBGPlanner_TreeIncPruneBnB::InitializeHeuristicsForJA(), MonahanPOMDPPlanner::MonahanCrossSum(), MonahanBGPlanner::MonahanCrossSum(), Prune(), TreeIncPruneBGPlanner::PruneAfterCrossSum(), and TreeIncPruneBGPlanner::PruneAfterUnion().
ValueFunctionPOMDPDiscrete AlphaVectorPlanning::Prune | ( | const ValueFunctionPOMDPDiscrete & | V | ) | const |
Prune a POMDP valuefunction.
References _m_acceleratedPruningThreshold, ExportValueFunction(), Timing::GetEventDurations(), ImportValueFunction(), AlphaVectorPruning::Prune(), PrintTools::SoftPrintVector(), Timing::Start(), and Timing::Stop().
Prune a VectorSet.
References Prune(), ValueFunctionToVectorSet(), and VectorSetToValueFunction().
|
static |
Takes all the vectors from the Q-function Q and throws them together as a 'V' function.
Note: this function does NOT perform any maximization (or pruning)
Referenced by MonahanBGPlanner::BackProjectMonahanBG(), MonahanBGPlanner::BackupStage(), MonahanPOMDPPlanner::BackupStage(), TreeIncPruneBGPlanner::BackupStage(), PerseusConstrainedPOMDPPlanner::BackupStage(), QBGPlanner_TreeIncPruneBnB::BackupStage(), PerseusBGPOMDPPlanner::BackupStageAll(), PerseusBGNSPlanner::BackupStageAll(), PerseusBGPlanner::BackupStageAll(), PerseusBGNSPlanner::BackupStageSampling(), PerseusBGPlanner::BackupStageSampling(), PerseusBGPOMDPPlanner::BackupStageSamplingAlt(), PerseusBGPlanner::BackupStageSamplingAlt(), AlphaVectorWeighted::BeliefBackup(), ExportValueFunction(), MonahanBGPlanner::GetValueFunction(), and TreeIncPruneBGPlanner::GetValueFunction().
BeliefSet AlphaVectorPlanning::SampleBeliefs | ( | const ArgumentHandlers::Arguments & | args | ) | const |
Sample a belief set according to the arguments.
References JointBeliefInterface::Clone(), QMDP::Compute(), DEBUG_AlphaVectorPlanning_BeliefSampling, BeliefInterface::Get(), PlanningUnitDecPOMDPDiscrete::GetDPOMDPD(), PlanningUnit::GetHorizon(), PlanningUnitMADPDiscrete::GetNewJointBeliefInterface(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrStates(), GetPU(), QMDP::GetQ(), Globals::MAXHORIZON, ArgumentHandlers::Arguments::nrBeliefs, ArgumentHandlers::Arguments::QMDPexploreProb, ArgumentHandlers::Arguments::resetAfter, MultiAgentDecisionProcessDiscreteInterface::SampleInitialState(), MultiAgentDecisionProcessDiscreteInterface::SampleJointObservation(), MultiAgentDecisionProcessDiscreteInterface::SampleSuccessorState(), BeliefInterface::SanityCheck(), BeliefInterface::Set(), TimedAlgorithm::StartTimer(), TimedAlgorithm::StopTimer(), ArgumentHandlers::Arguments::uniqueBeliefs, JointBeliefInterface::Update(), and ArgumentHandlers::Arguments::useQMDPforSamplingBeliefs.
Referenced by PerseusStationary::InitializeBeliefs().
BeliefSetNonStationary AlphaVectorPlanning::SampleBeliefsNonStationary | ( | const ArgumentHandlers::Arguments & | args | ) | const |
Sample a non-stationary belief set according to the arguments.
References ArgumentHandlers::Arguments::nrBeliefs, ArgumentHandlers::Arguments::QMDPexploreProb, ArgumentHandlers::Arguments::resetAfter, ArgumentHandlers::Arguments::uniqueBeliefs, and ArgumentHandlers::Arguments::useQMDPforSamplingBeliefs.
Referenced by PerseusNonStationary::InitializeBeliefs().
BeliefSetNonStationary AlphaVectorPlanning::SampleBeliefsNonStationary | ( | int | nrBeliefs = 10 , |
int | uniqueBeliefs = 0 , |
||
int | resetAfter = 0 , |
||
int | useQMDPforSamplingBeliefs = 0 , |
||
double | QMDPexploreProb = 0.1 |
||
) | const |
Sample a non-stationary belief set specifying each argument.
References BeliefSetNonStationary::Add(), PlanningUnitDecPOMDPDiscrete::GetDPOMDPD(), PlanningUnit::GetHorizon(), PlanningUnitMADPDiscrete::GetNewJointBeliefInterface(), PlanningUnitMADPDiscrete::GetNrJointActions(), PlanningUnitMADPDiscrete::GetNrStates(), GetPU(), Globals::MAXHORIZON, MultiAgentDecisionProcessDiscreteInterface::SampleInitialState(), MultiAgentDecisionProcessDiscreteInterface::SampleJointObservation(), MultiAgentDecisionProcessDiscreteInterface::SampleSuccessorState(), BeliefInterface::Set(), TimedAlgorithm::StartTimer(), TimedAlgorithm::StopTimer(), and JointBeliefInterface::Update().
void AlphaVectorPlanning::SetAcceleratedPruningThreshold | ( | size_t | acceleratedPruningThreshold | ) |
References _m_acceleratedPruningThreshold.
Referenced by ArgumentUtils::GetHybridQheuristicFromArgs(), and ArgumentUtils::GetQheuristicFromArgs().
|
static |
Computes the union of two vector sets.
References ValueFunctionToVectorSet(), and VectorSetToValueFunction().
Referenced by TreeIncPruneBGPlanner::UnionNode().
QFunctionsDiscrete AlphaVectorPlanning::ValueFunctionToQ | ( | const ValueFunctionPOMDPDiscrete & | V | ) | const |
References GetPU().
Referenced by ImportValueFunction(), QAlphaVector::Initialize(), MonahanPlanner::Plan(), PerseusStationary::SetValueFunction(), and PerseusStationary::StoreValueFunction().
|
static |
References AlphaVector::SetAction().
|
static |
Referenced by MonahanBGPlanner::MonahanCrossSum(), Prune(), and Union().
|
static |
References AlphaVector::GetNrValues(), and AlphaVector::GetValue().
|
static |
|
static |
References AlphaVector::GetAction(), AlphaVector::GetNrValues(), AlphaVector::GetValue(), and Globals::REWARD_PRECISION.
Referenced by PerseusConstrainedPOMDPPlanner::BackupStage(), PerseusBGPOMDPPlanner::BackupStageAll(), PerseusBGNSPlanner::BackupStageAll(), PerseusBGPlanner::BackupStageAll(), PerseusBGNSPlanner::BackupStageSampling(), PerseusBGPlanner::BackupStageSampling(), PerseusBGPOMDPPlanner::BackupStageSamplingAlt(), and PerseusBGPlanner::BackupStageSamplingAlt().
|
static |
Referenced by MonahanBGPlanner::BackProjectMonahanBG(), and MonahanBGPlanner::ComputeGaoa().
|
static |
|
private |
Referenced by GetAcceleratedPruningThreshold(), Prune(), and SetAcceleratedPruningThreshold().
|
private |
Referenced by DeInitialize(), and Initialize().
|
private |
Referenced by AlphaVectorPlanning(), DeInitialize(), and Initialize().
|
private |
Referenced by BackProject(), BackProjectFull(), DeInitialize(), and Initialize().
|
private |
Referenced by BackProjectFull(), DeInitialize(), and Initialize().
|
private |
Referenced by Initialize().
|
private |
Referenced by BackProjectSparse(), DeInitialize(), and Initialize().
|
private |
Referenced by DeInitialize(), and Initialize().
|
private |
A pointer to the PlanningUnit (which can only be a PlanningUnitDecPOMDPDiscrete or derived type).
Referenced by AlphaVectorPlanning().
|
private |
|
private |
Referenced by BackProject(), BackProjectFull(), DeInitialize(), and Initialize().
|
private |
Referenced by BackProjectSparse(), DeInitialize(), and Initialize().
|
private |
Referenced by DeInitialize(), and Initialize().
|
private |
Referenced by BackProjectSparse(), DeInitialize(), and Initialize().
|
private |
Referenced by AlphaVectorPlanning(), BackProject(), and Initialize().