Exemple #1
0
 public NeuronGene(int layer, Neuron.Type type, int innovation, bool isInput, bool isOutput)
 {
     this.innovation = innovation;
     this.layer      = layer;
     this.type       = type;
     this.isInput    = isInput;
     this.isOutput   = isOutput;
 }
Exemple #2
0
 public Innovation(int ID, Type innovationType, int neuronIn, int neuronOut, int neuronID, Neuron.Type neuronType, float splitX, float splitY)
 {
     this.ID             = ID;
     this.innovationType = innovationType;
     this.neuronIn       = neuronIn;
     this.neuronOut      = neuronOut;
     this.neuronID       = neuronID;
     this.neuronType     = neuronType;
     this.splitX         = splitX;
     this.splitY         = splitY;
 }
Exemple #3
0
    // create neuron at network initialization
    public Neuron CreateStartNeuron(Neuron.Type type, int neuronID, float splitX, float splitY)
    {
        var    oldNeuronInnovID = innovationDB.CheckNeuronStartInnovation(neuronID);
        Neuron newNeuron;

        // new innovation
        if (oldNeuronInnovID == -1)
        {
            var neuronInnov = innovationDB.CreateInnovation(InnovationDB.Innovation.Type.NEW_NEURON, -1, -1, type, splitX, splitY);
            newNeuron = new Neuron(neuronInnov.neuronID, type, splitX, splitY);
        }
        else
        {
            var newNeuronID = innovationDB.GetNeuronID(oldNeuronInnovID);
            newNeuron = new Neuron(newNeuronID, type, splitX, splitY);
        }
        neurons.Add(newNeuron.ID, newNeuron);
        return(newNeuron);
    }
Exemple #4
0
    public Innovation CreateInnovation(Innovation.Type innovationType, int neuronIn, int neuronOut, Neuron.Type neuronType, float splitX, float splitY)
    {
        int neuronID   = innovationType == Innovation.Type.NEW_NEURON ? NextNeuronID() : -1;
        var innovation = new Innovation(NextInnovID(), innovationType, neuronIn, neuronOut, neuronID, neuronType, splitX, splitY);

        innovations.Add(innovation);
        return(innovation);
    }