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