MultiAgentDecisionProcess
Release 0.2.1
Main Page
Namespaces
Classes
Files
File List
File Members
PartialJointPolicyPureVector.h
Go to the documentation of this file.
1
28
/* Only include this header file once. */
29
#ifndef _PARTIALJOINTPOLICYPUREVECTOR_H_
30
#define _PARTIALJOINTPOLICYPUREVECTOR_H_ 1
31
32
/* the include directives */
33
#include "
Globals.h
"
34
#include "
JPolComponent_VectorImplementation.h
"
35
#include "
PartialJointPolicyDiscretePure.h
"
36
40
class
PartialJointPolicyPureVector
:
41
// public JointPolicyPureVector , //<- don't use mutliple inheritance for code reuse..
42
public
PartialJointPolicyDiscretePure
,
43
private
JPolComponent_VectorImplementation
// use private inheritance for composition
44
{
45
private
:
46
47
protected
:
48
49
public
:
50
// Constructor, destructor and copy assignment.
51
PartialJointPolicyPureVector
(
52
const
Interface_ProblemToPolicyDiscretePure
& pu,
53
PolicyGlobals::IndexDomainCategory
idc,
54
double
pastReward = 0.0,
55
size_t
depth =
MAXHORIZON
);
56
58
PartialJointPolicyPureVector
(
const
PartialJointPolicyPureVector
& a)
59
:
60
PartialJointPolicyDiscretePure
(a)
61
,
JPolComponent_VectorImplementation
(a)
62
{};
63
PartialJointPolicyPureVector
(
const
PartialJointPolicyDiscretePure
& a)
64
:
65
PartialJointPolicyDiscretePure
(a),
66
JPolComponent_VectorImplementation
(
67
dynamic_cast<const
PartialJointPolicyPureVector
&>( a ) )
68
{};
69
70
72
virtual
~PartialJointPolicyPureVector
() {};
74
virtual
PartialJointPolicyPureVector
&
operator
=
75
(
const
PartialJointPolicyPureVector
& o);
76
virtual
PartialJointPolicyPureVector
&
operator
=
77
(
const
PartialJointPolicyDiscretePure
& o);
78
80
81
void
SetDepth
(
size_t
d)
82
{
83
JointPolicy::SetDepth
(d);
84
JPolComponent_VectorImplementation::SetDepthForIndivPols
(d);
85
};
86
88
virtual
std::string
SoftPrint
()
const
;
90
virtual
std::string
SoftPrintBrief
()
const
;
91
void
PrintBrief
()
const
92
{ std::cout <<
SoftPrintBrief
();}
93
96
JointPolicyPureVector
*
ToJointPolicyPureVector
()
const
;
97
98
//relay the following functions to the JPolComponent_VectorImplementation:
99
//
100
bool
operator++
()
101
{
return
( this->
Increment
() ); };
102
bool
Increment
(
Index
agentI)
103
{
return
this->
JPolComponent_VectorImplementation::Increment
(agentI); }
104
bool
Increment
()
105
{
return
this->
JPolComponent_VectorImplementation::Increment
(); }
106
107
LIndex
GetIndex
()
const
108
{
return
this->
JPolComponent_VectorImplementation::GetIndex
(); }
109
void
SetIndex
(
LIndex
i)
110
{ this->
JPolComponent_VectorImplementation::SetIndex
(i); }
111
112
virtual
Index
GetJointActionIndex
(
Index
i)
const
113
{
return
JPolComponent_VectorImplementation::GetJointActionIndex
(i); }
114
virtual
Index
GetActionIndex
(
Index
agI ,
Index
domainI)
const
115
{
return
JPolComponent_VectorImplementation::GetActionIndex
(agI , domainI);}
116
117
virtual
PolicyDiscrete
*
GetIndividualPolicyDiscrete
(
Index
i)
const
118
{
return
JPolComponent_VectorImplementation::GetIndividualPolicyDiscrete
(i) ;}
120
122
std::vector<PolicyPureVector*>&
GetIndividualPolicies
()
123
{
return
this->
JPolComponent_VectorImplementation::GetIndividualPolicies
();}
124
125
virtual
void
ZeroInitialization
()
126
{
JPolComponent_VectorImplementation::ZeroInitialization
();}
127
virtual
void
ZeroInitialization
(
Index
i)
128
{
JPolComponent_VectorImplementation::ZeroInitialization
(i);}
129
virtual
void
RandomInitialization
()
130
{
JPolComponent_VectorImplementation::RandomInitialization
();}
131
virtual
void
RandomInitialization
(
Index
i)
132
{
JPolComponent_VectorImplementation::RandomInitialization
(i);}
133
virtual
void
SetAction
(
Index
agentI,
Index
domainI,
Index
aI)
134
{
JPolComponent_VectorImplementation::SetAction
(agentI, domainI, aI);}
135
137
virtual
PartialJointPolicyPureVector
*
Clone
()
const
138
{
return
new
PartialJointPolicyPureVector
(*
this
); }
139
140
};
141
142
143
#endif
/* !_PARTIALJOINTPOLICYPUREVECTOR_H_ */
144
145
// Local Variables: ***
146
// mode:c++ ***
147
// End: ***
src
support
PartialJointPolicyPureVector.h
Generated on Mon Sep 23 2013 14:50:06 for MultiAgentDecisionProcess by
1.8.1.2