summaryrefslogtreecommitdiff
path: root/src/brain/neuron.cpp
diff options
context:
space:
mode:
authorJustin Worthe <justin.worthe@gmail.com>2015-08-29 20:22:40 +0200
committerJustin Worthe <justin.worthe@gmail.com>2015-08-29 20:22:40 +0200
commitf35c5fca6a9faaa1caf3c1992844adf9033744e8 (patch)
tree766049f6ca2841a9c95a64f80cc316dada0f43fb /src/brain/neuron.cpp
parent5afd2af2d2c13c9062f131bd728c018d3ac3adb9 (diff)
Improved efficiency of network
Diffstat (limited to 'src/brain/neuron.cpp')
-rw-r--r--src/brain/neuron.cpp12
1 files changed, 7 insertions, 5 deletions
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<NeuralLink>&& link)
+void Neuron::addInput(NeuralLink&& link)
{
_inputLinks.push_back(std::move(link));
}