summaryrefslogtreecommitdiff
path: root/2015-spacebot/include/brain/neuron.h
blob: ca26c73362a31ea9b2f9e7130c76aa8462809882 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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;
};