00001 #ifndef LWPR_HPP 00002 #define LWPR_HPP 00003 00004 #include <list> 00005 #include <iostream> 00006 00007 #include <boost/program_options.hpp> 00008 00009 #include "types.hpp" 00010 #include "rf.hpp" 00011 00018 class LWPR { 00019 00028 00033 Types::RParam w_gen; 00034 00039 Types::RParam w_update; 00040 00045 Types::RParam w_predict; 00046 00048 00052 typedef std::list<RF*> RFList; 00053 00057 LWPR::RFList receptiveFields; 00058 00059 public: 00060 00062 LWPR(); 00063 00069 LWPR(const boost::program_options::variables_map& vm); 00070 00072 ~LWPR(); 00073 00074 00082 void learn(Types::Input x, Types::Output y); 00083 00091 Types::OutputT predict(Types::Input x) const; 00092 00096 friend std::ostream& operator<<(std::ostream& out, const LWPR& lwpr); 00097 00098 }; 00099 00100 #endif