protected void ConnectInnovNbNetwork() { if (Neurons == null) { Neurons = new Dictionary <int, Neuron>(); } else { Neurons.Clear(); } foreach (var neuron in NeuronLst) { if (!Neurons.ContainsKey(neuron.innovNb)) { Neurons.Add(neuron.innovNb, neuron); } else if (Neurons[neuron.innovNb] != neuron) { throw new Exception("AAAAaAAAaaaaa: " + neuron.innovNb); } } }
public Synapse AddConnection( InnovationNumber startNeuron, InnovationNumber endNeuron, WeightInitializer weightInitializer = null) { if (!Neurons.ContainsKey(startNeuron) || !Neurons.ContainsKey(endNeuron)) { throw new Exception("The given neurons are not yer registered."); } var innov = synapseInnovNbTracker.GetHystoricalMark(startNeuron, endNeuron); var result = new Synapse(innov, 0, startNeuron, endNeuron) { weightConstraints = this.WeightConstraints }; if (weightInitializer == null) { weightInitializer = defaultWeightInitializer; } Synapses.Add(result, weightInitializer); return(result); }