Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/NumA/neural_network/training_algorithm/TrainingAlgorithmGenetic.h_ is written in an unsupported language. File is not indexed.

0001 /*
0002  * TrainingAlgorithmGenetic.h
0003  *
0004  *  Created on: Apr 23, 2016
0005  *      Author: Pawel Sznajder
0006  */
0007 
0008 #ifndef TRAININGALGORITHMGENETIC_H_
0009 #define TRAININGALGORITHMGENETIC_H_
0010 
0011 #include <map>
0012 #include <vector>
0013 
0014 #include "../../genetic_algorithm/GeneticAlgorithm.h"
0015 #include "../beans/Data.h"
0016 #include "../beans/TrainingFunctionType.h"
0017 #include "TrainingAlgorithm.h"
0018 
0019 class TrainingAlgorithmGenetic: public TrainingAlgorithm {
0020 
0021 public:
0022 
0023     static const unsigned int classId;
0024 
0025     TrainingAlgorithmGenetic();
0026     ~TrainingAlgorithmGenetic();
0027     virtual TrainingAlgorithmGenetic* clone() const;
0028 
0029     virtual void train(const NeuralNetwork& nn, const Data& input,
0030             const Data& output, TrainingFunctionType::Type trainingFunctionType,
0031             const std::vector<double>& parameters);
0032 
0033     void evaluatePopulation(const NeuralNetwork& nn, const Data& input,
0034             const Data& output, TrainingFunctionType::Type trainingFunctionType,
0035             const std::vector<double>& parameters,
0036             GeneticAlgorithm& geneticAlgorithm) const;
0037 
0038 protected:
0039 
0040     TrainingAlgorithmGenetic(const TrainingAlgorithmGenetic& other);
0041     
0042 private:
0043 
0044     enum Type {
0045         UNDEFINED = 0, NeuronObject = 1, PerceptronObject = 2
0046     };
0047 
0048     //TODO If the factory is used, what is the life cycle of this member?
0049     std::map<void*, TrainingAlgorithmGenetic::Type> m_map;
0050 };
0051 
0052 #endif /* TRAININGALGORITHMGENETIC_H_ */