public void AddLayer(int NeuronCount) { NetworkLayer newNetworkLayer = new NetworkLayer(); newNetworkLayer.AddLayer(NeuronCount); if (NetworkLayers.Count > 0) { newNetworkLayer.ConnectLayers(NetworkLayers.Last()); } NetworkLayers.Add(newNetworkLayer); }
public void ConnectLayers(NetworkLayer previous) { Random random = new Random(); foreach (Neuron pvNeuron in previous.NetworkNeurons) { List <Synapse> newConnections = new List <Synapse>(); foreach (Neuron nextNeuron in this.NetworkNeurons) { double k = random.NextDouble(); Synapse newSynapse = new Synapse(pvNeuron, nextNeuron, k / 10); nextNeuron.Inputs.Add(newSynapse); newConnections.Add(newSynapse); } pvNeuron.Outputs = newConnections; } }