protected override void Mutation() { synapse = Network.GetRandomSynapse(); oldDestination = synapse._input; synapse._input = Network.GetRandomNode(); }
protected override void Mutation() { randomSynapse = Network.GetRandomSynapse(); outputNeuron = Network.Neurons.Find(n => n.InputSynapses.Contains(randomSynapse)); inputConnection = randomSynapse._input; insertedNeuron = new Neuron(ActivationFunc); synapseToOutput = new Synapse(insertedNeuron) { Weight = NeuralHelper.GetRandomWeigth() }; outputNeuron.InputSynapses.Add(synapseToOutput); synapseToInput = new Synapse(inputConnection) { Weight = NeuralHelper.GetRandomWeigth() }; insertedNeuron.InputSynapses.Add(synapseToInput); outputNeuron.InputSynapses.Remove(randomSynapse); Network.Synapses.Remove(randomSynapse); Network.Neurons.Add(insertedNeuron); Network.Synapses.Add(synapseToOutput); Network.Synapses.Add(synapseToInput); }
internal Effector(IComputingNode input) { _input = input; }
internal Synapse(IComputingNode input) { _input = input; }