Exemplo n.º 1
0
 public void Calculate()
 {
     for (int layer = 0; layer < TotalLayers; layer++)
     {
         Neurons.FindAll(n => n.NetworkLevel == layer).ForEach(n => n.Calculate());
     }
 }
Exemplo n.º 2
0
 private void WireUpInputNeuronValuePointersToInputBuffer()
 {
     Neurons.FindAll(n => n.NetworkLevel == 0).ForEach(n =>
     {
         n.InputValues.Add(nameof(InputBuffer.DealerValueShowing), latestInput.DealerValueShowing);
         n.InputValues.Add(nameof(InputBuffer.PlayerPointsShowing), latestInput.PlayerPointsShowing);
         n.InputValues.Add(nameof(InputBuffer.Softness), latestInput.Softness);
     });
 }
Exemplo n.º 3
0
        public void WireUpOutputNeuronOutputPointersToOutputBuffer()
        {
            var           fields        = typeof(OutputBuffer).GetFields().ToList();
            List <Neuron> outputNeurons = Neurons.FindAll(n => n.NetworkLevel == TotalLayers - 1);

            for (int i = 0; i < fields.Count; i++)
            {
                fields[i].SetValue(latestOutput, outputNeurons[i].OutputPointer);
            }
        }
Exemplo n.º 4
0
 private void WireUpNeuronInputsToPreviousLayerOutputPointers()
 {
     for (int layer = 1; layer < TotalLayers; layer++)
     {
         List <Neuron> previousLayer = Neurons.FindAll(n => n.NetworkLevel == layer - 1);
         List <Neuron> currentLayer  = Neurons.FindAll(n => n.NetworkLevel == layer);
         currentLayer.ForEach(n =>
         {
             previousLayer.ForEach(p =>
             {
                 n.InputValues.Add(p.ID.ToString(), p.OutputPointer);
             });
         });
     }
 }