Algorithmes génétiques

publicité
Algorithmes génétiques
(évolutionnaires)
Impossible d’afficher l’image.
Apprentissage:
Acquisition de nouvelles connaissances
Utilisation adéquate et pertinente des connaissances
Méthodes
mathématiques
Méthodes basées sur L’IA
(raisonnement)
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
Simulation du
comportement humain
1
Algorithmes génétiques
OPTIMISATION
But: Recherche du maximum
ou du minimum global dans
un espace
Différentes approches
1. Méthodes systématiques
2. Méthodes déterministes
3. Méthodes stochastiques
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
2
Algorithmes génétiques
Principe
Simulation des processus essentiels dans l’évolution des populations dans
l’environnement naturel.
Un AG est un algorithme stochastique itératif qui utilise une population d’individus
représentant les solutions potentielles du problème d’optimisation à résoudre.
Cette population va évoluer de générations en générations : les individus les « mieux adaptés »
auront plus de chance de se reproduire et donc de transmettre leurs caractéristiques
héréditaires.
Le patrimoine génétique d’un individu est contenu dans un chromosome qui est constitué d’un
ensemble de gènes qui prennent leur valeur dans un alphabet binaire ou non.
Le processus de l’évolution est traduit au travers des opérateurs de sélection et de reproduction.
Les individus sont sélectionnés en fonction de leur adaptation.
Pour se reproduire, deux mécanismes permettent de « fournir » de nouveaux individus :
 le croisement ou l’hybridation qui combine les génotypes de deux parents et fournit
deux descendants,
 la mutation qui change un ou plusieurs gènes d’un individu.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
3
Algorithmes génétiques
Principe
compétition entre les individus d’une population pour les
ressources (eau, nourriture, etc..)
compétition pour attirer les partenaires sexuels (mating)
les individus les plus adaptés (performants) vont se
reproduire et avoir plusieurs progénitures
la combinaison des “ bonnes ” caractéristiques des
parents va permettre d’avoir des enfants mieux adaptés
de générations en générations, l’espèce va évoluer et
devenir de mieux en mieux adaptée
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
4
Algorithmes génétiques
Principe
En termes d’optimisation
fonction d’adaptation : fonction à optimiser ;
individu : solution possible du problème ;
adaptation : mesure “ la qualité ” de la solution (l’individu)
par rapport au problème ;
reproduction : un enfant hérite des gènes de ses parents ;
compétition : une sélection est effectuée entre les individus
de la population. Les meilleurs individus à un instant
donné sont « réutilisés » pour se rapprocher de la solution
du problème
But : trouver (atteindre) l’individu le mieux adapté.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
5
Algorithmes génétiques
Principe
VOCABULAIRE
Individu : représenté par un chromosome (génome);
Un chromosome est une “ chaîne ” de gènes ;
Génotype : l’ensemble des gènes représentés par un
chromosome;
Phénotype : l’ensemble des valeurs observables prises par
chaque gène ;
Fonction d’adaptation : fitness
Opérations de reproduction :


le croisement (crossing-over – hybridation)
la mutation
génération : l’ensemble de la population à un moment donné
du processus ;
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
6
Algorithmes génétiques
Principe
MISE EN ŒUVRE
1. Création d’une population initiale
2. Evaluation des individus de la population
3. Sélection des “ meilleurs ” individus
4. Croisement et mutation dans le « mating pool »
5. Formation d’une nouvelle génération
Retour au 2 si non convergence
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
7
Algorithmes génétiques
Principe
Organigramme d ’un AG
Initialisation de la
population
Evaluation des individus
Sélection
(Génération intermédiaire)
Reproduction (Croisement et Mutation)
(Nouvelle Génération courante)
Evaluation des individus
Résultat
(Meilleur individu)
oui
Critère d’arrêt
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
non
8
Algorithmes génétiques
MISE EN ŒUVRE
1.
Définition d’une fonction d’adaptation (fitness) :
C’est la fonction à optimiser.
Son expression peut être immédiate et assez
simple (fonction mathématique), mais ceci n’est
pas toujours le cas. On peut donc être amener à en
considérer une approximation.
 A définir en fonction du problème

A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
9
Algorithmes génétiques
MISE EN ŒUVRE
2. Choix du codage des chromosomes :
chromosome:={A}l
 {A} alphabet binaire ou non
 l: longueur du chromosome (fixe ou variable)
Buts

pouvoir coder toutes les solutions

faciliter la mise en œuvre des opérations de reproduction.
Choix en fonction du problème.
En général on distingue deux classes de problèmes :


les problèmes à valeur: on cherche les meilleures valeurs possibles des gènes,
les problèmes de position: l’ensemble des valeurs finales est connu et on
cherche la meilleure position pour placer chacune de ces valeurs.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
10
Algorithmes génétiques
MISE EN ŒUVRE
Exemple1 : Problème à valeurs
Optimisation d’une fonction à 5 variables (x,y,z,t,u) dans
l’intervalle [0,15]
f = ( xy ) + z + t + u
2

Codage binaire d’un chromosome
chaque paramètre est codé sur 4 bits (valeurs entre 0 et 15)

Taille du chromosome : 20 bits (4x5)
14
12
2
7
9
11101100001001111001
x
y
z
t
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
u
11
Algorithmes génétiques
MISE EN ŒUVRE
Exemple 2: Problème de position
Le voyageur de commerce (10 villes)



codage par valeurs entières
1290358674
taille du chromosome: 10
codage binaire (4 bits par valeur :0..9)
0001001010010000001101011000011001110100



taille du chromosome: 40
Problème des valeurs possibles à gérer
Problème des doublons à gérer
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
12
Algorithmes génétiques
MISE EN ŒUVRE
3.
Définition des opérations de reproduction
 Croisement :





S’applique sur deux individus différents.
Résultat:chromosome formé à partir des gènes de ses deux parents.
Deux enfants sont “ produits ” pour la génération suivante.
Un pourcentage de croisement est fixé.
Mutation :



S’applique sur un seul individu par la modification de l’un ou
plusieurs gènes du parent choisi(s) aléatoirement.
Un seul nouvel enfant est fourni.
Un pourcentage de mutation est fixé.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
13
Algorithmes génétiques
MISE EN ŒUVRE
Exemple de croisement
x
Parent1
u
12
2
7
9
15
11
0
10
11101101101100001010
14
Enfant2
t
01011111101100001010
5
Enfant1
z
11101100001001111001
14
Parent2
y
13
11
0
10
01011110001001111001
5
14
2
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
7
9
14
Algorithmes génétiques
MISE EN ŒUVRE
Exemple d’une mutation
x
Parent
z
t
u
11101100001001111001
14
x
Enfant
y
12
y
2
z
7
9
t
u
11101110001001111001
14
14
2
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
7
9
15
Algorithmes génétiques
MISE EN ŒUVRE
4. Choix de la méthode de sélection :
Trois objectifs principaux:
Elle permet de «choisir» les individus sur lesquels
s’appliqueront les opérations de reproduction pour la création
de la future génération (création du mating-pool).
Elle doit “ favoriser ” les meilleurs individus
Elle doit permettre d’explorer les différentes parties de
l’ensemble de recherche.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
16
Algorithmes génétiques
MISE EN ŒUVRE
Sélection proportionnelle
C ’est la méthode de sélection la plus utilisée
Méthode de la Roue (Roulet Wheel Selection-RWS)
La roue est divisée en secteurs et chaque secteur est
associé à un individu, la superficie du secteur étant
proportionnelle à la valeur de l’adaptation de
l’individu, les meilleurs individus auront une
probabilité plus grande d’être choisis.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
17
Algorithmes génétiques
MISE EN ŒUVRE
Mise en œuvre de la sélection proportionnelle
n : nombre d’individus à remplacer
Np: nombre d’individus de la population
fj : valeur d’adaptation de l’individu j
ni : le nombre de sélections espérées de l’individu i
ni =
n
fi
Np
∑f
j =1
j
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
18
Algorithmes génétiques
MISE EN ŒUVRE
Exemple de roue avec 10 chromosomes
7%
13%
6%
chromosome 1
5%
chromosome 2
3%
13%
3%
chromosome 3
chromosome 4
chromosome 5
chromosome 6
chromosome 7
chromosome 8
16%
18%
chromosome 9
chromosome 10
16%
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
19
Algorithmes génétiques
MISE EN ŒUVRE
Mise en œuvre de la sélection proportionnelle
Méthode RWS:
les individus sont représentés sur une droite
à chaque segment correspond un individu, et sa taille est
proportionnelle à l’adaptation de l’individu
n nombres aléatoires (n points sur la droite) sont choisis.
À chaque choix correspond un individu
i:
1
fi: 70
2
50
0
3
12
25
6
8
5
4
10
5
30
50
7 3
6
20
7
6
75
1
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
8
15
100
4
2
20
Algorithmes génétiques
MISE EN ŒUVRE
Mise en œuvre de la sélection proportionnelle
Problèmes:
- variance élevée
- dérive génétique (en cas de petite population)
Méthosde SUS (Stochastic Universal Selection)
la droite est partionnée en n zones de taille égale
on choisit aléatoirement un offset
à chaque point de « partage » correspond un individu
offset
6
8
5
7 3
1
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
4
2
21
Algorithmes génétiques
MISE EN ŒUVRE
5. Convergence (Arrêt du processus)
De générations en générations la fonction d’adaptation du
meilleur chromosome et la moyenne de l’ensemble de la
population vont évoluer et tendre vers l’optimum (global).
La convergence est l’augmentation progressive vers de
l’uniformité.
Un gène a convergé quand 95% de la population possède
la même valeur du gène.
La population a convergé quand tous les gènes ont
convergé.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
22
Algorithmes génétiques
MISE EN ŒUVRE
Convergence

2 exemples de courbes illustrant la convergence
d’un AG (sur deux exécutions différentes)
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
23
Algorithmes génétiques
Aspects théoriques
Théorie des schémas (schèmes)
Dans le cas du codage binaire, un schéma est une chaîne dans laquelle la
valeur des gènes sur certaines positions est imposée (à 1 ou 0) et sur
d’autres positions la valeur des gènes est égale au caractère « # »
signifiant « caractère quelconque ».
Ainsi les gènes d’un schéma ont des valeurs appartenant à l’alphabet :
A={1,0,#}.
Deux exemples de schémas de longueur 7:
H1 :1###1#1 et H2 : ##10#11.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
24
Algorithmes génétiques
Aspects théoriques
Théorie des schémas
On dit qu’une chaîne binaire contient un schéma s’il y a une
correspondance exacte entre les valeurs des gènes de la chaîne et
celles des valeurs imposées du schéma : la chaîne peut être
obtenue à partir du schéma en remplaçant les caractères « # » par
les caractères appropriés.
Exemple:
le chromosome 1010111 contient les deux schémas précédents
(H1 :1###1#1 et H2 : ##10#11 )
le chromosome 1000101 contient le premier schéma mais pas le
deuxième.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
25
Algorithmes génétiques
Aspects théoriques
Théorie des schémas
L’ordre o(H) d’un schéma H est le nombre de valeurs
« imposées » dans le schéma,
et la longueur de définition d(H) du schéma est la distance
entre les deux positions imposées les plus extrêmes.
Exemple: H1 :1###1#1 et H2 : ##10#11
o(H1) = 3 d(H1) = 6.
o(H2) = 4 d(H2) = 4.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
26
Algorithmes génétiques
Aspects théoriques
Représentation graphique
Exemple: Chromosomes de taille 3
• les points sont les schémas d’ordre 3
Plan *1*
• les droites sont les schémas d’ordre 2
110
111
• tout l’espace est couvert par le schéma
« ### » d’ordre 0.
011
010
• les plans sont les schémas d’ordre 1
100
101
000
001
Ligne 00*
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
27
Algorithmes génétiques
Aspects théoriques
Exemple: Chromosomes de taille 4
0110
0111
1110
1011
1100
0000
• le cube interne est représenté par le schéma
« 1### »
0011
1010
1000
• les points du cube externe sont préfixés par 0
1111
0010
• le cube externe est représenté par le schéma
« 0### ».
1101
0101
1001
• les codes des points du cube interne sont
préfixés par 1.
• le schéma « 00## » d’ordre 2 représente les
points du plan avant du cube externe.
0001
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
28
Algorithmes génétiques
Aspects théoriques
On montre que:
le nombre de représentants d’un schéma ayant une
fitness supérieure à la fitness moyenne, une
longueur de définition et un ordre faibles, va
croître exponentiellement de générations en
générations.
m(H,t +1)≥
m(H,t)f(H,t)
d(H)
(1− pc
)(1− pm)o(H)
L −1
f
Ce type de schémas sont nommés les blocs de
construction (en anglais building blocs)
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
29
Algorithmes génétiques
Aspects théoriques
Théorie des schémas
tous les schémas ne sont pas équivalents
les meilleurs individus ont les meilleurs schémas
le nombre de sélections espérées d ’un individu est proportionnel
à son adaptation
les meilleurs individus contribuent plus avec leurs gènes pour les
nouvelles générations
⇒ accroissement de la probabilité de trouver les meilleures
solutions
Parallélisme implicite : nombre de schémas manipulés dans
chaque génération: n3 avec n = taille de la population
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
30
Algorithmes génétiques
Aspects théoriques
Avec un codage de longueur L, un chromosome appartient à
2L-1 différents hyperplans
3L-1 parties d’hyperplans peuvent être définies (l’espace
entier défini par le schéma composé uniquement de « # »
n’étant pas pris en compte).
On peut ainsi comprendre pourquoi la notion de recherche basée sur une
population de chromosomes est fondamentale dans les AGs.


une population d’échantillons va fournir une information sur un grand nombre
d’hyperplans.
un hyperplan défini par un schéma ayant un ordre peu élevé sera échantillonné
par un nombre important de points (ou d’individus) dans la population.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
31
Algorithmes génétiques
Aspects théoriques
Exploration et exploitation
exploration : permet de « scruter » les zones inconnues de l ’espace de recherche
→ Méthodes purement stochastiques
exploitation : permet la réutilisation des connaissances acquises aux points
précédemment visités
→ Méthodes purement déterministes
GAs combinent exploration et exploitation (Golberg) sous 3 hypothèses:
- population infinie
- pas d’interaction entre les gènes
- la fonction d ’adaptation reflète la validité de la solution
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
32
Algorithmes génétiques
Fonction d ’adaptation
associe à chaque chromosome une valeur d ’adaptation
utilisée pour déterminer la « probabilité » de
sélection du chromosome
Cas idéal :

fonction lisse et régulière
⇒ les chromosomes proches ont des valeurs proches


peu de minima locaux et un minimum global isolé
reflète la valeur réelle du chromosome
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
33
Algorithmes génétiques
Fonction d ’adaptation
Problèmes:

très complexe : chercher une approximation

certaines solutions ne sont pas valides



pénaliser les solutions non valides
avantager les solutions valides
convergence prématurée ou convergence lente



pression forte dans la sélection
Recherche naïve
Ajustement de la fonction d’adaptation
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
34
Algorithmes génétiques
Fonction d ’adaptation
Ajustement linéaire:
f i = aoi + b
Les coefficients a et b peuvent être choisis par plusieurs moyens. Par
exemple, ils peuvent être calculés à partir des valeurs omin, omax et omoy
de la manière suivante :
Cmult −1
a = omoy
omax − omoy
b = omoy
omax − f max
omax − omoy
où fmax = Cmultomoy et Cmult est le nombre désiré de copies prévues pour le
meilleur membre de la population.
A noter que les valeurs omin, omax et omoy sont calculées sur la population
courante.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
35
Algorithmes génétiques
Fonction d ’adaptation
Ajustement linéaire
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
36
Algorithmes génétiques
Fonction d ’adaptation
Ajustement exponentiel
fi =(oi )n(k)
où k est la génération courante.



Pour n(k) proche de zéro, on réduit fortement les écarts de fitness. Aucun
individu n’est favorisé et l’algorithme effectue une recherche aléatoire.
Pour n(k) proche de 1, l’ajustement est sans effet.
Pour n(k)>1, les écarts sont amplifiés favorisant la sélection des meilleurs
individus.
Dans la pratique, on fait varier n(k) des valeurs faibles vers les valeurs
fortes. L’expression de n() peut ainsi dépendre du problème et de
l’effet que l’on souhaite avoir
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
37
Algorithmes génétiques
Codage des chromosomes
codage binaire :


le plus général
Inconvénients:



taille des chromosomes
proximité des chromosomes → code de Gray
Validité des solutions
codage par valeurs entières :

Usages :



problèmes d ’ordonnancement
problèmes combinatoires
Problème:

Mise en œuvre des opérateurs de reproduction
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
38
Algorithmes génétiques

codages par valeurs (le gène est une valeur directement liée
au problème – Algorithmes évolutionnaires)
 valeurs entières ou réelles
 chaînes de caractères

Opérateurs de reproduction plus généraux


Arithmétique
probabiliste
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
39
Algorithmes génétiques
Différents types de codage
chromosome A
1
8
12
3
2
4
9
10
6
7
5
11
4
5
6
11
3
12
9
1
8
chromosome B
2
10
7
chromosome A
1.2324
5.3542
2.4553
4.5247
chromosome A
A
R
E
C
A
A
G
B
E
F
H
J
chromosome A
BACK
BACK
RIGHT
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
LEFT
40
Algorithmes génétiques
Sélection
permet le choix des parents pour la formation de la future
génération
formation du « mating pool »
théorème des schémas ⇒ le nombre espéré de sélections d’un
individu doit être proportionnel à la fitness
Problèmes:
 pression forte :liée à la présence d ’un «super» individu
dans la population
 dérive génétique : liée au caractère stochastique des AGs
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
41
Algorithmes génétiques
Différentes méthodes de sélection
RWS - SUS
Ajustement dynamique de la fonction d’adaptation

Méthode par rang




les individus sont triés en fonction de leur fitness
la nouvelle valeur de fitness correspond au rang de l ’individu
application du RWS ou du SUS
Transformation affine de la fonction d ’adaptation


la valeur de la fonction d ’adaptation est soustraite par une valeur fixe en
évitant les valeurs négatives
application du RWS ou du SUS
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
42
Algorithmes génétiques
Différentes méthodes de sélection
Méthodes par tournois



un tournoi est organisé entre deux (ou plus) individus
le meilleur sera introduit dans le mating pool
une variante consiste à introduire une probabilité p sur la
victoire du meilleur dans le cas de tournoi binaire. Une
valeur peu élevée de p peut réduire la pression de la
sélection
Méthodes élitistes


les meilleurs individus sont systématiquement conservés
dans la prochaine génération
les plus mauvais individus sont éliminés
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
43
Algorithmes génétiques
Croisement (reproduction-exploitation)
opérateur essentiel des AG
permet de produire deux enfants à partir des gènes de
deux parents
Codage binaire


Croisement un point
Croisement 2 points


2 points sont choisis aléatoirement
les zones ainsi délimitées sont échangées entre les parents
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
44
Algorithmes génétiques
Croisement 2 points
parent A
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
parent B
1
0
enfant A
1
0
enfant B
1
0
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
45
Algorithmes génétiques
Croisement

Croisement uniforme


choix d’un masque de la taille du chromosome
les enfants sont formés en fonction du masque
parent A
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
parent B
1
0
enfant A
1
0
enfant B
1
0
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
46
Algorithmes génétiques
Croisement
Croisement logique
parent A
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
parent B
1
0
enfant A (AND)
1
0
0
enfant B (OR)
1
0
1
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
47
Algorithmes génétiques
Croisement

Croisement sans « doublon »
chromosome A
1
8
12
3
2
4
9
10
6
7
5
11
7
4
5
6
11
3
12
9
1
8
7
4
5
34
9
8
6
12
1
11
12
3
2
6
11
4
7
9
5
10
chromosome B
2
10
enfant A
2
10
enfant B
1
8
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
48
Algorithmes génétiques
Dans le cas du codage réel, un croisement barycentrique peut être utilisé.
Deux enfants E1 et E2 sont crées à partir de deux parents P1 et P2 de la
manière suivante :
E1 =αP1 +(1−α)P2
E2 =(1−α)P1 +αP2
où α est un coefficient de pondération aléatoire adapté au domaine
d’extension des gènes
Problème:
Les enfants sont dans l’hyperplan contenant les deux parents
Souvent combiner avec un autre opérateur de croisement
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
49
Algorithmes génétiques
Mutation (exploration)

produit un enfant à partir d’un parent
(!!!! peut avoir un effet négatif sur un chromosome proche de l’optimum)
Taux faible en général
 Taux avec une fonction de décroissance

Mutation 1 point
Mutation 2 points
chromosome A
1
8
12
3
2
4
9
10
6
7
5
11
2
4
9
3
6
7
5
11
chromosome A’
1
8
12
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
10
50
Algorithmes génétiques
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
51
Algorithmes génétiques
Mutation (exploration)
Cas du codage réel
modifier un gène en lui ajoutant un bruit
De manière aléatoire
 Selon une loi de probabilité

1.2324
5.3542
2.4553
4.5247
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
52
Algorithmes génétiques
Différentes stratégies:
AG simples
 AG cellulaires

On définit un système de voisinage sur les
chromosomes
 Le croisement s’applique uniquement entre les
chromosomes voisins deux à deux
 Une stratégie de sélection est à définir

A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
53
Algorithmes génétiques
Différentes stratégies

Méthode des îlots
La population est divisée en îlots
 Les AG sont appliqués indépendamment dans
chaque îlot pendant un nombre de générations fixé à
l’avance
 On mélange les individus puis on recompose les
îlots
 Le processus est réitéré jusqu’à convergence

A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
54
Applications des AG
Programmation génétique
Optimisation numérique
Optimisation combinatoire
Analyse d’images
Reconnaissance de formes
Apprentissage


système de classifieurs
réseaux de neurones
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
55
Applications des AG
Optimisation numérique
Chercher le maximum de la fonction
f(x)=10x2-20
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
56
Applications des AG
Optimisation combinatoire:
Le voyageur de commerce
n villes à visiter
 minimiser la distance parcourue

chromosome B
chromosome A
6
1
7
2
4
1
5
3
3
6
2
1
5
4
7
2
2
1
4
4
3
3
5
7
7
5
6
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
6
57
Algorithmes génétiques
Problème du voyageur de commerce
chromosome A
6
Croisement
1
7
2
4
5
3
enfant A
6
7
2
1
5
4
3
7
2
4
5
1
chromosome B
3
6
2
1
5
4
7
enfant B
3
Mutation
1
7
4
3
2
6
6
5
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
58
Applications des AG
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
59
Applications des AG
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
60
Applications des AG
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
61
Applications des AG
Reconnaissance de formes dans une image
Droites
Cercles
Ellipses
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
62
Algorithmes génétiques
Problème:Trouver tous les cercles dans une image
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
63
Algorithmes génétiques
Recherche des contours (gradient)
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
64
Applications des AG
Extraction de primitives géométriques
(cercle: 3 points)
Croisement
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
65
Applications des AG
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
66
Applications des AG
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
67
Applications des AG
Reconstruction de surfaces par lumière structurée
(A. Dipanda et al., Pattern Recognition 36(9) 2003)
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
68
Applications des AG
Reconstruction de surfaces par lumière structurée
Pb: Mise en correspondance segments-points
Segments-points
Points 3D reconstruits
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
69
Applications des AG
Reconstruction de surfaces par lumière structurée
Croisement
8 9 2 6 4 5 3 1 7
8 9 2 6 4 5 3 1 7
Mutation
8 9 2 6
4
5 3
1 7
8 9 1 6 4 5 3 2 7
chosen gene
8 9 2 6 5 3 4 1 7
chosen gene
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
70
Applications des AG
Reconstruction de surfaces par lumière structurée
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
71
Apprentissage automatique avec
les AGs
Système de classifieurs
Un système de classifieurs est composé de quatre parties :
Une base de classifieurs représentant les connaissances du système.
Une interface d’entrée composée de capteurs.
Une interface de sortie composée d’effecteurs.
Une liste de messages.
Deux algorithmes principaux gèrent les classifieurs :
Un algorithme de répartition de crédits distribuant des récompenses aux
classifieurs efficaces et pénalisant les inefficaces.
Un algorithme génétique permettant l’évolution de la base de classifieurs.
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
72
Apprentissage automatique avec
les AGs
Système de classifieurs

Un classifieur a la forme suivante:
<classifieur>:=<condition>:<message>





<condition>::={0,1,#}l (# wildcard)
<message>::={0,1}l
une condition est alertée par un message si à chaque
position il y a égalité entre la condition et le message
(0-0, 1-1, ?-#)
une condition alertée devient candidate à l’envoi de
message
la décision d’envoi dépend des enchères qui sont
fonction du poids du classifieur
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
73
Apprentissage automatique avec
les AGs
Schéma d ’un système de classifieur
Environnement
information
récompenses
Détecteurs
0
1
1
Liste des messages
101
110
001
011
effecteurs
1
0
1
action
Liste de classifieurs
10#:100
0##:011
1#0:010
Répartition des crédits
Algorithmes génétiques
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
74
Apprentissage automatique avec
les AGs
Exemple de classifieurs
1.
2.
3.
4.
5.
01##:0000
1##0:1001
00##:0110
##11:1101
#11#:1100
Message: 0 1 1 1
Problème: Comment choisir le classifieur qui va envoyer le message
Algorithme de répartition des crédits «bucket brigade»
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
75
Apprentissage automatique avec
les AGs
Algorithme de répartition des crédits «bucket brigade »
basé sur deux notions:


la vente aux enchères
une chambre de compensation
chaque classifieur a une valeur (force)
une enchère d’un classifieur est proportionnelle à sa force
un classifieur peut recevoir une récompense de
l ’environnement du fait de ses messages antérieurs
un classifieur gagnant effectue un paiement à la chambre de
compensation
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
76
Apprentissage automatique avec
les AGs
Les AGs vont permettre de créer de
nouveaux classifieurs
chromosome = classifieur
 fitness = force
 définition d’une méthode de sélection
 définition des opérateurs de reproduction
(croisement et mutation)

A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
77
Apprentissage automatique avec
les AGs
Exemple du multiplexeur
a0
Classifieurs initiaux
a1
###000:[0]
###100:[1]
##0#01:[0]
##1#01:[0]
#1##01:[1]
1####0:[1]
000#11:[1]
######:[0]
d0
s
d1
d2
d3
Récompense au classifieur si le résultat est correct et pénalité sinon
A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA
78
Téléchargement