ALGORITHMES GENETIQUES FITNESS FUNCTION

La page est créée Jean-Paul Lemoine
 
CONTINUER À LIRE
ALGORITHMES GENETIQUES FITNESS FUNCTION
ÉC O L E P O L Y T E C H N IQ U E
        FÉ DÉ R A L E D E L A U S A N N E

                  PROJET

 MACHINES ADAPTATIVES BIO - INSPIREES

ALGORITHMES GENETIQUES
           -
   FITNESS FUNCTION

     Professeur: Dario Floreano
     Assistant: Claudio Mattiussi

           Pascal JERMINI,
          Tania MAGNENAT

     Section Informatique, 6ème semestre

               6 avril 2004
ALGORITHMES GENETIQUES FITNESS FUNCTION
Machines adaptatives bio – inspirées                                                 avril 04

1. INTRODUCTION

1.1 But
Le but de ce projet est d'explorer de manière plus approfondie le thème des algorithmes
génétiques, en particulier comment varient les résultats en fonction de la valeur donnée
aux différents paramètres de l'algorithme et de la fonction d’adaptation.

On verra que certains paramètres ont une très grande influence sur la qualité du résultat,
tandis que d'autres ne semblent pas l'affecter de manière excessive. Comme toute
méthode bio - inspirée il sera facile de tracer un parallèle avec les sciences du vivant, et
découvrir que effectivement même dans la vie réelle ces paramètres ne jouent un rôle que
très secondaire dans l'évolution d'une espèce.
De plus on pourra observer que certaines fonctions d’adaptations parfois présentent des
particularités qui peuvent mettre en difficulté l’algorithme génétique.

1.2 Matériel à notre disposition
- Notebook Mathematica intitulé « Optimization of 2D functions »
- Applets GA Playground

                                            -2-
ALGORITHMES GENETIQUES FITNESS FUNCTION
Machines adaptatives bio – inspirées                                                  avril 04

2. MARCHE A SUIVRE
La première étape de notre projet a été notre familiarisation avec les algorithmes
génétiques, grâce au notebook Mathematica intitulé « Optimization of 2D functions ». De
cette manière nous avons pu comprendre les mécanismes de base de ces algorithmes sur
des exemples simples et de manière visuelle.

Ensuite nous sommes passés à des cas plus complexes, l’étude des fonctions multi –
modales1 de dimension n et l’étude des fonctions d’optimisation.
Pour cette étape nous avons utilisé la démarche suivante pour les fonctions considérées :
   ¾ Simulation avec les paramètres par défaut fournis par le programme
      GA Playground.
   ¾ Modification de la taille de la population
   ¾ Modification du nombre de gènes (c’est à dire de la dimension du problème)
   ¾ Modification du pourcentage des survivants à chaque génération (élitisme)
   ¾ Modification du taux de mutation.

Afin d’isoler l’effet de chaque paramètre, les essais ont été faits en n’en faisant varier
qu’un seul à la fois.
Pour chaque modification, au moins trois simulations ont été exécutées à cause de la
nature aléatoire de ces algorithmes. Dans certains cas un peu douteux (mesures avec une
très grande variance), des exécutions supplémentaires ont été faites, afin de lever le
doute.
Les algorithmes génétiques sont des méthodes non - déterministes, et cette composante
de hasard peut être configurée en modifiant plusieurs paramètres, comme par exemple le
taux de mutation. Ce non - déterminisme pose un certain problème lors des mesures des
résultats: on ne peut pas se baser uniquement sur une seule mesure pour pouvoir établir
une conclusion: il est indispensable d'en faire plusieurs pour pouvoir confirmer un résultat.

Pour cette exploration nous avons soumis à un programme qui utilise des algorithmes
génétiques plusieurs problèmes d'optimisation, avec comme objectif de trouver le
minimum (ou le maximum) global. Toutes ces fonctions ont des caractéristiques
particulière, qui les rendent intéressantes à soumettre à un algorithme génétique, car si on
les visualise graphiquement elles présentent un profile qui contient des pièges pour
l'algorithme (par exemple un minimum global perdu au milieu d'une multitude de minima
locaux).
Ces caractéristiques sont utilisées tous spécialement pour étudier les performances des
algorithmes en fonction des paramètres typiques des algorithmes génétiques (taux de
mutation, taille de la population, etc.).

1
    Fonction qui présente plusieurs pics.

                                             -3-
ALGORITHMES GENETIQUES FITNESS FUNCTION
Machines adaptatives bio – inspirées                                                                                                      avril 04

3. PREMIERS CONTACTS AVEC LES ALGORITHMES GENETIQUES
Grâce à ces simulations très visuelles, nous avons pu observer que les algorithmes
génétiques, pour une fonction d’adaptation donnée, ont tendance à trouver le maximum
global de la fonction, même si ce dernier est entouré de maxima locaux.
Ceci est visible sur les graphiques qui vont suivre.

3.1 Fonction d’adaptation 1

Paramètres
stringGeneLength=10;
mutationRate=0.03;
crossoverRate = 0.6;
populationSize=100;
numberOfGenerations=25;
elitism=True;

fitnessFunction=sin(π.x).sin(π.y).abs(sin(3.π.x).sin(3.π.y))
Intervalle : x ∈ [0, 1], y ∈ [0, 1]
                          Initial population                                                   Final population

                                                                  1                                                                 1
                                                                 0.75                                                              0.75
                                                                 0.5                                                               0.5
                                                                0.25
                                                                0                                                                 0.25
                                                                                                                                  0
                                                               10                                                                10
                                                           0.75                                                                0.75
             0                                                                0
                 0.25                                0.5                          0.25                                   0.5
                        0.5                                                              0.5
                                                  0.25                                                              0.25
                               0.75                                                             0.75
                                            1 0                                                              1 0

                                Initial population                                                 Final population
              1                                                                   1

             0.8                                                              0.8

             0.6                                                              0.6

             0.4                                                              0.4

             0.2                                                              0.2

                         0.2          0.4     0.6        0.8       1                      0.2          0.4         0.6     0.8        1

                   Figure 1 : Résultat d’une simulation avec la fonction d’adaptation 1

Cette fonction présente un maximum global, ainsi que huit maxima locaux. La présence de
ces maxima rend la tâche particulièrement difficile à l’algorithme génétique, car selon la
distribution initiale de la population, il est possible qu’un maximum local soit confondu avec
le maximum global. Ceci peut arriver lorsque la population initiale se retrouve toute

                                                                        -4-
ALGORITHMES GENETIQUES FITNESS FUNCTION
Machines adaptatives bio – inspirées                                                                                                        avril 04

concentrée autour d’un maximum local.

Dans l’exemple de la Figure 1 on a une population initiale distribuée de manière assez
uniforme sur tout l’intervalle. Après 25 générations on voit très bien que une bonne partie
de la population est concentrée autour du maximum global. Il y a tout de même quelques
individus qui se retrouvent sur des maxima locaux.

3.2 Fonction d’adaptation 2

Paramètres
stringGeneLength=10;
mutationRate=0.03;
crossoverRate = 0.6;
populationSize=100;
numberOfGenerations=25;
elitism=True;

fitnessFunction= abs(sin(3.π.x).sin(3.π.y))
Intervalle : x ∈ [0, 1], y ∈ [0, 1]
                             Initial population                                                 Final population

                                                                   1                                                                  1
                                                                  0.75                                                               0.75
                                                                  0.5                                                                0.5
                                                                 0.25
                                                                 0                                                                  0.25
                                                                                                                                    0
                                                                10                                                                 10
                                                             0.75                                                               0.75
            0                                                                  0
                0.25                                   0.5                         0.25                                   0.5
                       0.5                                                                0.5
                                                   0.25                                                               0.25
                              0.75                                                               0.75
                                           1 0                                                                1 0

                                 Initial population                                                Final population
                1                                                                  1

            0.8                                                                0.8

            0.6                                                                0.6

            0.4                                                                0.4

            0.2                                                                0.2

                        0.2          0.4         0.6      0.8       1                      0.2          0.4         0.6      0.8       1

             Figure 2 : Résultat d’une première simulation avec la fonction d’adaptation 2

                                                                         -5-
Machines adaptatives bio – inspirées                                                                                                        avril 04

                          Initial population                                                    Final population

                                                                   1                                                                  1
                                                                  0.75                                                               0.75
                                                                  0.5                                                                0.5
                                                                 0.25
                                                                 0                                                                  0.25
                                                                                                                                    0
                                                                10                                                                 10
                                                             0.75                                                               0.75
             0                                                                 0
                 0.25                                  0.5                         0.25                                   0.5
                        0.5                                                               0.5
                                                   0.25                                                               0.25
                              0.75                                                               0.75
                                           1 0                                                                1 0

                                Initial population                                                 Final population
                 1                                                                 1

             0.8                                                               0.8

             0.6                                                               0.6

             0.4                                                               0.4

             0.2                                                               0.2

                         0.2         0.4         0.6      0.8       1                      0.2          0.4         0.6      0.8       1

            Figure 3 : Résultat d’une deuxième simulation avec la fonction d’adaptation 2
Cet exemple est très similaire à celui précédant, avec l’exception qu’il n’y a pas de
maximum global. Il y a uniquement 9 maxima locaux, tous identiques.

La population initiale est à nouveau uniformément distribuée sur l’espace de recherche
considéré, mais après 25 générations on peut remarquer que dans les deux simulations
les maxima choisis par l’algorithme ne sont pas les mêmes. Le choix des pics est
essentiellement aléatoire et varie d’une exécution à l’autre.
Ce comportement est dû au fait qu’il n’y a pas de maximum global vers lequel la
population peut se concentrer, et que les différents maxima locaux ont tous la même
valeur, donc ils ont tous la même chance d’être sélectionnés.

                                                                         -6-
Machines adaptatives bio – inspirées                                            avril 04

4. ETUDE DE FONCTIONS MULTI – MODALES

4.1 Fonction de Ackley

La fonction de Ackley en 3 dimensions présente un seul minimum global comme montré
sur la figure suivante :

> plot3d(20+exp(1)-20*exp(-0.2*sqrt(0.5*(x^2+y^2)))-
exp(0.5*(cos(2*Pi*x)+cos(2*Pi*y))), x=-32.768..32.768, y=-
32.768..32.768);

                                       Figure 4 : Fonction de Ackley

La fonction de Ackley (qui représente un problème de minimisation) ne présente pas de
difficultés particulières pour les algorithmes génétiques, car elle possède qu’un seul
minimum, qui est très prononcé.

                                                    -7-
Machines adaptatives bio – inspirées                                                     avril 04

4.2 Fonction de Rosenbrock

La fonction de Rosenbrock en 3 dimensions a comme résultat une espèce de vallée
parabolique, très étroite, avec un fond presque plat, comme montré sur la figure suivante:

> plot3d((1-x)^2+100*(y-x^2)^2, x=-2.048..2.048, y=-2.048..2.048);

                                  Figure 5 : Fonction de Rosenbrock
Il est assez aisé de se retrouver sur le fond de la vallée, mais la recherche de l'optimum
global est difficile à cause du fond plat, qui a tendance à créer des individus très similaires.
Ceci a comme effet que les croisements entre individus peuvent ne pas être suffisant pour
s'approcher de l'optimum: les mutations sont les seuls opérateurs génétiques qui peuvent
encore aider à s'approcher du minimum optimal.

Le fond de la vallée étant très régulier, et qui ne présente pas de problèmes de minima
locaux, cette fonction est utile pour tester la précision du résultat obtenu et les
performances de l’algorithme.

                                                 -8-
Machines adaptatives bio – inspirées                                               avril 04

4.3 Fonction de Schwefel

> plot3d(2*418.9829+(-x*sin(sqrt(abs(x))))+(-y*sin(sqrt(abs(y)))),
x=-500..500, y=-500..500);

                                       Figure 6 : fonction de Schwefel

Cette fonction est particulière, car le minimum global est plutôt éloigné (du point de vue
géométrique) du meilleur minimum local. Il est donc clair que les algorithmes génétiques
auront une forte tendance à se tromper de minimum et donc de converger dans la
mauvaise direction. Pour ce genre de fonction, une recherche en contemporaine dans
plusieurs zones de l’espace du domaine est la méthode à privilégier, pour éviter de se
retrouver bloqués dans l’optimum local. La meilleure méthode pour élargir le champ de
recherche est d’augmenter le nombre d’individus de la population initiale.

                                                     -9-
Machines adaptatives bio – inspirées                                              avril 04

4.4 Fonction de Griewank

La fonction de Griewank présente plusieurs minima locaux étalés sur tout le domaine, qui
sont uniformément distribués.

> plot3d(1/4000*(x^2+y^2) - (cos(x)/sqrt(1))*(cos(y)/sqrt(2)) + 1,
x=-60..60, y=-60..60);

                                       Figure 7 : Fonction de Griewank

                                                    -10-
Machines adaptatives bio – inspirées                                                avril 04

5. ETUDE DE FONCTIONS D’OPTIMISATION
Les deux fonctions d’optimisation que nous avons considéré (le modèle de la sphère et un
problème simple de minimisation d’une variable) ne présentent aucun piège particulier
pour un algorithme génétique : se sont deux fonctions (une en trois dimensions et l’autre
en deux) régulières, sans plusieurs maxima (ou minima) locaux : en effet il n’y a que une
seule solution locale, qui est aussi la solution globale.

Nous les représentons ci-dessous, pour constater qu’elles sont effectivement régulières.

5.1 Le modèle de la sphère

> plot3d(x^2+y^2, x=-5..5, y=-5..5);

                                   Figure 8 : le modèle de la sphère

                                                 -11-
Machines adaptatives bio – inspirées                                         avril 04

5.2 Minimisation d’une seule variable

> plot(x^4-12*x+15*x^2+56*x-60, x=-10..10);

                              Figure 9 : Minimisation d’une seule variable

                                                  -12-
Machines adaptatives bio – inspirées                                                     avril 04

6. DISCUSSION DES RESULTATS OBSERVES
Effets sur l’évolution si on change la taille de la population
La modification de la taille de la population a une très grande influence sur le résultat final:
en effet d'après les observation faites, plus la population est grande, plus le résultat est
proche de l'optimum et plus la vitesse de convergence est élevée (en terme de nombre de
générations). Cette observation a été faite en fixant un plafond maximum de générations
permises pour ce jeu de paramètres, et une fois ce plafond atteint, les résultats (en
particulier la valeur de f(x)) ont étés notés afin de les comparer.

Afin d'expliquer ce phénomène, il faut se rendre compte que la population initiale est
constituée d'individus pris au hasard, donc distribués de manière aléatoire dans l'espace
des solutions du problème. Plus il y a d'individus, plus il y a de chances qu'un nombre
élevé se trouve près de la solution optimale (les individu les meilleurs se trouvent toujours
près de l'optimum). Les porteurs de gènes optimaux ont plus de chance de se retrouver à
la prochaine génération, donc de contribuer encore à la recherche de l'optimum.
Dans les cas de fonctions présentant un maximum (ou un minimum) global et un ou
plusieurs maximum (ou minimum) local, ceci peut être important, car avec une population
trop petite il est possible qu'elle se retrouve toute centrée autour d'un optimum local, et
qu'il soit donc difficile qu'elle se déplace autour de l'optimum global. Avec une population
plus grande, grâce à son étalement sur toute la surface des solutions, on a plus de
chances que certains individus se trouvent près de l'optimum global, et que donc on
obtienne effectivement le résultat cherché grâce à l’évolution de ces individus.

Si on utilise une population trop petite, seulement une petite partie de l'espace de
recherche sera explorée, ce qui ne garantie pas qu'on trouvera la solution optimale
(surtout dans le cas des fonctions multi - modales: un optimum local pourrait être pris pour
l'optimum global!). Mais utiliser une très grande population n'aide pas à trouver la solution
plus rapidement en terme de temps de calcul, bien au contraire! Plus la population est
grande, plus l'algorithme sera lent, car il devra effectuer toutes les étapes (sélections,
croisements, mutations) sur beaucoup d'individus! Il faut donc trouver le juste milieu! Les
valeurs souvent prises se situent entre 20 et 100 individus.

Exemple : fonction de Schwefel

Paramètres
Exit tolerance         : 0.5
Population Size        : 10
Number of genes        : 10
Survivor percent       : 20
Mutation rate          : 0.05

f(x)                               Current generation           Function calls
90.5897048                         1123                         11762
53.9080658                         1042                         10852
64.7441463                         1083                         11232

                                               -13-
Machines adaptatives bio – inspirées                                                 avril 04

Paramètres
Population Size        : 30

f(x)                               Current generation         Function calls
4.6134764                          1082                       34440
2.2436864                          1081                       34500
6.4987575                          1055                       33692
2.0313211                          1070                       33932

Paramètres
Population Size        : 100

f(x)                               Current generation         Function calls
0.4878036                          742                        78302
0.2137699                          903                        95302
0.1567759                          852                        90202

Paramètres
Population Size        : 500

f(x)                               Current generation         Function calls
0.4048841                          167                        85002
0.4423003                          133                        67002
0.4693474                          221                        112502
0.4764155                          198                        100502

Paramètres
Population Size        : 1000

f(x)                               Current generation         Function calls
0.2867090                          98                         99002
0.4969229                          139                        140002
0.4884985                          97                         98002
0.4984392                          97                         98002
0.4980498                          140                        141002

Avec ces données on peut voir que effectivement avec une taille de population réduite (10
individus), f(x) est éloignée de l’optimum, mais dès que l’on a une population plus
importante on s’approche du résultat optimal.
Considérons par exemple le cas de la population de 100 individus et celle de 1000
individus : le résultat de f(x) est assez similaire dans les deux cas, mais si on observe le
nombre d’appels aux fonctions génétiques (colonne « Function calls ») on s’aperçoit que
avec la très grande population il y a une tendance a faire plus d’appels, ce qui ralenti
l’algorithme, pour obtenir le même résultat !

Effets sur l’évolution si on change la dimension du problème
La dimension du problème (donc le nombre de gènes par individu) a aussi une grande
influence sur la rapidité avec laquelle on converge vers l'optimum de la fonction. En effet
plus la dimension du problème est élevée, plus l’algorithme a de la peine pour trouver un

                                               -14-
Machines adaptatives bio – inspirées                                                   avril 04

résultat optimal, car il doit trouver le meilleur gène dans toutes les dimensions
simultanément.
Comme exemple pour clarifier l’impact de la dimension, considérons le cas en une
dimension (1 seul gène) : l’algorithme doit trouver la valeur optimale f(x) pour un seul x, ce
qu’il arrive a faire en un certain temps. Considérons ensuite la même fonction d’adaptation
mais en cinq dimensions : l’algorithme doit maintenant trouver la valeur optimale pour cinq
gènes en même temps, ce qui naturellement prend plus de temps par rapport aux cas de
dimensions plus petites.

Exemple : fonction de Griewank

Paramètres
Exit tolerance         : 0.5
Population Size        : 30
Number of genes        :1
Survivor percent       : 20
Mutation rate          : 0.05

f(x)                               Current generation          Function calls
0.1264520                          1                           62
0.110852                           1                           62
0.0196584                          47                          1562

Paramètres
Number of genes        :2

f(x)                               Current generation          Function calls
0.3848217                          14                          482
0.4319212                          31                          1022
0.2711461                          56                          1802

Paramètres
Number of genes        :5

f(x)                               Current generation          Function calls
0.4714119                          202                         6482
0.4297878                          111                         3512
0.4949321                          59                          1862

Paramètres
Number of genes        : 15

f(x)                               Current generation          Function calls
1.1124772                          1082                        33272
1.1032210                          1076                        33332
1.0583229                          1042                        32222

Une tendance observée est que plus la dimension est réduite, plus rapidement on arrive à
l'optimum, tandis qu’avec un nombre élevé de gènes (15 dans nos simulations) la vitesse
de convergence vers l’optimum est assez lente.

                                               -15-
Machines adaptatives bio – inspirées                                                 avril 04

Effets sur l’évolution si on change le pourcentage de survivants
Le pourcentage de survivants correspond au phénomène d’élitisme, qui est un facteur très
important pour l’optimisation de la rapidité des algorithmes génétiques. En effet ce
pourcentage correspond au nombre d’individus de la génération précédente que l’on
retrouvera dans la prochaine : les individus choisis seront les meilleurs, donc ceux avec le
fitness plus élevé.

Exemple : fonction de Ackley

Paramètres
Exit tolerance         : 0.5
Population Size        : 30
Number of genes        : 10
Survivor percent       :0
Mutation rate          : 0.05

f(x)                               Current generation         Function calls
5.5446486                          1082                       32610
3.7368975                          1076                       32432
4.3572295                          1077                       32492

Paramètres
Survivor percent       : 20

f(x)                               Current generation         Function calls
1.2600556                          1084                       34500
1.1653655                          1064                       33572
1.0128672                          1046                       33002
1.2311506                          1094                       34262

Paramètres
Survivor percent       : 50

f(x)                               Current generation         Function calls
0.5140941                          1071                       34052
0.4391679                          710                        22532
0.4890741                          1025                       32312

Paramètres
Survivor percent       : 80

f(x)                               Current generation         Function calls
1.5129791                          1076                       34262
0.5910729                          1085                       34772
1.3433241                          1077                       34052

                                               -16-
Machines adaptatives bio – inspirées                                                  avril 04

Paramètres
Survivor percent       : 100

f(x)                               Current generation         Function calls
17.4312822                         1046                       34260
17.9354659                         1068                       34980
17.5463736                         1086                       35552

Après ces simulations, on voit clairement que si on désactive le mécanisme d’élitisme
(donc Survivor percent = 0) le résultat est loin de l’optimum et la vitesse de convergence
est lente, car à chaque nouvelle génération il faut recréer une nouvelle population
aléatoirement.
En incrémentant cette valeur à 20% ou à 50%, on peut observer que l’on obtient des
résultats plus proches de la valeur optimale, et ceci assez rapidement. Par contre dès que
l’on augmente trop le facteur d’élitisme (80% ou 100%), on obtient l’effet contraire : ça a
tendance à dégrader la population (et donc le résultat), car on garde tous les individus,
même ceux avec un fitness bas. Ceci naturellement influence les générations suivantes,
qui n’arriveront pas à s’améliorer, car elles partent d’une population de base trop
mauvaise.

Effets sur l’évolution si on change le taux de mutation
La désactivation de l’opérateur de mutation n’a pas de grande influence sur les résultats,
car il a une probabilité très basse de modifier les gènes. L’impact de cet opérateur est plus
marqué sur une grande population, étant donné que la probabilité qu’une mutation soit
faite est plus grande que sur une population réduite.

Exemple : Modèle de la sphère

Paramètres
Exit tolerance         : 0.001
Population Size        : 30
Number of genes        :5
Survivor percent       : 20
Mutation rate          :0

f(x)                               Current generation         Function calls
0.0013500                          1099                       35762
0.0013100                          1058                       34502
0.0006750                          677                        21962
0.0006890                          1050                       34232

Paramètres
Mutation rate          : 0.03

f(x)                               Current generation         Function calls
0.0007150                          370                        11882
0.0005800                          474                        15242
0.0003600                          510                        16382

                                               -17-
Machines adaptatives bio – inspirées                                               avril 04

Paramètres
Mutation rate          : 0.1

f(x)                               Current generation       Function calls
0.0008550                          526                      16962
0.0009200                          1052                     33092
0.0008120                          547                      17162

Paramètres
Mutation rate          : 0.5

f(x)                               Current generation       Function calls
0.0230830                          1069                     33542
0.0634400                          1066                     33422
0.1001740                          1082                     33932
0.0473710                          1050                     32792

Paramètres
Mutation rate          :1

f(x)                               Current generation       Function calls
0.7007990                          1060                     33662
0.8684170                          1075                     34112
1.1158610                          1060                     33662

D’après les résultats de l’expérience il est évident que l’opérateur mutation est un
paramètre secondaire dans un algorithme génétique : en effet si on considère le cas avec
un taux de 0.03 et celui avec 0.1 on ne remarque pas de très grande différence tant dans
les résultats que dans la vitesse de convergence, et ce malgré une multiplication par un
facteur 3 de ce paramètre!
Pour ce paramètre aussi il est inutile de l’augmenter de manière démesurée : en effet la
dernière simulation, avec le taux de mutation de 1, montre clairement que les résultats se
sont dégradés par rapport aux valeurs considérées optimales que sont celles comprises
dans la fourchette 0.01 – 0.1.
En effet cela reflète de manière réaliste le fonctionnement de la nature, où les mutations
sont des évènements très rares (donc avec une probabilité basse) : il est effectivement
rare que tous les gènes mutent en même temps, tel qu’il serait le cas avec un taux de
mutation de 1.

                                               -18-
Machines adaptatives bio – inspirées                                                 avril 04

7. CONCLUSION
On a pu observer que malgré le caractère non - déterministe des algorithmes génétiques
ils étaient tout de même efficaces pour trouver les solutions optimales! Mais pour que leur
efficacité soit maximale il faut choisir de manière intelligente les paramètres en
considérant les caractéristiques de la fonction d’adaptation, car sinon on risque d'avoir un
résultat complètement faux. Mais en se basant sur des observations de la nature on peut
déjà trouver des valeurs raisonnables, qui permettent d’obtenir de bon résultats.

Dans le cas du piège des fonctions multi - modale, la méthode marche là aussi
étonnamment bien: souvent l'optimum global est trouvé!

L'immense avantage de ces algorithmes est qu'ils sont applicables à beaucoup de
situations et qu'ils sont assez rapides aussi! Souvent la méthode bio - inspirée produit des
résultats plus rapidement que les méthodes analytiques, ce qui est tout à fait remarquable
si on considère la relative simplicité de l'algorithme et son utilisation du hasard pour
converger vers la solution!

                                            -19-
Vous pouvez aussi lire