public Osobnik NajlepszyWPopulacji() { Osobnik najlepszy = Osobniki[0]; for (int i = 1; i < RozmiarPopulacji; i++) { najlepszy = Środowisko.Lepszy(najlepszy, Osobniki[i]); } NajlepszyWHistorii = Środowisko.Lepszy(najlepszy, NajlepszyWHistorii); return(najlepszy); }
public void GenerujNowąPopulację_Turniej() { Populacja nowePokolenie = new Populacja(); for (int i = 0; i < RozmiarPopulacji; i++) { do { Osobnik mama = Selekcja_Turniej(); Osobnik tata = Selekcja_Turniej(); nowePokolenie.Osobniki[i] = Osobnik.Krzyżowanie(mama, tata); nowePokolenie.Osobniki[i].Mutacja(); } while(nowePokolenie.Osobniki[i].ŚmiertelnieZmutowany()); // Niektóre osobniki mogą być niedopuszczalne do rozwiązania } NajlepszyWHistorii = Środowisko.Lepszy(NajlepszyWHistorii, nowePokolenie.NajlepszyWPopulacji()); }