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 --- include/brain/bias_node.h | 1 - include/brain/neural_network.h | 20 ++++++++++---------- include/brain/neural_node.h | 2 -- include/brain/neuron.h | 6 +++--- include/brain/sensor.h | 4 ---- include/move.h | 3 +-- 6 files changed, 14 insertions(+), 22 deletions(-) (limited to 'include') 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 sensorInitialValues, int numberOfOutputs); + NeuralNetwork(std::istream &&networkConfigFile, unsigned int numberOfSensors, unsigned int numberOfOutputs); + NeuralNetwork(std::istream &&networkConfigFile, std::vector 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> _sensors; + std::vector> _sensors; std::shared_ptr _biasNode; - std::map> _neurons; + std::vector> _neurons; std::vector> _outputs; void parseFile(std::istream &&file); void addLink(std::shared_ptr source, std::shared_ptr destination, double weight); - std::shared_ptr findOrAddSensor(int id); - std::shared_ptr findOrAddNeuron(int id); + std::shared_ptr findOrAddSensor(unsigned int id); + std::shared_ptr 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&& link); - void calculateActivation(); + void addInput(NeuralLink&& link); + bool calculateActivation(); private: - std::vector> _inputLinks; + std::vector _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; } }; diff --git a/include/move.h b/include/move.h index 8f27977..7ec63d9 100644 --- a/include/move.h +++ b/include/move.h @@ -7,6 +7,5 @@ enum class Move: int MOVE_RIGHT = 2, SHOOT = 3, BUILD_ALIEN_FACTORY = 4, - BUILD_MISSILE_CONTROLLER = 5, - BUILD_SHIELD = 6 + BUILD_MISSILE_CONTROLLER = 5 }; -- cgit v1.2.3