Example #1
0
        /// <summary>
        /// Функция суммации. Если нейрон не входной, считает скалярное произведение векторов
        /// сигналов подсоединённых ко входам нейронов и весов этих входов.
        /// Если входной, то просто суммирует все поданные сигналы.
        /// </summary>
        /// <returns></returns>
        double Sum()
        {
            if (IsInputNeuron)
            {
                return(DirectInputs.Average());
            }
            double sum = inputs.Sum(a => a.Connected_neuron.Signal * a.Weight);

            return(sum);
        }
Example #2
0
 /// <summary>
 /// Функция очищает список прямых входов и обнуляет сигнал
 /// </summary>
 public void Clear()
 {
     DirectInputs.Clear();
     Signal = 0;
 }
Example #3
0
 /// <summary>
 /// Функция добавляет значение signal в список прямых
 /// входных значений. Этот список используется только
 /// у входных нейронов. Эти значения не взвешиваются при расчёте выхода нейрона.
 /// Очистить список можно можно вызовом функции Clear.
 /// </summary>
 /// <param name="signal"></param>
 public void Receive(double signal)
 {
     DirectInputs.Add(signal);
 }