1 #ifndef NEURO_EVOLUTION_AGENT_H_ 
    2 #define NEURO_EVOLUTION_AGENT_H_ 
   11 using namespace OpenANN;
 
   30   bool doubleExponentialSmoothing;
 
   38   Eigen::VectorXd lastState;
 
   40   std::vector<DoubleExponentialSmoothing> des;
 
   41   std::list<Eigen::VectorXd> inputBuffer;
 
   44                       bool compress = 
false, 
int m = 0,
 
   45                       bool fullyObservable = 
true,
 
   46                       bool alphaBetaFilter = 
false,
 
   47                       bool doubleExponentialSmoothing = 
false);
 
   51   virtual void chooseOptimalAction();
 
   53   virtual const Eigen::VectorXd& currentParameters();
 
   54   virtual unsigned int dimension();
 
   55   virtual double error();
 
   56   virtual Eigen::VectorXd gradient();
 
   57   virtual void initialize();
 
   58   virtual bool providesGradient();
 
   59   virtual bool providesInitialization();
 
   60   virtual void setParameters(
const Eigen::VectorXd& 
parameters);
 
   61   void setSigma0(
double sigma0);
 
   64 #endif // NEURO_EVOLUTION_AGENT_H_