diff options
author | Justin Worthe <justin.worthe@gmail.com> | 2015-07-31 08:47:50 +0200 |
---|---|---|
committer | Justin Worthe <justin.worthe@gmail.com> | 2015-07-31 08:47:50 +0200 |
commit | be9e20b29ce0ed81091ab3589f4910232b457cec (patch) | |
tree | 5c1449cdfce8bc010e09fb3db861133dc9404498 | |
parent | 650a2f680ec403d8b2a044674e296b9cab7af793 (diff) |
Constructed nodes
-rw-r--r-- | include/brain/neural_network.h | 4 | ||||
-rw-r--r-- | include/brain/neuron.h | 2 | ||||
-rw-r--r-- | include/brain/sensor.h | 4 | ||||
-rw-r--r-- | src/brain/neural_network.cpp | 15 |
4 files changed, 20 insertions, 5 deletions
diff --git a/include/brain/neural_network.h b/include/brain/neural_network.h index 99e5f60..37eb3a1 100644 --- a/include/brain/neural_network.h +++ b/include/brain/neural_network.h @@ -15,8 +15,8 @@ public: void setInput(int inputIndex, double activation); int findMaxOutputIndex(); - int numberOfSensors(); - int numberOfOutputs(); + int numberOfSensors() { return _sensors.size(); } + int numberOfOutputs() { return _outputs.size(); } private: std::vector<std::shared_ptr<NeuralNode>> _nodes; diff --git a/include/brain/neuron.h b/include/brain/neuron.h index 1878752..27d7202 100644 --- a/include/brain/neuron.h +++ b/include/brain/neuron.h @@ -9,7 +9,7 @@ class Neuron : public NeuralNode { public: - virtual double activation(); + virtual double activation() {} private: std::vector<std::shared_ptr<NeuralLink>> _inputLinks; diff --git a/include/brain/sensor.h b/include/brain/sensor.h index cdee218..06b96d0 100644 --- a/include/brain/sensor.h +++ b/include/brain/sensor.h @@ -8,6 +8,6 @@ private: double _activation; public: - void setActivation(double activation); - virtual double activation(); + void setActivation(double activation) { _activation = activation; } + virtual double activation() { return _activation; } }; diff --git a/src/brain/neural_network.cpp b/src/brain/neural_network.cpp new file mode 100644 index 0000000..980d5bc --- /dev/null +++ b/src/brain/neural_network.cpp @@ -0,0 +1,15 @@ +#include "brain/neural_network.h" +#include "brain/neuron.h" + +NeuralNetwork::NeuralNetwork(std::istream &&networkConfigFile, int numberOfSensors, int numberOfOutputs) +{ + for (int i=0; i<numberOfSensors; ++i) + { + _sensors.push_back(std::make_shared<Sensor>()); + } + for (int i=0; i<numberOfOutputs; ++i) + { + _outputs.push_back(std::make_shared<Neuron>()); + } +} + |