Cześć, nie mogę tego jakoś ogarnąć. Dajmy na to, że jest 20 osobników w populacji. Jeśli teraz dokonuję selekcji za pomocą koła ruletki, to dostanę listę 20-elementową składającą się z osobników (którzy mogą się powtarzać) gotowych do kopulacji. OK, to jest jasne.
Ale teraz załóżmy, że osobnik A jest na tej liście 5 razy. Teraz muszę stworzyć na podstawie tej listy pary do krzyżowania. Rozumiem, że ilość tych par jest parametrem algorytmu, tak?
OK i teraz (dla przykładu) 4 wybrane pary wyglądają tak:
AB
AC
AD
CD
Po każdym krzyżowaniu dzieci zastępują rodziców, ale w takim wypadku zwiększy się liczebność populacji. Po pierwszym krzyżowaniu(AB) usuwam osobników A i B, a dodaję ich dzieci. I tu jest ok. Ale po drugim krzyżowaniu nie mogę już usunąć osobnika A z populacji, bo jego już tam nie ma. Czyli na miejsce osobnika C wskoczą dwa nowe osobniki. Wielkość populacji zwiększa się o 1. Z moich testów wynika, że po kilku tysiącach iteracji, rozmiar populacji wzrasta do około 2000 osobników (początkowy rozmiar to 20). Czy to jest normalne? Czy rozmiar populacji nie powinien być stały? A jeśli tak, to jak zapewnić stały rozmiar w przypadku, gdy jeden osobnik jest krzyżowany kilka razy? Czy powinienem usuwać najsłabsze osobniki, czy jest może jakiś inny sposób?