public double AskNeuralNetwork(double[] input)
 {
     Network.Network network = new Network.Network(_inputData[0].Length, _numberOfHiddenLayers, _networkTopology);
     network.InitializeNetwork();
     network.SetWeights(_archive[0]);
     return network.CalculateOutputForOneExample(input);
 }
        private void ComputeFitness()
        {
            //for (int i = 0; i < _2archiveSize; i++)
            //{
            //    Network.Network network = new Network.Network(_inputData[0].Length, _numberOfHiddenLayers, _networkTopology);
            //    network.InitializeNetwork();
            //    network.SetWeights(_archive[i]);

            //    _fitnessVector[i] = calculateMAEForAllExamples(network);
            //}

            Parallel.For(0, _2archiveSize, i =>
            {
                Network.Network network = new Network.Network(_inputData[0].Length, _numberOfHiddenLayers, _networkTopology);
                network.InitializeNetwork();
                network.SetWeights(_archive[i]);

                _fitnessVector[i] = CalculateMaeForAllExamples(network);
            });
        }