Ejemplo n.º 1
0
 public void AddConnections(List<Neuron> neurons)
 {
     for (int i = 0; i < neurons.Count; i++)
     {
         Connection c = new Connection(neurons[i], this, RandomHub.Next(RandomHub.MIN, RandomHub.MAX), 0.0);
         neurons[i].ForwardConnections.Add(c);
         BackwardConnections.Add(c);
     }
 }
Ejemplo n.º 2
0
 public void AddConnections(Connection c)
 {
     if (c != null)
         BackwardConnections.Add(c);
 }
Ejemplo n.º 3
0
 public void AddConnections(Neuron A)
 {
     Connection c = new Connection(A, this, RandomHub.Next(RandomHub.MIN, RandomHub.MAX), 0.0);
     A.ForwardConnections.Add(c);
     BackwardConnections.Add(c);
 }
Ejemplo n.º 4
0
        private void SetInput(double[] val)
        {
            if (val == null)
                throw new Exception("Input = null");
            else
                _input = val;

            //Nếu neuron đã có sẵn các kết nối thì cập nhật lại đầu vào input P của các kết nối
            if (this.neurons[0].BackwardConnections.Count != 0)
            {
                for (int i = 0; i < neurons.Count; i++)
                {
                    for (int j = 0; j < val.Length; j++)
                    {
                        this.neurons[i].BackwardConnections[j].P = val[j];
                    }
                }
            }
            else //Ngược lại tạo các kết nối mới với các đầu vào P
            {
                for (int i = 0; i < neurons.Count; i++)
                {
                    for (int j = 0; j < val.Length; j++)
                    {
                        Connection c = new Connection(null, neurons[i], RandomHub.Next(RandomHub.MIN, RandomHub.MAX), val[j]);
                        neurons[i].AddConnections(c);
                    }
                }
            }
        }