Neural Networks 0.2
A framework for Lukas Zdechovan's Neural Networks C++ projects.

NeuralNetwork/NeuralNetwork.h

Go to the documentation of this file.
00001 /*
00002     This class is a base class of Neural Network
00003     Copyright (C) 2010  Lukas Zdechovan
00004 
00005     This program is free software: you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation, either version 3 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017 
00018 */
00019 
00020 #ifndef NEURALNETWORK_H
00021 #define NEURALNETWORK_H
00022 
00023 #include "NeuralNetworkLayer.h"
00024 #include <vector>
00025 #include "../Utils/Logging/Logger.h"
00026 
00030 namespace NeuralNetwork {
00031 
00035     struct NeuralNetworkProperties {
00036     
00040     float alpha;
00041     
00045     float discount; 
00046     };
00047     
00048     const int MAX_NEURONS = 100;
00049     const int BIAS_VALUE = -1;
00050     const int STRING_BUFFER_LENGTH = 1024;
00051     
00055     class NeuralNetwork {   
00056       protected:        
00057     // Properties
00058     NeuralNetworkProperties properties;     
00059     // Utils
00060     Utils::Logging::Logger *logger;
00061     // Methods
00062     virtual void initRandomWeights() = 0;
00063     virtual void createNetworkLayers() = 0; 
00064       public:   
00065     
00070     NeuralNetwork(Utils::Logging::Logger *logger);
00071     
00076     void setProperties(NeuralNetworkProperties properties); 
00077     };
00078 
00079 }
00080 
00081 #endif // NEURALNETWORK_H
 All Data Structures Namespaces Files Functions Variables Defines