示例#1
0
        protected override void Mutation()
        {
            synapse = Network.GetRandomSynapse();
            oldDestination = synapse._input;

            synapse._input = Network.GetRandomNode();
        }
        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);
        }
示例#4
0
        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);
        }
示例#5
0
 internal Effector(IComputingNode input)
 {
     _input = input;
 }
示例#6
0
文件: Effector.cs 项目: Puzer/TWEANN
 internal Effector(IComputingNode input)
 {
     _input = input;
 }
示例#7
0
文件: Synapse.cs 项目: Puzer/TWEANN
 internal Synapse(IComputingNode input)
 {
     _input = input;
 }
示例#8
0
 internal Synapse(IComputingNode input)
 {
     _input = input;
 }