From 2e6ecf423c8228ac8de4badf4fc2d037a876b7ff Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sat, 1 Aug 2015 22:50:00 +0200 Subject: Reading network from file --- include/brain/neural_link.h | 2 +- include/brain/neural_network.h | 14 ++++++++++++-- include/brain/neuron.h | 2 ++ 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'include/brain') diff --git a/include/brain/neural_link.h b/include/brain/neural_link.h index 42ee2f9..5a63ba4 100644 --- a/include/brain/neural_link.h +++ b/include/brain/neural_link.h @@ -7,7 +7,7 @@ class NeuralLink { public: - NeuralLink(double weight); + NeuralLink(std::shared_ptr input, double weight); double weightedActivation() const; private: diff --git a/include/brain/neural_network.h b/include/brain/neural_network.h index 308cb56..b2c441f 100644 --- a/include/brain/neural_network.h +++ b/include/brain/neural_network.h @@ -3,9 +3,12 @@ #include #include #include +#include #include "brain/neural_node.h" #include "brain/sensor.h" +#include "brain/bias_node.h" +#include "brain/neuron.h" class NeuralNetwork { @@ -19,8 +22,15 @@ public: int numberOfOutputs() const { return _outputs.size(); } private: - std::vector> _nodes; std::vector> _sensors; - std::vector> _outputs; + std::shared_ptr _biasNode; + std::vector> _hiddenNodes; + std::vector> _outputs; + + void parseFile(std::istream &&file); + + void addLink(std::shared_ptr source, std::shared_ptr destination, double weight); + std::shared_ptr findOrAddSensor(int id); + std::shared_ptr findOrAddNeuron(int id); }; diff --git a/include/brain/neuron.h b/include/brain/neuron.h index 1607cf0..810ce5b 100644 --- a/include/brain/neuron.h +++ b/include/brain/neuron.h @@ -13,6 +13,8 @@ public: virtual ~Neuron() {} virtual double activation() const; + void addInput(std::shared_ptr link); + private: std::vector> _inputLinks; double sigmoid(double input) const; -- cgit v1.2.3