// policy.h :
// It's most general definition of policy for any lerning problem.
// It just gets current system state and returns action choosen for
// this state.(Here state and action are template classes!)
// It is used as a base class for any specific implementation ,
// which can be Markov policy, some stochastic policy or policy
// defined by on-line learning algorithm

template  <class State,class Action>
class Policy {

public:

  virtual Action choose_action (State theState) = 0;

};

