MultiAgentDecisionProcess
Release 0.2.1
Main Page
Namespaces
Classes
Files
File List
File Members
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"
39
#include "
PlanningUnitDecPOMDPDiscrete.h
"
40
#include "
GeneralizedMAAStarPlanner.h
"
41
42
//needed becaise of inline at bottom of file
43
#include "
QFunctionJAOHInterface.h
"
44
45
46
72
class
GeneralizedMAAStarPlannerForDecPOMDPDiscrete
:
73
public
PlanningUnitDecPOMDPDiscrete
,
//don't make virtual (everything will fail!
74
public
GeneralizedMAAStarPlanner
75
{
76
private
:
77
protected
:
79
//GeneralizedMAAStarPlannerForDecPOMDPDiscrete
80
QFunctionJAOHInterface
*
_m_qHeuristic
;
81
82
//Functions that can be overriden by derived classes to influence the working of
83
//GMAA:
84
86
virtual
PartialJointPolicyDiscretePure
*
NewJPol
()
const
;
88
91
virtual
PartialPolicyPoolItemInterface
*
NewPPI
(
PartialJointPolicyDiscretePure
* jp,
92
double
v)
const
;
94
97
virtual
PartialPolicyPoolInterface
*
NewPP
()
const
;
98
119
virtual
PartialJointPolicyDiscretePure
*
ConstructExtendedJointPolicy
(
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.
132
GeneralizedMAAStarPlannerForDecPOMDPDiscrete
(
133
const
PlanningUnitMADPDiscreteParameters
¶ms,
134
size_t
horizon=3,
135
DecPOMDPDiscreteInterface
* p=0,
136
int
verbose_level=0
137
);
138
139
GeneralizedMAAStarPlannerForDecPOMDPDiscrete
(
140
size_t
horizon=3,
141
DecPOMDPDiscreteInterface
* p=0);
142
144
//~GeneralizedMAAStarPlannerForDecPOMDPDiscrete();
146
GeneralizedMAAStarPlannerForDecPOMDPDiscrete
&
operator=
(
const
147
GeneralizedMAAStarPlannerForDecPOMDPDiscrete
& o);
148
149
void
SetQHeuristic
(
QFunctionJAOHInterface
& q)
150
{
_m_qHeuristic
= &q;}
151
void
SetQHeuristic
(
QFunctionJAOHInterface
* q)
152
{
_m_qHeuristic
= q;}
153
154
virtual
GeneralizedMAAStarPlannerForDecPOMDPDiscrete
*
155
GetThisFromMostDerivedPU
()
156
{
return
this
; }
157
//some functions necessary because we derive from
158
//PlanningUnitDecPOMDPDiscrete
159
void
Plan
()
160
{
GeneralizedMAAStarPlanner::Plan
(); }
161
double
GetExpectedReward
()
const
162
{
return
GeneralizedMAAStarPlanner::GetExpectedReward
(); }
163
JointPolicy
*
GetJointPolicy
()
164
{
return
GeneralizedMAAStarPlanner::GetJointPolicy
(); }
165
166
};
167
168
inline
169
double
GeneralizedMAAStarPlannerForDecPOMDPDiscrete::
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: ***
src
planning
GeneralizedMAAStarPlannerForDecPOMDPDiscrete.h
Generated on Mon Sep 23 2013 14:50:05 for MultiAgentDecisionProcess by
1.8.1.2