Documentation pour EO: Modifier la fonction fitness

La fonction fitness se trouve a priori  au moment de la création d’une instance d’évaluation (avec la class ‘eoEvalFuncPtr’). C’est là on évalue chaque individu de la population. Dans le premier exemple, la fonction ‘binary_value’ joue le rôle de calculer la fitness des individus. Donc, pour la modifier, il suffit d’ajuster l’entrée de la variable ‘sum’ dans cette fonction:

double binary_value(const Indi & _indi)
{
double sum = 0;
for (unsigned i = 0; i < _indi.size(); i++)
sum += _indi[i];
return sum;
}

Ce code sert à  calculer le nombre de bits ‘1’ de chaque individu (Indi). Donc, si par exemple on voudrait modifier cette fonction pour compter combien de bits ‘0’ notre code  pourra être comme suivant:

double binary_value(const Indi & _indi)
{
double sum = 0;
for (unsigned i = 0; i < _indi.size(); i++)
sum += _indi[i];

sum=_indi.size()-sum ;

return sum;

}

Voilà on reste à une modif très simple pour le moment. On se retrouvera dans un autre post pour voir comment on applique cette  fonction dans un problème réel.

Tutu

Catégories : EO LibraryLesson 1

Articles connexes:

Notes et réferences:

3 thoughts on “Documentation pour EO: Modifier la fonction fitness

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s