Vous êtes sur la page 1sur 12

Projet dalgorithme gntique sur les Abeilles

Thomas Schmitt 14 fvrier 2014

Sommaire
1 Motivation 2 Implmentation 2.1 Cerveau des abeilles . . . . . . . . . . . . . . . . . . . . . . . 2.2 Population et Slection . . . . . . . . . . . . . . . . . . . . . . 3 Rsultats 3.1 Interprtation . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Rsultats sur les jeux de paramtres . . . . . . . . . . . . . . . 4 Suite... 5 Annexe 1 2 2 3 3 4 6 6 7

Motivation

Je voulais simuler des populations, de faon non supervis, pour observer une slection naturelle conduisant des phnomnes mergents. Ayant entendu parler des rseaux de neurones, je voulais aussi faire un projet qui me permettrai de les tudier, an de men imprgner. Finalement, jai choisis Matlab, pour ses structures simple Dans ce projet, je me suis eorc de laisser tout mes paramtres variables. Jai dvelopp une interface graphique cette n (cf Figure 2) 1

But du jeu
Dans cette simulation, les abeilles devront parcourir la carte pour chercher du miel. Elles devront apprendre viter le feu et dans une seconde partie (non aboutie) apprendre ramener le miel la ruche. Elle devront apprendre cela sans supervision. Il ny aura quune slection entre chaque gnration, qui gardera les mieux adapts.

2
2.1

Implmentation
Cerveau des abeilles

Le cerveau des abeilles est un rseau de neurones classique. Le nombre de couches caches est variable (nb_couches_cachees), ainsi que le nombre de neurones de chaque couches.

Figure 1 Rseau de neurones utilis pour les cerveaux.

Il y a 4 neurones de rtine pour voir le miel (chacun codant une direction), 4 pour le feu, 4 pour la position de la ruche et 1 pour savoir sil lon transporte dj un miel. Les abeilles ne voient pas plus loin que dist_vision autours delle (sauf la ruche). Il y a 4 neurones de sorties. Labeille choisit alors le max pour se diriger. Lapprentissage se fait par slection naturelle (cf section suivante).

2.2

Population et Slection

Figure 2 Interface lors dun test de simulation. Sur un damier de X Y, il y a : nb_abeilles abeilles qui vont se dplacer chaque tours. nb_miel miel plac alatoirement. Qui, une fois pris, rapparaissent ailleurs. nb_feu feu plac alatoirement. Rpartit en plusieurs ilt, qui seront gnr chaque nouvelle gnration dabeilles(cf Remarque). La ruche, au centre de la carte. (Qui permet aux abeilles de ramener leur miel). A la premire gnration, les abeilles ont chacune un cerveau indpendant et tir au hasard (i.e. chaque coecients synaptique est tir au hasard). A la premire gnraion, certaines sont attir par le feu, dautre continue toujours en ligne droite etc. A la n dune gnration, (de nb_tours), on slectionne les abeilles avec le meilleur score (on en choisit exactement nb_selection %. On garde une 3

copie de chacune delles inchangs, puis on en cr de nouvelles copies, en modiant leurs gnomes (avec un taux moyen de taux_mutation % et une amplitude moyenne de amplitude). Remarque Aprs observations, jai remarqu quil faut gnrer une nouvelle map chaque gnration, sinon cest plus la connaissance de la carte, que la capacit chercher du miel, qui sinscrit dans les neurones. Score dune abeille Le calcul du score se fait par trois paramtres : score_miel, score_feu (ngatif) et score_ruche (rapport un miel la ruche). Il est intressant de chercher optimiser ses valeurs, qui servent la slection naturelle et lvaluation de la tness dune population.

Rsultats

Figure 3 Fonction de score. En abscisse le nombre de gnration, en ordonne le score (en rouge : pour la meilleur abeille, en vert : la moyenne pour les meilleurs venant de lancienne gnration et en bleu la moyenne sur toutes les abeilles) Dans la suite, on ne sintressera qu la courbe verte (moins bruit et plus signicative - car ne tient pas compte des mutations dltres cr).

Le rsultat qui nous intresse est la courbe qui reprsente la tness dune population au cours des gnrations. Soit : le score moyen, (cumul sur nb_tours) de chaque gnration. On observe alors plusieurs phnomnes : La vitesse de convergence vers un palier ( ) : traduit le temps caractristique dapprentissage. La hauteur du palier (a) : tness maximal. Un ventuel deuxime palier, traduisant lapparition dun nouveau saut dans lvolution.

3.1

Interprtation

Figure 4 La courbe bleu prsente deux palier

Deuxime palier Lexistence de plusieurs palier dans le graphe du score traduit un saut dans lvolution, une mutation qui va se rpandre dans la population. (cf Figure 6, ligne 4, colonne 2 et 4) En observant des simulations jai remarqu que dans une premire phase, les abeilles ne se dplacent que dans un direction privilgi ( droite par exemple) et ventuellement dans une autre (en haut). Puis, elle apprennent (en quilibrant les poids synaptiques je suppose) aller aussi en bas. Une volution notable arrive lorsquelle savent faire demi tour. Dcroissance du score On observe parfois des dcroissances dans la courbe des score. Car nous nanalysons toujours quun pourcentage des meilleures abeilles (celles qui existaient la gnration prcdente). Lorsquune mutation favorable est trouv, elle se rpand et prote toutes les abeilles. Les 5

Figure 5 La courbe bleu prsente des dcroissances

miels sont donc plus rares, pour les quelques unes privilgies qui possdaient la mutation. Approximation paramtrique Pour quantier la "qualit" dune conguration de paramtre, il faut comparer les courbe des score. Pour chaque courbe obtenue la n dune simulation, on tente dajuster une courbe paramtrique, avec les deux paramtre et a. (Ici on a choisit a (1 exp( t) cf Figure 6). On obtient alors un vecteur de dimension 2 pour chaque jeux de paramtre, que lon peut reprsenter sur une mme gure (cf Figure 8)

3.2

Rsultats sur les jeux de paramtres

Les paramtres que jai test sont : Le taux de mutation. lamplitude des mutations. le nombre dabeilles slectionne pour se reproduire. Le nombre de couches caches de neurones . Le nombre de neurones dans chaque couches caches.

Suite...

Analyse des donnes Il reste bien analyser la corrlation entre les paramtres que nous avons fait varier et les les mesures et a obtenue. (il faudrait faire plus de simulations avec des paramtres qui varient plus.)

Optimisation de la fonction score Le score des abeilles augmente chaque fois quelle passe sur un miel. On pourrait imaginer un score qui ne dpende que du nombre de miels ramens la ruche (et de feux traverss). Mais des problmes surviennent : le saut entre un cerveau alatoire et un cerveau adapt semble trop grand. (Le fait de rcompenser le passage sur un miel permet de "guider" la slection). Plusieurs espces Dans le future, jaimerai que plusieurs espces puissent voluer simultanment, pour faire merger des adaptations entre les espces. Car pour linstant, au nal, toutes les abeilles ont la mme stratgie. Parfois, il est plus intressant davoir deux groupes avec des stratgie direntes.

Annexe

Figure 6 16 courbes de gnrations, approch par a (1 exp( t). 8

Figure 7 Vision des rsultats densemble, pour chaque jeux de paramtres. (La taille de chaque symbole correspond au nombre de neurones, leur forme leur nombre de couches caches.

Figure 8 Moyenne des rsultats densemble, cf Figure 7

Figure 9 Inuence du nombre de neurones sur lvolution

Figure 10 Inuence du taux de mutation sur lvolution. On remarque que plus taux_mutation est lev, plus (la vitesse caractristique)est faible.

10

Figure 11 Larbre gnalogique des abeilles sur le terrain. A la 67me gnrations, trois lignes ont survcut.

11

Figure 12 Aprs 1700 gnrations. En haut : les coecients synaptiques des deux couches caches. En bas : leur variance dans la population (chelle 1016 : lanctre commun est proche, et les abeilles nvoluent plus.)

Figure 13 16 arbres gnalogiques (presque tous crass). A mettre en rapport avec la Figure 12

12