MultiAgentDecisionProcess
Release 0.2.1
Main Page
Namespaces
Classes
Files
File List
File Members
JESPDynamicProgrammingPlanner.h
Go to the documentation of this file.
1
28
/* Only include this header file once. */
29
#ifndef _JESPDYNAMICPROGRAMMINGPLANNER_H_
30
#define _JESPDYNAMICPROGRAMMINGPLANNER_H_ 1
31
32
/* the include directives */
33
#include <iostream>
34
#include "
Globals.h
"
35
#include "
PlanningUnitDecPOMDPDiscrete.h
"
36
//#include "ValueFunctionDecPOMDPDiscrete.h"
37
#include "
JointPolicyPureVector.h
"
38
//#include "JointPolicy.h"
39
40
class
ValueFunctionDecPOMDPDiscrete
;
41
//class JointPolicyPureVector;
42
class
JointPolicy
;
43
class
IndividualBeliefJESP
;
44
46
48
class
JESPDynamicProgrammingPlanner
:
public
PlanningUnitDecPOMDPDiscrete
49
{
50
private
:
51
//the best found policy
52
JointPolicyPureVector
_m_foundPolicy
;
53
//the expected reward of the best found policy
54
double
_m_expectedRewardFoundPolicy
;
55
//intermediate result from ExhaustiveBestResponse
56
//JointPolicyPureVector _m_exhBRBestPol;
57
protected
:
59
68
double
DPBestResponseRecursively
(
69
const
Index
agentI,
70
const
Index
aohI,
71
const
IndividualBeliefJESP
& B,
72
const
Index
stage,
73
JointPolicyPureVector
* jpol,
74
std::vector<Index>& new_pol
75
);
76
void
ConstructPolicyRecursively
(
77
const
Index
agentI,
//the agent we are computing for
78
const
Index
aohI,
//the action-observation history of agentI
79
const
Index
ohI,
//the observation history of agentI
80
const
Index
stage,
//the stage of B
81
JointPolicyPureVector
* jpol,
//the joint policy
82
std::vector<Index>& new_pol
83
);
84
public
:
85
86
// Constructor, destructor and copy assignment.
87
// (default) Constructor
88
//JESPDynamicProgrammingPlanner();
89
JESPDynamicProgrammingPlanner
(
90
const
PlanningUnitMADPDiscreteParameters
¶ms,
91
size_t
horizon,
DecPOMDPDiscreteInterface
* p);
92
JESPDynamicProgrammingPlanner
(
int
horizon,
93
DecPOMDPDiscreteInterface
* p);
94
95
//operators:
96
97
//data manipulation (set) functions:
100
void
Plan
();
101
double
DynamicProgrammingBestResponse
(
JointPolicyPureVector
* jpol,
102
Index
agentI);
103
104
//get (data) functions:
105
JointPolicy
*
GetJointPolicy
(
void
)
106
{
return
(&
_m_foundPolicy
); }
107
JointPolicyDiscrete
*
GetJointPolicyDiscrete
(
void
)
108
{
return
(&
_m_foundPolicy
); }
109
JointPolicyPureVector
*
GetJointPolicyPureVector
(
void
)
110
{
return
(&
_m_foundPolicy
); }
111
double
GetExpectedReward
(
void
)
const
112
{
return
(
_m_expectedRewardFoundPolicy
); }
113
114
};
115
116
117
#endif
/* !_JESPDYNAMICPROGRAMMINGPLANNER_H_ */
118
119
120
// Local Variables: ***
121
// mode:c++ ***
122
// End: ***
src
planning
JESPDynamicProgrammingPlanner.h
Generated on Mon Sep 23 2013 14:50:05 for MultiAgentDecisionProcess by
1.8.1.2