private static void Main(string[] args)
        {
            Środowisko srodowisko = new Środowisko();

            srodowisko.Populacja = new Populacja();
            srodowisko.Populacja.GenerujPierwsząPopulację();

            // Tutaj mamy się kręcić w pętli przez 1000 pokoleń tak czy tak, więc wywalone
            //if (srodowisko.WarunekStopu())
            //    Stop();

            for (int i = 0; i < 1000; i++)
            {
                if (i % 50 == 0)
                {
                    Console.WriteLine("x=" + Populacja.NajlepszyWHistorii.Fenotyp + ", f(x)=" + Środowisko.Funkcja(Populacja.NajlepszyWHistorii.Fenotyp));
                }

                srodowisko.Populacja.GenerujNowąPopulację_Turniej();
            }
            Osobnik x = Populacja.NajlepszyWHistorii;

            Console.WriteLine("x=" + x.Fenotyp + ", f(x)=" + Środowisko.Funkcja(x.Fenotyp));

            Console.ReadKey();
        }
        public Osobnik Selekcja_Turniej()
        {
            Random rng = new Random();

            Osobnik[] turniej = new Osobnik[RozmiarTurnieju];
            for (int i = 0; i < RozmiarTurnieju; i++)
            {
                turniej[i] = Osobniki[rng.Next(RozmiarPopulacji)];
            }
            return(turniej.OrderByDescending(x => Środowisko.Funkcja(x.Fenotyp)).First()); // zwraca najlepszego z turnieju`
        }