MultiAgentDecisionProcess  Release 0.2.1
TOICompactRewardDecPOMDPDiscrete.h
Go to the documentation of this file.
1 
28 /* Only include this header file once. */
29 #ifndef _TOICOMPACTREWARDDECPOMDPDISCRETE_H_
30 #define _TOICOMPACTREWARDDECPOMDPDISCRETE_H_ 1
31 
32 /* the include directives */
33 #include <iostream>
34 #include "Globals.h"
35 #include "TOIDecPOMDPDiscrete.h"
36 
43  public TOIDecPOMDPDiscrete
44 {
45 private:
48 
50 
51  double GetTwoAgentReward(Index i, Index j,
52  const std::vector<Index> &indSIs,
53  const std::vector<Index> &indAIs) const;
54 
55 protected:
56  std::vector<RewardModel*> _m_p_rModels;
57 public:
58  // Constructor, destructor and copy assignment.
61  std::string name="received unspec. by TOICompactRewardDecPOMDPDiscrete",
62  std::string descr="received unspec. by TOICompactRewardDecPOMDPDiscrete",
63  std::string pf="received unspec. by TOICompactRewardDecPOMDPDiscrete");
64 
67 
69 
72 
76  virtual bool SetInitialized(bool b);
77 
78  void SetIndividualRewardModel(RewardModel* rewardModel,
79  Index agentID);
80 
81  //get (data) functions:
83  double GetReward(Index sI, Index jaI) const;
84  double GetReward(const std::vector<Index> &sIs,
85  const std::vector<Index> &aIs) const;
86 
87  double GetIndividualReward(Index indSI, Index indAI, Index agentID) const;
88 
91  { return new TOICompactRewardDecPOMDPDiscrete(*this); }
92 
94  std::string SoftPrint() const;
95 };
96 
97 
98 #endif /* !_TOICOMPACTREWARDDECPOMDPDISCRETE_H_ */
99 
100 // Local Variables: ***
101 // mode:c++ ***
102 // End: ***