summaryrefslogtreecommitdiff
path: root/include
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 /include
parent5afd2af2d2c13c9062f131bd728c018d3ac3adb9 (diff)
Improved efficiency of network
Diffstat (limited to 'include')
-rw-r--r--include/brain/bias_node.h1
-rw-r--r--include/brain/neural_network.h20
-rw-r--r--include/brain/neural_node.h2
-rw-r--r--include/brain/neuron.h6
-rw-r--r--include/brain/sensor.h4
-rw-r--r--include/move.h3
6 files changed, 14 insertions, 22 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; }
};
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
};