00001 #ifndef LearningAlgorithm_H 00002 #define LearningAlgorithm_H 00003 00004 00005 #include <math.h> 00006 #include <iostream> 00007 #include "TopologyImp.h" 00008 #include "NetParams.h" 00009 #include "TopologyFactory.h" 00010 #include "qobject.h" 00011 00012 00025 class LearningAlgorithm { 00026 public: 00028 virtual int Learning( NetParams& net) = 0; 00029 00031 TopologyImp * getTopology(); 00032 00034 Value_Type alpha( Value_Type init, Value_Type ite, int t ); 00035 00037 Value_Type radius( Value_Type init, Value_Type ite, int t ); 00038 00040 TBMU * getBMU(); 00041 00043 TBMU * MakeBMU( const SOMData * data, const Mapcode * mapcode ); 00044 00046 ~LearningAlgorithm(); 00047 00048 00049 int getActualIteraction(); 00050 00051 00052 int EECNI( NetParams& net, int fi ); 00053 00054 00055 protected: 00057 LearningAlgorithm(const TopolParams& par); 00058 00060 int setActualIteraction( int ite ); 00061 00062 00063 private: 00064 TopologyImp * _topology; 00065 TBMU * _bmu; 00066 int _actualiteraction; 00067 }; 00068 00069 00070 00071 #endif