aboutsummaryrefslogtreecommitdiff
path: root/NeuralNet.hpp
blob: 70d3e87f6348dc7f62620a10ac533d40308a1a52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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__