Chap. 2 : Algorithmes génétiques

Transcription

Chap. 2 : Algorithmes génétiques
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
2. Strat´
egies e´volutives
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.univlittoral.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.univlittoral.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
s´
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).
enère initialement un grand nombre d’individus
Principe : On g´
(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
r´
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 :
 19 :
11k000 & % 11011 : 27
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´
ee de la th´
eorie des niches e´cologiques et
des espèces : on conserve en partie la population de la
g´
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
+
Récompenses
Liste de messages
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”
repr´
esentatifs de leur e´tat social. Ces tags sont 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
Contitu´
es de 2 e´l´
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
d’échange
d
Réservoir
a
c
d
b
b c
d
c
Masque de prélèvement
1001
27- M1 Math-Info - IA - Chap.2 : Algorithmes g´en´etiques
Tag d’attaque
ba
Tag de défense
cda
Tag d’accouplement dd
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

Documents pareils