diff options
Diffstat (limited to 'include/brain/neural_network.h')
-rw-r--r-- | include/brain/neural_network.h | 14 |
1 files changed, 12 insertions, 2 deletions
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 <memory> #include <istream> #include <vector> +#include <string> #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<std::shared_ptr<NeuralNode>> _nodes; std::vector<std::shared_ptr<Sensor>> _sensors; - std::vector<std::shared_ptr<NeuralNode>> _outputs; + std::shared_ptr<BiasNode> _biasNode; + std::vector<std::shared_ptr<Neuron>> _hiddenNodes; + std::vector<std::shared_ptr<Neuron>> _outputs; + + void parseFile(std::istream &&file); + + void addLink(std::shared_ptr<NeuralNode> source, std::shared_ptr<Neuron> destination, double weight); + std::shared_ptr<Sensor> findOrAddSensor(int id); + std::shared_ptr<Neuron> findOrAddNeuron(int id); }; |