private List<links> Outputs; //Список исходящих связей #endregion Fields #region Constructors /// <summary> /// Конструктор нейрона со случайными весами /// </summary> /// <param name="_inputs">Массив нейронов, являющихся входом данного нейрона</param> public neyron(neyron[] _inputs) { foreach (neyron element in _inputs) { links link = new links(element, GetRandomDouble()); Inputs.Add(link); } }
/// <summary> /// Конструктор нейрона с заданными весами /// </summary> /// <param name="_inputs">Массив нейронов, являющихся входом данного нейрона</param> /// <param name="_weigth">Соответствующие им веса</param> public neyron(neyron[] _inputs, double[] _weigth) { int i = 0; foreach (neyron element in _inputs) { links link = new links(element, _weigth[i]); Inputs.Add(link); i++; } }
/// <summary> /// Конструктор структуры (потому что могу) /// </summary> /// <param name="_point">Связанный нейрон</param> /// <param name="_weigth">Вес</param> public links(neyron _point, double _weigth) { point = _point; weigth = _weigth; }
/// <summary> /// Добавление входящей связи к нейрону /// </summary> /// <param name="_input">Нейрон, от которого идет связь</param> /// <param name="_weigth">Вес связи. Если = 0, то задается случайно в диапазоне (0,1)</param> public void addInput(neyron _input, double _weigth = 0) { links link; if(_weigth == 0) { link = new links(_input, GetRandomDouble()); } else { link = new links(_input, _weigth); } Inputs.Add(link); }