MultiAgentDecisionProcess
MDPSolver Class Referenceabstract

MDPSolver is an interface for MDP solvers. More...

#include <MDPSolver.h>

Inheritance diagram for MDPSolver:
[legend]

Public Member Functions

Index GetMaximizingAction (Index time_step, Index sI)
 
const
PlanningUnitDecPOMDPDiscrete
GetPU () const
 Returns a ref to the PlanningUnit. More...
 
virtual double GetQ (Index time_step, Index sI, Index jaI) const =0
 Get Q-value for finite-horizon case. More...
 
virtual double GetQ (Index sI, Index jaI) const =0
 Get Q-value for infinite-horizon case. More...
 
virtual double GetQ (Index time_step, const JointBeliefInterface &jb, Index jaI) const
 
virtual double GetQ (const JointBeliefInterface &jb, Index jaI) const
 
virtual QTable GetQTable (Index time_step) const =0
 
virtual QTables GetQTables () const =0
 
void LoadQTable (const std::string &filename, QTable &Q)
 
void LoadQTables (const std::string &filename, int nrTables, QTables &Qs)
 
 MDPSolver ()
 (default) Constructor More...
 
 MDPSolver (const PlanningUnitDecPOMDPDiscrete &pu)
 
virtual void Plan ()=0
 
virtual void PlanWithCache (bool computeIfNotCached=true)=0
 
virtual void PlanWithCache (const std::string &filenameCache, bool computeIfNotCached=true)=0
 
void Print () const
 
void SetPU (const PlanningUnitDecPOMDPDiscrete &pu)
 
virtual void SetQTable (const QTable &Q, Index time_step)=0
 
virtual void SetQTables (const QTables &Qs)=0
 
virtual ~MDPSolver ()
 Destructor. More...
 

Private Attributes

const
PlanningUnitDecPOMDPDiscrete
_m_pu
 A pointer to the PlanningUnit (which can only be a #const PlanningUnitDecPOMDPDiscrete or derived type). More...
 

Detailed Description

MDPSolver is an interface for MDP solvers.

Constructor & Destructor Documentation

MDPSolver::MDPSolver ( )
inline

(default) Constructor

MDPSolver::MDPSolver ( const PlanningUnitDecPOMDPDiscrete pu)
inline
MDPSolver::~MDPSolver ( )
virtual

Destructor.

Member Function Documentation

Index MDPSolver::GetMaximizingAction ( Index  time_step,
Index  sI 
)
virtual double MDPSolver::GetQ ( Index  time_step,
Index  sI,
Index  jaI 
) const
pure virtual

Get Q-value for finite-horizon case.

Implemented in MDPPolicyIteration, MDPPolicyIterationGPU, and MDPValueIteration.

Referenced by QMDP::CacheJaohQValues(), QMDP::GetQ(), QMDP::GetQNoCache(), and QMDP::GetQSA().

virtual double MDPSolver::GetQ ( Index  sI,
Index  jaI 
) const
pure virtual

Get Q-value for infinite-horizon case.

Implemented in MDPPolicyIteration, MDPPolicyIterationGPU, and MDPValueIteration.

virtual QTable MDPSolver::GetQTable ( Index  time_step) const
pure virtual
virtual QTables MDPSolver::GetQTables ( ) const
pure virtual
void MDPSolver::LoadQTable ( const std::string &  filename,
QTable Q 
)
void MDPSolver::LoadQTables ( const std::string &  filename,
int  nrTables,
QTables Qs 
)
virtual void MDPSolver::Plan ( )
pure virtual
virtual void MDPSolver::PlanWithCache ( bool  computeIfNotCached = true)
pure virtual
virtual void MDPSolver::PlanWithCache ( const std::string &  filenameCache,
bool  computeIfNotCached = true 
)
pure virtual
void MDPSolver::Print ( ) const

References Globals::MAXHORIZON.

void MDPSolver::SetPU ( const PlanningUnitDecPOMDPDiscrete pu)
inline
virtual void MDPSolver::SetQTable ( const QTable Q,
Index  time_step 
)
pure virtual
virtual void MDPSolver::SetQTables ( const QTables Qs)
pure virtual

Member Data Documentation

const PlanningUnitDecPOMDPDiscrete* MDPSolver::_m_pu
private

A pointer to the PlanningUnit (which can only be a #const PlanningUnitDecPOMDPDiscrete or derived type).