00001 #ifndef NET_H 00002 #define NET_H 00003 00004 //-------------------------------------net.h-------------------------------- 00005 // 00006 // NEREK by Chad Rempp 00007 // March 1 2002 00008 // Version 0.0.02 00009 // 00010 // Also Stolen from M Buckland 00011 // 00012 // Net Class 00013 // Represents a concept through an NN 00014 // 00015 //------------------------------------------------------------------------------ 00016 00017 #include <vector> 00018 #include "neuron.h" 00019 00020 //using namespace std; 00021 00022 class Net{ 00023 00024 private: 00025 int m_NumInputs; 00026 int m_NumOutputs; 00027 int m_NumHiddenLayers; 00028 int m_NumNeuronsPerLayer; 00029 char name[256]; 00030 vector<NeuronLayer> m_vecLayers; 00031 00032 public: 00033 Net(); 00034 Net( int NumInputs, 00035 int NumOutputs, 00036 int NumHiddenLayers, 00037 int NumNeuronsPerLayer); 00038 void CreateNet(); 00039 void Net::ModNet(int NumInputs, 00040 int NumOutputs, 00041 int NumHiddenLayers, 00042 int NumNeuronsPerLayer); 00043 vector<float> GetWeights(); 00044 int GetNumberOfWeights(); 00045 void PutWeights(vector<float> weights); 00046 vector<float> Update(vector<float> inputs); 00047 inline float Sigmoid(float activation, float response); 00048 00049 }; 00050 00051 #endif