MultiAgentDecisionProcess  Release 0.2.1
IndividualBeliefJESP.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _INDIVIDUALBELIEFJESP_H_
30 #define _INDIVIDUALBELIEFJESP_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include <vector>
35 #include "Globals.h"
36 #include "IndexTools.h"
37 #include "Belief.h"
38 
40 class PlanningUnitMADPDiscrete; //forward declaration to avoid including each other
41 
47  public Belief
48 {
49 private:
51 
57  size_t _m_nrAgents;
61  std::vector<Index> _m_others;
63  std::vector<size_t> _m_nrOH_others;
65  std::vector<size_t> _m_sizeVec;
67  size_t * _m_stepsizeSJOH;
69  size_t * _m_stepsizeJOHOH;
70 
71 protected:
72 
73 public:
74 
77  IndividualBeliefJESP(Index agentI, Index stage,
78  const PlanningUnitMADPDiscrete& pu);
79  // Constructor which copies \a belief in this joint belief.
80  // IndividualBeliefJESP(const IndividualBeliefJESPInterface &belief);
81 
84 
86 
87  // Constructor, destructor and copy assignment.
88 
90 
93  double Update(const IndividualBeliefJESP& b_prev, Index lastAI,
94  Index newOI, const JointPolicyPureVector* jpol);
95 
97  Index GetStateIndex(Index eI) const;
99  std::vector<Index> GetOthersObservationHistIndex(Index eI) const;
100  //
102  const std::vector<Index>& oHist_others) const;
103 
104  std::string SoftPrint() const;
105  void Print() const
106  { std::cout << SoftPrint();};
107 
108 };
109 
110 inline
111 Index
113 {
114  std::vector<Index> v =
116  return v.at(0);
117 }
118 
119 
120 
121 #endif /* !_INDIVIDUALBELIEFJESP_H_ */
122 
123 // Local Variables: ***
124 // mode:c++ ***
125 // End: ***