Vous êtes sur la page 1sur 19

Intelligence Artificielle

Chap. 2 : Algorithmes génétiques


C. Bertelle
LIH - Laboratoire d’Informatique du Havre

M1-Math-Info Le Havre

0-0

C. Bertelle - LIH

Plan
1. Algorithmes g´
en´
etiques
egies e´volutives
2. Strat´
3. Classifieurs g´
en´
etiques

4. Le modèle ECHO de J. Holland

1- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Références bibliographiques
• J.H. Holland “Hidden order : how adaptation builds
complexity” , Perseus books, 1995.

• J.C. Heudin “La vie artificielle”, Hermès, 1994.


• D.E. Goldberg “Genetic algorithms”, Addison-Wesley,
1989.
• Ph. Preux “Les algorithmes évolutifs”, rapport de
recherche LIL-94-1 (ftp://ftp-lil.univ-
littoral.fr/pub/users/preux/paper/lil-94-1.ps.gz).

2- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

• Echo : www.santafe.edu/projects/echo/echo.html
• B.Cuvelier, Ph. Preux et C. Cambier “Studying adaptation
with Echo”, rapport de recherche LIL (ftp://ftp-lil.univ-
littoral.fr/pub/users/preux/paper/eca197.ps.gz).

3- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Introduction : les systèmes évolutifs


S’inspire du N´eo-Darwinisme, synthèse de la th´ eorie de la

election naturelle (Darwin) et de la th´
eorie de l’h´
er´
edit´
e
(Mendel) :

• Evolution : r´
esultat d’une alt´
eration progressive des êtres
vivants au cours des g´en´
erations ;
• Reproduction bas´ ee sur le caractère g´
en´
etique qui subit au
cours des g´en´
erations des recombinaisons et des
mutations ;
• M´
ecanisme de s´
election naturelle.

4- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Une des caract´ eristiques du vivant : les individus n’ont pas e´t´
e
“programm´ es” pour r´
epondre à un problème sp´ecifique, mais
ils e´voluent en s’adaptant à leur environnement.

Objectif : construire des systèmes informatiques sur la base de


ce modèle.

5- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

2.1 Algorithmes génétiques


Principe
La propri´
et´
e d’adaptation des individus s’interprète comme une
recherche d’optimum d’une fonction (la survie).
Principe : On g´enère initialement un grand nombre d’individus
(ou solutions) et l’algorithme les fait e´volu´
es en 3 phases :
1. Reproduction
2. Croisement
3. Mutation
Le processus de s´election est bas´
e sur une fonction
d’´
evaluation (ou fonction objectif) qui correspond à une

6- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

performance de l’individu. On en d´ eduit une probabilit´e pour


chaque individu de se reproduire ou de g´ en´erer des clônes
(cette probabilit´
e s’appelle fitness).
Finalement, ce processus contribue à produire une population
ayant une meilleure adaptabilit´
e (convergence vers l’optimum).

7- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Algorithmes génétiques
Formalisation
• Les individus sont repr´ esent´
es par des chromosomes
constitu´
es d’allèles (chromosome = chaı̂ne d’informations
sur un alphabet fini).

8- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Un chromosome :

Reproduction/clonage :

Croisement :

Mutation :

9- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Algorithmes génétiques
Exemple de base
• Population totale possible : nombre compris entre 0 et 31
en codage binaire sur 5 bits (00000 à 11111).
• Problème : On recherche le maximum de la fonction
f (x) = x2 sur cet ensemble.

10- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

• Population initiale constitu´


ee de 4 individus choisis
arbitrairement :
13 de code 01101
24 de code 11000
8 de code 01000
19 de code 10011
• Fonction de performance pour chaque individu :
correspond à f (x) = x2 . On en d´
eduit la fonction fitness
qui est une r´
epartition par pourcentage de ces
performances :

11- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Individu performance fitness


13 169 0,14
24 576 0,49
8 64 0,06
19 361 0,31
• Reproduction : on tire au hasard 4 nouvelles chaı̂nes
parmis les existentes en tenant compte de la valeur de

epartition. On obtient, par exemple : 13, 24, 24 et 19.

12- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

• Croisement : on prend les individus 2 par 2. On coupe les


chromosomes à une position al´eatoire et on croise les
parties coup´
ees

 13 : 0110k1 & % 01100 : 12
 24 : 1100k0 % & 11001 : 21

 24 : 11k000 & % 11011 : 27
 19 : 10k011 % & 10000 : 16

13- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

• Mutation : on opère par tirage al´ eatoire à partir d’une


probabilit´
e de mutation d´ efinie initialement. On prend ici
0,05 donc sur les 20 bits des 4 chromosomes, on suppose
qu’eun seul allèle a e´t´
e s´
electionn´e et mute.

12 : 01100 → 01000 : 8

• La nouvelle g´ en´eration est donc : 8, 21, 27, 16. Si on


somme les performances, on obtient 1490 au lieu de 1170
à la g´
en´
eration pr´
ec´edente

14- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Algorithmes génétiques
Améliorations possibles
Les am´
eliorations possibles peuvent être nombreuses ...
• Autres op´erateurs que le croisement et la mutation :
inversion de sous-chaı̂nes, croisement à partir d’un masque
binaire (dont les valeurs indiquent les positions de
croisement), etc ...
• Variante inspir´ eorie des niches e´cologiques et
ee de la th´
des espèces : on conserve en partie la population de la

en´
eration pr´ec´edente.

15- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

• Pr´
eselection : un enfant remplace un parent si sa
performance est meilleure, sinon le parent reste.
• Conservation et s´election d’individus suivant des critères
de similarit´
es entre eux.
• ...

16- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

2.2 Stratégies évolutives


D’après Ingo Rechenberge (Allemagne). Assez voisins des
algorithmes g´ en´
etiques (J. Holland / USA), les diff´
erences
essentielles sont :
• Les individus ne sont pas cod´
es par des chromosomes mais
par des valeurs r´
eelles ;

• Moins d’al´
eatoire : la reproduction est d´
eterministe ;
• L’op´erateur de mutation agit principalement et l’op´
erateur
de croisement est moins important : il agit simplement
pour assurer une diversit´
e suffisante.

17- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

2.3 Classifieurs génétiques


Système capables d’apprendre des règles pour optimiser leurs
performances dans un environnement perçu sous forme de
messages.
Il est constitu´
e de 3 parties principales :
• Un système de règles ;
• Un système d’attribution de cr´
edit ;
• Un algorithme g´
en´
etique.

18- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Classifieurs génétiques
Système de règles
Une règle peut s’´
ecrire sous la forme :

<cond> : <resultat>
exemple :
01#0 : 0111
• S´
election d’un message binaire de 4 bits commençant par
01 et se terminant par 0 ;
• Si acceptation d’un message, on renvoie le message 0111 .

19- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Classifieurs génétiques
Système d’attribution de crédits
Système de comp´ etition entre les règles qui possèdent chacune
un cr´
edit variable. Lorsqu’un message arrive :
• Les règles qui peuvent le s´
electionner font une offre
proportionnelle à leur cr´
edit actuel ;
• Le système d’attribution s´
electionne les règles qui offrent
le plus et les active ;
• Une règle activ´
ee renvoie son message de r´esultat et offre
une r´
ecompense correspondant à son cr´ edit pour les règles
qui auront s´
electionn´ees son message e´mis.

20- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Classifieurs génétiques
Algorithme génétique
• Un algorithme g´
en´
etique est mis en place sur la population
des règles ;

• La fonction de performance est directement le cr´


edit
associ´
e à chaque règle ;
• On s´electionne, reproduit, croise et fait muter les règles les
plus performantes.

21- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

schéma de fonctionnement d’un classifieur


génétique

Entrées Messages
+ Liste de messages
Récompenses
Attribut
de
crédit
Sortie
Règles

Algorithme
génétique

22- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

2.4 Le modèle Echo de J. Holland


• Ensemble d’agents situ´
es dans un environnement nutritif ;
• Comportement des agents d´
eduit de leur g´
enomes ;
• Interactions entre agents de nature vari´
ee : reproduction,
comp´ etition, coop´
eration ;
• Performance/fitness des agents : leur capacit´
e de survie.

23- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Caractéristiques
• Temps discret et monde repr´
esent´
e par une grille torique ;
• D´eplacement possible d’un agent dans une case voisine à
chaque pas de temps ;
• Interactions possibles entre agents que s’ils sont sur des
cases voisines ;
• Les comportements des agents sont contrôl´
es par des
gènes sp´
ecifiques appel´
es conditions ;
• Les agents ont des signes ext´ erieurs apparents ou “tags”
esentatifs de leur e´tat social. Ces tags sont repr´
repr´ esent´
es
par des gènes sp´
ecifiques ;

24- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

• Reproductions sexuelles ou asexuelles permettant


l’´
evolution du g´
enotype ;
• Chaque site produit une quantit´ e de ressources sp´ ecifiques
à chaque pas de temps. Il y a 4 vari´ et´
es de ressources : a,
b, c et d sur lesquelles est bas´
ee la survie de chaque agent ;
Ce sont les “mol´ ecules” de base du monde Echo. Elles
sont les constituants du g´ enôme des agents et forment pour
cela des chaı̂nes (simple chaı̂nage, pas de r´ eaction
chimique). Il n’y a pas d’interaction entre les gènes d’un
g´enôme.

25- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Agents
es de 2 e´l´
Contitu´ ements :
1. Chromosome codant le comportement et l’apparence (tag)
des agents : ce sont des chaı̂nes de ressources (appel´
es
aussi nucléotide) ;

2. Un r´
eservoir de ressources stock´
ees dans chaque agent.

26- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Condition de combat abbc


Condition d’échange bccd
Condition d’accouplement cc

Ressource Tag d’attaque ba


Réservoir
d’échange Tag de défense cda
c
a d Tag d’accouplement dd
d b
b c d
c

Masque de prélèvement

1001

27- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Chromosomes d’un agent


Contitu´
es de 8 gènes au total
• 3 gènes de tag : tag d’attaque, tag de d´
efense et tag
d’accouplement ;

• 3 gènes de conditions (comportementales et sociales) :


condition de combat, condition de n´
egociation et condition
d’accouplement ;

28- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

• 2 gènes de tags pour les e´changes de ressources :


– Ressources d’´
echanges : type de ressource que peut
donner l’agent à un autre au cours d’une n´
egociation ;
– Masque de pr´elèvement : masque binaire d’un bit par
type de ressources. Une ressource peut être acquise
dans l’environnement que si le bit correspondant vaut
1.

D’autres possibilit´
es d’´
echanges de ressources : suite à un
combat ou par transmission filiale.

29- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Auto-reproduction
Lorsque la quantit´
e de ressources du r´
eservoir de l’agent est
suffisamment importante,
• il y a g´
en´
eration d’un clône auquel on transmet une
quantit´e des ressources ;
• le chromosome du clône est obtenu par copie + mutation.

30- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Echo - Mutation
Dans Echo, les mutations agissent sur les gènes.

Sur les tags et les conditions, 3 types de mutation sont permis :

• suppression du dernier nucl´


eotide du gène ;
• insertion d’un nucl´
eotide à la fin du gène ;
• modification d’un nucl´
eotide dans le gène.
Sur les ressources d’´
echanges, seule la modification est
permise. Sur le masque de pr´ elèvement, la mutation
correspond à la modification d’un bit.

31- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Interactions entre les agents


Elles sont contrôl´
ees par les tags et les conditions. Deux agents
proches peuvent interagir :

• par indiff´
erence ;
• par e´change ;
• par reproduction et g´
en´
eration de nouvels agents avec
croisements g´en´
etiques.
Les interactions sont contrôl´
ees par un m´
ecanisme de pr´ efixe :
elles ne peuvent se produire que si la condition est le pr´
efixe du
tag associ´
e.

32- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Agent A Agent B
Condition de combat : ab Tag d’attaque : abb
Tag d’attaque : bcd Condition d’´
echange : b
Condition d’´
echange : ab Tag d’attaque : abb
Tag d’accoupl. : dcd Condition d’accoupl. : dc
Condition d’accoupl. : a Tag d’accoupl. : adb
• L’agent A peut attaquer l’agent B ;

• Les deux agents peuvent proc´


eder à des e´changes ;
• Les deux agents peuvent s’accoupler.

33- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Combat
• Les combats se produisent si les conditions sont r´
ealis´
ees
et avec une certaine probabilit´
e;
• Dans le cas d’un combat, on compare 1 à 1 les nucl´ eotides
du tag d’attaque d’un agent avec le tag de d´efense de
l’autre afin d’obtenir un score. La probabilit´
e d’être le
vainqueur correspond au rapport de son score sur la
somme des 2 scores.
• Le vainqueur remporte toutes les ressources du vaincu, y
compris celles qui constituent son g´
enôme. Le vaincu est
retir´
e du monde.

34- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

C. Bertelle - LIH

Echo - Accouplement
Reproduction par croisement de deux sous-chaı̂nes :

 agent A : abkbcbdkcd & % abkbdkcd
 agent B : bkbdkca % & bkbcbdkca

Les longueurs des gènes des ressources d’´


echange et du
masque de pr´
elèvement doivent être constantes.

35- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques


C. Bertelle - LIH

Echo - Cycle de base


1. interaction entre des agents s´
electionn´
es ;
2. alimentation des agents par distribution des ressources de
l’environnement ;
3. mort accidentelle des agents ;

4. renouvellement des ressources de l’environnement.

36- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques

Vous aimerez peut-être aussi