diff options
author | Justin Wernick <justin@worthe-it.co.za> | 2022-04-19 21:24:15 +0200 |
---|---|---|
committer | Justin Wernick <justin@worthe-it.co.za> | 2022-04-19 21:24:15 +0200 |
commit | 8eebf1079fbed2848ee47cf990f5def5926a0c1f (patch) | |
tree | b51a6cc24fb900c717bf479d357a9ae8a98e07ef /include/brain | |
parent | 550caeee11086bd56db69176b3149ddfa160ee30 (diff) |
Refile for merging repos
Diffstat (limited to 'include/brain')
-rw-r--r-- | include/brain/bias_node.h | 12 | ||||
-rw-r--r-- | include/brain/neural_link.h | 17 | ||||
-rw-r--r-- | include/brain/neural_network.h | 41 | ||||
-rw-r--r-- | include/brain/neural_node.h | 18 | ||||
-rw-r--r-- | include/brain/neuron.h | 22 | ||||
-rw-r--r-- | include/brain/sensor.h | 10 |
6 files changed, 0 insertions, 120 deletions
diff --git a/include/brain/bias_node.h b/include/brain/bias_node.h deleted file mode 100644 index 77c5884..0000000 --- a/include/brain/bias_node.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "brain/neural_node.h" - -class BiasNode: public NeuralNode -{ -public: -BiasNode() : NeuralNode("b0") - { - _activation = 1; - } -}; diff --git a/include/brain/neural_link.h b/include/brain/neural_link.h deleted file mode 100644 index 14f58b9..0000000 --- a/include/brain/neural_link.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "neural_node.h" - -class NeuralLink -{ -public: - NeuralLink(NeuralNode* input, double weight); - double weightedActivation() const; - - double weight() const { return _weight; } - std::string inputIdentifier() const { return _input->identifier(); } - -private: - NeuralNode* _input; - double _weight; -}; diff --git a/include/brain/neural_network.h b/include/brain/neural_network.h deleted file mode 100644 index 7fcf5f4..0000000 --- a/include/brain/neural_network.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include <memory> -#include <istream> -#include <vector> -#include <map> -#include <string> - -#include "brain/neural_node.h" -#include "brain/sensor.h" -#include "brain/bias_node.h" -#include "brain/neuron.h" - -class NeuralNetwork -{ -public: - NeuralNetwork(std::istream &&networkConfigFile, unsigned int numberOfSensors, unsigned int numberOfOutputs); - NeuralNetwork(std::istream &&networkConfigFile, std::vector<bool> sensorInitialValues, unsigned int numberOfOutputs); - - void setInput(unsigned int inputIndex, double activation); - unsigned int findMaxOutputIndex() const; - - unsigned int numberOfSensors() const { return _sensors.size(); } - unsigned int numberOfOutputs() const { return _outputs.size(); } - unsigned int numberOfNeurons() const { return _neurons.size(); } - - bool linkExists(std::string srcIdentifier, std::string destIdentifier, double weight) const; - -private: - std::vector<std::shared_ptr<Sensor>> _sensors; - std::shared_ptr<BiasNode> _biasNode; - 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(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 deleted file mode 100644 index 2684146..0000000 --- a/include/brain/neural_node.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once - -#include <string> - -class NeuralNode -{ -public: - double activation() const { return _activation; } - std::string identifier() const { return _identifier; } - -NeuralNode(std::string identifier): _identifier(identifier) {} - -protected: - double _activation; - -private: - std::string _identifier; -}; diff --git a/include/brain/neuron.h b/include/brain/neuron.h deleted file mode 100644 index ca26c73..0000000 --- a/include/brain/neuron.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include <memory> -#include <vector> - -#include "neural_node.h" -#include "neural_link.h" - -class Neuron : public NeuralNode -{ -public: - void addInput(NeuralLink&& link); - bool calculateActivation(); - -Neuron(int index) : NeuralNode('n'+std::to_string(index)){}; - - bool hasInputWithWeight(std::string srcIdentifier, double weight) const; - -private: - std::vector<NeuralLink> _inputLinks; - double sigmoid(double input) const; -}; diff --git a/include/brain/sensor.h b/include/brain/sensor.h deleted file mode 100644 index 10f62a7..0000000 --- a/include/brain/sensor.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "brain/neural_node.h" - -class Sensor: public NeuralNode -{ -public: -Sensor(int index) :NeuralNode('s'+std::to_string(index)){} - void setActivation(double activation) { _activation = activation; } -}; |