AIToolbox
A library that offers tools for AI problem solving.
Policy.hpp
Go to the documentation of this file.
1 #ifndef AI_TOOLBOX_MDP_POLICY_HEADER_FILE
2 #define AI_TOOLBOX_MDP_POLICY_HEADER_FILE
3 
4 #include <vector>
5 #include <tuple>
6 
9 
10 namespace AIToolbox::MDP {
28  class Policy : public PolicyWrapper {
29  public:
31 
45  Policy(size_t s, size_t a);
46 
61  Policy(const PolicyInterface::Base & p);
62 
80  Policy(const PolicyInterface & p);
81 
94  Policy(size_t s, size_t a, const ValueFunction & v);
95 
107  Policy(const PolicyMatrix & p);
108 
109  private:
110  PolicyMatrix policy_;
111 
112  friend std::istream& operator>>(std::istream &is, Policy & p);
113  };
114 
137  std::istream& operator>>(std::istream &is, Policy & p);
138 }
139 
140 #endif
AIToolbox::MDP::Policy::PolicyMatrix
Matrix2D PolicyMatrix
Definition: Policy.hpp:30
AIToolbox::MDP::Policy
This class represents an MDP Policy.
Definition: Policy.hpp:28
AIToolbox::MDP::Policy::operator>>
friend std::istream & operator>>(std::istream &is, Policy &p)
This function reads a policy from a file.
AIToolbox::Matrix2D
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor|Eigen::AutoAlign > Matrix2D
Definition: Types.hpp:18
AIToolbox::MDP::ValueFunction
Definition: Types.hpp:47
AIToolbox::PolicyInterface< size_t, size_t, size_t >
AIToolbox::MDP
Definition: DoubleQLearning.hpp:10
AIToolbox::MDP::PolicyWrapper
This class provides an MDP Policy interface around a Matrix2D.
Definition: PolicyWrapper.hpp:29
AIToolbox::MDP::Policy::Policy
Policy(size_t s, size_t a)
Basic constructor.
PolicyWrapper.hpp
Types.hpp
AIToolbox::MDP::PolicyInterface
Simple typedef for most of MDP's policy needs.
Definition: PolicyInterface.hpp:11
AIToolbox::MDP::operator>>
std::istream & operator>>(std::istream &is, Model &m)