/// <summary> /// Creates a new Kohonen Synapse connecting the given neurons /// </summary> /// <param name="sourceNeuron"> /// The source neuron /// </param> /// <param name="targetNeuron"> /// The target neuron /// </param> /// <param name="parent"> /// Parent connector containing this synapse /// </param> /// <exception cref="System.ArgumentNullException"> /// If any of the arguments is <c>null</c> /// </exception> public KohonenSynapse(INeuron sourceNeuron, PositionNeuron targetNeuron, KohonenConnector parent) { Helper.ValidateNotNull(sourceNeuron, "sourceNeuron"); Helper.ValidateNotNull(targetNeuron, "targetNeuron"); Helper.ValidateNotNull(parent, "parent"); this.weight = 1d; sourceNeuron.TargetSynapses.Add(this); targetNeuron.SourceSynapses.Add(this); this.sourceNeuron = sourceNeuron; this.targetNeuron = targetNeuron; this.parent = parent; }