Пример #1
0
        public Osobnik Selekcja_Turniej()
        {
            Osobnik[] Osobniki = new Osobnik[RozmiarPopulacji];
            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 => Osobnik.FunkcjaDopasowania(x.m_fenotyp)).First()); // zwraca najlepszego z turnieju`
        }
Пример #2
0
        public static Osobnik NaprawOsobnika(Osobnik osobnik, Dziedzina dziedzina)
        {
            if (FunkcjaDopasowania(osobnik.m_fenotyp) > dziedzina.Max)
            {
                osobnik.m_fenotyp = dziedzina.Max;
            }
            else if (FunkcjaDopasowania(osobnik.m_fenotyp) < dziedzina.Min)
            {
                osobnik.m_fenotyp = dziedzina.Min;
            }

            return(osobnik);
        }
Пример #3
0
 public static double Fenotyp(Osobnik osobnik)
 {
     return(-2 + osobnik.m_genotyp * 1.0 / 1000000000);
 }