1 Construction et initialisati on d'un objet int** popula-
tion
Dénition d'un objet int** populationdans lemain.c.
Allocation int* initPopulation() et désallocation void endPopulation(int** pop)) dy-
namique (mallocet free) de lapopulationdans population.c .
Initialisationdes valeurs des gènes de chaque chromosome de lapopulationgrace àla
méthode int*initChromosome() dans chromosome.c
2 Opérateur d'évaluation de la population
En utilisant la méthode int evalChromosome(int*), dénir une méthode int* evalPo-
pulation(int**population),qui retourne un tableaud'entiers correspondant autness
de chaque chromosome dans lapopulation.
Dénir int*tabFitness dansle main,qui recupère lesvaleurs calculées dans evalPopu-
lation.
3 Opérateur de sélection et de création de la génération
suivante
Dénitiond'uneméthodeint**selectPopulation(int**population,int*tabFitness)dans
population.c.
L'allocationpour lanouvellepopulationdoit sefaire à ce niveau.
Sélectionpartournoi:ontirealéatoirementNB_MAX_OPPONENTSentiers(chaque
entier comprisentre 0 etNB_MAX_CHROMOSOMES), correspondant auxchromo-
somes sélectionnés pour participerau tournoi.
On ne garde qu'un chromosome, celui ayant le tness le plus grand, le vainqueur du
tournoi. On doit recopier explicitement le chromosome vainqueur dans la nouvelle
population.
On recommencecetteprocédure NB_MAX_CHROMOSOMES foisan de constituer
lanouvelle population.