Exemple #1
0
        public override void SetSinapses()
        {
            Sinaps s;

            for (int i = 0; i < NeuronGroups[0].Neurons.Count; i++)
            {
                NeuronGroups[0].Neurons[i].sinapses.Clear();

                for (int j = 0; j < InputsCount; j++)
                {
                    s       = new Sinaps(Inputs[j]);
                    s.value = (float)(1.0 / Math.Sqrt(InputsCount));
                    NeuronGroups[0].Neurons[i].sinapses.Add(s);
                }
            }
        }
Exemple #2
0
        public virtual void SetSinapses()
        {
            if (!AccessChangeNet)
            {
                return;
            }

            Sinaps curr;

            for (int i = 0; i < NeuronGroups.Count; i++)
            {
                for (int j = 0; j < NeuronGroups[i].Neurons.Count; j++)
                {
                    NeuronGroups[i].Neurons[j].aksons.Clear();
                }
            }

            for (int i = 0; i < NeuronGroups[0].Neurons.Count; i++)
            {
                NeuronGroups[0].Neurons[i].sinapses.Clear();

                for (int j = 0; j < inputs.Count; j++)
                {
                    NeuronGroups[0].Neurons[i].sinapses.Add(new Sinaps(inputs[j]));
                }
            }

            for (int i = 1; i < NeuronGroups.Count; i++)
            {
                for (int j = 0; j < NeuronGroups[i].Neurons.Count; j++)
                {
                    NeuronGroups[i].Neurons[j].sinapses.Clear();

                    for (int k = 0; k < NeuronGroups[i - 1].Neurons.Count; k++)
                    {
                        NeuronGroups[i].Neurons[j].sinapses.Add(curr = new Sinaps(NeuronGroups[i - 1].Neurons[k]));
                        NeuronGroups[i - 1].Neurons[k].aksons.Add(curr);
                    }
                }
            }

            //Calculate();
        }
Exemple #3
0
 public float dNETdw(Sinaps sinaps)
 {
     return(sinaps.frominput == null ? sinaps.fromNeuron.OUT : sinaps.frominput.value);
 }