aboutsummaryrefslogtreecommitdiff
path: root/NeuralNet.hpp
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2024-02-29 03:15:03 +0100
committerPaul Oliver <contact@pauloliver.dev>2024-02-29 03:15:30 +0100
commit6fd23da97fa9700f59c61a966b4bf7d25fa46b34 (patch)
treed5fe3a8305a5f57e5b4cedc8300e951c74696cc5 /NeuralNet.hpp
initial commitHEADmaster
Diffstat (limited to 'NeuralNet.hpp')
-rw-r--r--NeuralNet.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/NeuralNet.hpp b/NeuralNet.hpp
new file mode 100644
index 0000000..70d3e87
--- /dev/null
+++ b/NeuralNet.hpp
@@ -0,0 +1,26 @@
+#ifndef __NEURALNET_HPP__
+#define __NEURALNET_HPP__
+
+#include "NodeLayer.hpp"
+
+class NeuralNet
+{
+public:
+ virtual void setChromosome(const Chromosome &chromosome) = 0;
+ virtual Chromosome getChromosome() const = 0;
+ virtual unsigned getChromosomeSize() const = 0;
+
+ virtual std::vector<float> io(const std::vector<float> &inputs) = 0;
+
+ unsigned getInputCount() const { return m_inputCount; }
+ unsigned getHiddenNodeCount() const { return m_hiddenNodeCount; }
+ unsigned getOutputCount() const { return m_outputCount; }
+
+protected:
+ unsigned m_inputCount = 0;
+ unsigned m_hiddenNodeCount = 0;
+ unsigned m_outputCount = 0;
+ NodeClass m_nodeClass;
+};
+
+#endif // __NEURALNET_HPP__