Пример #1
0
 public static Network CopyNetwork(Network original)
 {
     Network ret = new Network(original.Transform);
     original.UpdateIndices();
     //Creating Neurons
     for (int i = 0; i < original.Inputs.Count; i++)
     {
         ret.CreatePerceptron(original.Inputs[i].Transform);
     }
     for (int i = 0; i < original.Body.Count; i++)
     {
         ret.CreateNeuron(original.Body[i].Threshhold, original.Body[i].Transform);
     }
     for (int i = 0; i < original.Outputs.Count; i++)
     {
         ret.CreateConsolidator(original.Outputs[i].Transform);
     }
     //Creating connections
     for(int i = 0; i < ret.Neurons.Count; i++)
     {
         Neuron orig = original.Neurons[i];
         Neuron inp = ret.Neurons[i];
         for(int j = 0; j < orig.Outputs.Count; j++)
         {
             Neuron outp = ret.Neurons[orig.Outputs[j].Output.GlobIndex];
             ret.CreateDendron(inp, outp, orig.Outputs[j].Factor);
         }
     }
     return ret;
 }