diff options
Diffstat (limited to 'include/brain')
-rw-r--r-- | include/brain/bias_node.h | 1 | ||||
-rw-r--r-- | include/brain/neural_network.h | 20 | ||||
-rw-r--r-- | include/brain/neural_node.h | 2 | ||||
-rw-r--r-- | include/brain/neuron.h | 6 | ||||
-rw-r--r-- | include/brain/sensor.h | 4 |
5 files changed, 13 insertions, 20 deletions
diff --git a/include/brain/bias_node.h b/include/brain/bias_node.h index 8920eb3..0b57e15 100644 --- a/include/brain/bias_node.h +++ b/include/brain/bias_node.h @@ -8,6 +8,5 @@ public: BiasNode() { _activation = 1; - _activationChanged = false; } }; diff --git a/include/brain/neural_network.h b/include/brain/neural_network.h index f75fdea..a1af7cc 100644 --- a/include/brain/neural_network.h +++ b/include/brain/neural_network.h @@ -14,25 +14,25 @@ class NeuralNetwork { public: - NeuralNetwork(std::istream &&networkConfigFile, int numberOfSensors, int numberOfOutputs); - NeuralNetwork(std::istream &&networkConfigFile, std::vector<bool> sensorInitialValues, int numberOfOutputs); + NeuralNetwork(std::istream &&networkConfigFile, unsigned int numberOfSensors, unsigned int numberOfOutputs); + NeuralNetwork(std::istream &&networkConfigFile, std::vector<bool> sensorInitialValues, unsigned int numberOfOutputs); - void setInput(int inputIndex, double activation); - int findMaxOutputIndex() const; + void setInput(unsigned int inputIndex, double activation); + unsigned int findMaxOutputIndex() const; - int numberOfSensors() const { return _sensors.size(); } - int numberOfOutputs() const { return _outputs.size(); } + unsigned int numberOfSensors() const { return _sensors.size(); } + unsigned int numberOfOutputs() const { return _outputs.size(); } private: - std::map<int, std::shared_ptr<Sensor>> _sensors; + std::vector<std::shared_ptr<Sensor>> _sensors; std::shared_ptr<BiasNode> _biasNode; - std::map<int, std::shared_ptr<Neuron>> _neurons; + std::vector<std::shared_ptr<Neuron>> _neurons; 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); + std::shared_ptr<Sensor> findOrAddSensor(unsigned int id); + std::shared_ptr<Neuron> findOrAddNeuron(unsigned int id); }; diff --git a/include/brain/neural_node.h b/include/brain/neural_node.h index 57523eb..62b7b15 100644 --- a/include/brain/neural_node.h +++ b/include/brain/neural_node.h @@ -4,8 +4,6 @@ class NeuralNode { public: double activation() const { return _activation; } - bool activationChanged() const { return _activationChanged; } protected: double _activation; - bool _activationChanged; }; diff --git a/include/brain/neuron.h b/include/brain/neuron.h index 2746372..204b303 100644 --- a/include/brain/neuron.h +++ b/include/brain/neuron.h @@ -9,10 +9,10 @@ class Neuron : public NeuralNode { public: - void addInput(std::unique_ptr<NeuralLink>&& link); - void calculateActivation(); + void addInput(NeuralLink&& link); + bool calculateActivation(); private: - std::vector<std::unique_ptr<NeuralLink>> _inputLinks; + std::vector<NeuralLink> _inputLinks; double sigmoid(double input) const; }; diff --git a/include/brain/sensor.h b/include/brain/sensor.h index 652ce07..a780c49 100644 --- a/include/brain/sensor.h +++ b/include/brain/sensor.h @@ -5,9 +5,5 @@ class Sensor: public NeuralNode { public: - Sensor() - { - _activationChanged = false; - }; void setActivation(double activation) { _activation = activation; } }; |