MultiAgentDecisionProcess  Release 0.2.1
GeneralizedMAAStarPlannerForDecPOMDPDiscrete.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _GENERALIZEDMAASTARPLANNERFORDECPOMDPDISCRETE_H_
30 #define _GENERALIZEDMAASTARPLANNERFORDECPOMDPDISCRETE_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include <time.h>
35 #include <sys/times.h>
36 #include <fstream>
37 
38 //#include "Globals.h"
41 
42 //needed becaise of inline at bottom of file
43 #include "QFunctionJAOHInterface.h"
44 
45 
46 
73  public PlanningUnitDecPOMDPDiscrete, //don't make virtual (everything will fail!
75 {
76  private:
77  protected:
79  //GeneralizedMAAStarPlannerForDecPOMDPDiscrete
81 
82 //Functions that can be overriden by derived classes to influence the working of
83 //GMAA:
84 
86  virtual PartialJointPolicyDiscretePure* NewJPol() const;
88 
92  double v) const;
94 
97  virtual PartialPolicyPoolInterface* NewPP() const;
98 
120  const PartialJointPolicyDiscretePure& jpolPrevTs
121  , const JointPolicyDiscretePure& jpolBG
122  , const std::vector<size_t>& nrOHts
123  , const std::vector<Index>& firstOHtsI);
124 
125 
126  inline
127  double GetHeuristicQ(Index joahI, Index jaI) const;
128 
129  public:
130  // Constructor, destructor and copy assignment.
134  size_t horizon=3,
136  int verbose_level=0
137  );
138 
140  size_t horizon=3,
142 
144  //~GeneralizedMAAStarPlannerForDecPOMDPDiscrete();
148 
150  {_m_qHeuristic = &q;}
152  {_m_qHeuristic = q;}
153 
156  { return this; }
157  //some functions necessary because we derive from
158  //PlanningUnitDecPOMDPDiscrete
159  void Plan()
161  double GetExpectedReward() const
165 
166 };
167 
168 inline
170 GetHeuristicQ(Index joahI, Index jaI) const
171 {return(_m_qHeuristic->GetQ(joahI, jaI));}
172 
173 
174 
175 #endif /* !_GENERALIZEDMAASTARPLANNERFORDECPOMDPDISCRETE_H_ */
176 
177 // Local Variables: ***
178 // mode:c++ ***
179 // End: ***