static void Main(string[] args)
        {
            //dane do pobrania z GUI
                  int a = 10;          //początek przedziału do losowania wartości komórek
                  int b = 100;          //koniec przedziału do losowania wartości komórek
                  int ammount = 10;    //ile chcemy pasujących antygenów na wyjściu
                  double tollerance = 0.30;  // tolerancja odchylenia od wzorca zakres od 0 do 1 najlepiej z listy rozwijanej

                  //przemielenie algorytmu
                  NegativeSelectionAlgorithmClass algorithm = new NegativeSelectionAlgorithmClass(a, b, ammount, tollerance);
                  //dane do wyprowadzenia na GUI

                  System.Console.WriteLine("Wylosowana komórka macierzysta i jej wartość funkcji przystosowania");
                  System.Console.WriteLine(algorithm.stemCell.getCellValue() + " i " + algorithm.stemCell.getCellValueOfFunction());

                  System.Console.WriteLine("Populacja wyjściowa przeciwciał");
                  for (int i = 0; i < algorithm.antibodies.Count; i++)
                  {
                      System.Console.WriteLine(algorithm.antibodies[i].getCellValue() + " i " + algorithm.antibodies[i].getCellValueOfFunction());
                  }

                  System.Console.WriteLine("Liczba epok potrzebna do osiągnięcia wyniku: "+ algorithm.getAmmountOfEpochs());

                  System.Console.WriteLine("Taka sytuacja");
                  System.Console.ReadKey();

                  // Klonalny

                  var algorithm2 = ClonalSelectionAlgorithm.Instance;
                  algorithm2.Function = x => x * x + 2 * x + 10;
                  algorithm2.Options = new AlgorithmOptions
                  {
                     MaxGens = 30,
                     Section = new double[] { 10, 100 },
                     SectionX_0 = 10,
                     SectionX_1 = 100,
                     nBestGensToTake = 10,
                     nWorstGenToThrow = 4,
                     MaxCloneCountForMaxProbability = 20,
                     MinProbability = 95,
                     MaxGoodGens = 20,
                     StopCondition = StopContition.PROB,
                     MaxEpochsNumer = 10
                  };

                  algorithm2.StartAlgorithm();
        }
        public void recordToFileNegativeSelectionAlgorithm(NegativeSelectionAlgorithmClass negativeSelectionAlgorithmClass)
        {
            System.IO.File.Delete(@"D:\Wyniki programu.csv");
            using (StreamWriter sw = new StreamWriter(@"D:\Wyniki programu.csv", true))
            {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.AppendFormat("Wylosowana komorka macierzysta: {0} i jej wartosc funkcji przystosowania: {1}{2}", negativeSelectionAlgorithmClass.stemCell.getCellValue().ToString(), negativeSelectionAlgorithmClass.stemCell.getCellValueOfFunction().ToString(),Environment.NewLine);

                stringBuilder.AppendFormat("Populacja wyjsciowa przeciwcial:\n");
                for (int i = 0; i < negativeSelectionAlgorithmClass.antibodies.Count; i++)
                {
                    stringBuilder.AppendFormat("{0} i {1} \n", negativeSelectionAlgorithmClass.antibodies[i].getCellValue().ToString(), negativeSelectionAlgorithmClass.antibodies[i].getCellValueOfFunction().ToString());
                }

                stringBuilder.AppendFormat("{0}Liczba epok potrzebna do osiagniecia wyniku: {1}",Environment.NewLine, negativeSelectionAlgorithmClass.getAmmountOfEpochs().ToString());
                sw.WriteLine(stringBuilder.ToString());

                wynikiTbx.Text = (stringBuilder.ToString());
            }
        }
        private void negativeSelection_Click(object sender, RoutedEventArgs e)
        {
            int min = Convert.ToInt32(startTbx.Text);
            int max = Convert.ToInt32(koniecTbx.Text);
            int amountOfAntibodies = Convert.ToInt32(antygenyTbx.Text);
            var selectedComboBoxItem = odchylenieCbx.SelectedItem as ListBoxItem;
            var comboBoxValue = selectedComboBoxItem.Content.ToString().Replace(".", ",");
            double tollerance = Convert.ToDouble(comboBoxValue);

            NegativeSelectionAlgorithmClass negativeSelectionAlgorithmClass = new NegativeSelectionAlgorithmClass(min, max, amountOfAntibodies, tollerance);

            recordToFileNegativeSelectionAlgorithm(negativeSelectionAlgorithmClass);
        }