/// <summary> /// Функция суммации. Если нейрон не входной, считает скалярное произведение векторов /// сигналов подсоединённых ко входам нейронов и весов этих входов. /// Если входной, то просто суммирует все поданные сигналы. /// </summary> /// <returns></returns> double Sum() { if (IsInputNeuron) { return(DirectInputs.Average()); } double sum = inputs.Sum(a => a.Connected_neuron.Signal * a.Weight); return(sum); }
/// <summary> /// Функция очищает список прямых входов и обнуляет сигнал /// </summary> public void Clear() { DirectInputs.Clear(); Signal = 0; }
/// <summary> /// Функция добавляет значение signal в список прямых /// входных значений. Этот список используется только /// у входных нейронов. Эти значения не взвешиваются при расчёте выхода нейрона. /// Очистить список можно можно вызовом функции Clear. /// </summary> /// <param name="signal"></param> public void Receive(double signal) { DirectInputs.Add(signal); }