From f35c5fca6a9faaa1caf3c1992844adf9033744e8 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sat, 29 Aug 2015 20:22:40 +0200 Subject: Improved efficiency of network --- src/brain/neuron.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/brain/neuron.cpp') diff --git a/src/brain/neuron.cpp b/src/brain/neuron.cpp index f4fa12f..d1dd338 100644 --- a/src/brain/neuron.cpp +++ b/src/brain/neuron.cpp @@ -3,24 +3,26 @@ double Neuron::sigmoid(double input) const { - double slope = 4.924273; + const double slope = 4.924273; return (1/(1+(std::exp(-(slope*input))))); } -void Neuron::calculateActivation() +bool Neuron::calculateActivation() { double newActivation = 0; for (auto const& link : _inputLinks) { - newActivation += link->weightedActivation(); + newActivation += link.weightedActivation(); } newActivation = sigmoid(newActivation); - _activationChanged = newActivation != _activation; + const double errorMargin = 0.000001; + bool activationChanged = std::abs(newActivation - _activation) > errorMargin; _activation = newActivation; + return activationChanged; } -void Neuron::addInput(std::unique_ptr&& link) +void Neuron::addInput(NeuralLink&& link) { _inputLinks.push_back(std::move(link)); } -- cgit v1.2.3