Documente Academic
Documente Profesional
Documente Cultură
(volutionnaires)
Impossible dafficher limage.
Apprentissage:
Acquisition de nouvelles connaissances
Utilisation adquate et pertinente des connaissances
1
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
OPTIMISATION
But: Recherche du maximum
ou du minimum global dans
un espace
Diffrentes approches
1. Mthodes systmatiques
2. Mthodes dterministes
3. Mthodes stochastiques
2
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
Simulation des processus essentiels dans lvolution des populations dans
lenvironnement naturel.
3
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
4
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
En termes doptimisation
fonction dadaptation : fonction optimiser ;
individu : solution possible du problme ;
adaptation : mesure la qualit de la solution (lindividu)
par rapport au problme ;
reproduction : un enfant hrite des gnes de ses parents ;
comptition : une slection est effectue entre les individus
de la population. Les meilleurs individus un instant
donn sont rutiliss pour se rapprocher de la solution
du problme
7
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
Organigramme d un AG
Initialisation de la
population
8
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
9
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
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 oprations de reproduction.
14 12 2 7 9
11101100001001111001
x y z t u
11
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
12
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
3. Dfinition des oprations de reproduction
Croisement :
Sapplique sur deux individus diffrents.
Rsultat:chromosome form partir des gnes de ses deux parents.
Deux enfants sont produits pour la gnration suivante.
Un pourcentage de croisement est fix.
Mutation :
Sapplique sur un seul individu par la modification de lun ou
plusieurs gnes du parent choisi(s) alatoirement.
Un seul nouvel enfant est fourni.
Un pourcentage de mutation est fix.
13
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Exemple de croisement
x y z t u
Parent1 11101100001001111001
14 12 2 7 9
Parent2 01011111101100001010
5 15 11 0 10
Enfant1 11101101101100001010
14 13 11 0 10
Enfant2 01011110001001111001
5 14 2 7 9
14
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Parent 11101100001001111001
14 12 2 7 9
x y z t u
Enfant 11101110001001111001
14 14 2 7 9
15
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
17
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
18
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Exemple de roue avec 10 chromosomes
13% 7%
6%
chromosome 1
5%
chromosome 2
13% 3% chromosome 3
chromosome 4
3%
chromosome 5
chromosome 6
chromosome 7
chromosome 8
16% 18%
chromosome 9
chromosome 10
16%
19
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Mise en uvre de la slection proportionnelle
Mthode RWS:
les individus sont reprsents sur une droite
chaque segment correspond un individu, et sa taille est
proportionnelle ladaptation de lindividu
n nombres alatoires (n points sur la droite) sont choisis.
chaque choix correspond un individu
i: 1 2 3 4 5 6 7 8
fi: 70 50 12 10 30 20 6 15
0 25 50 75 100
6 8 5 7 3 1 4 2
20
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Mise en uvre de la slection proportionnelle
Problmes:
- variance leve
- drive gntique (en cas de petite population)
Mthosde SUS (Stochastic Universal Selection)
la droite est partionne en n zones de taille gale
on choisit alatoirement un offset
chaque point de partage correspond un individu
offset
6 8 5 7 3 1 4 2
21
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
5. Convergence (Arrt du processus)
De gnrations en gnrations la fonction dadaptation du
meilleur chromosome et la moyenne de lensemble de la
population vont voluer et tendre vers loptimum (global).
La convergence est laugmentation progressive vers de
luniformit.
Un gne a converg quand 95% de la population possde
la mme valeur du gne.
La population a converg quand tous les gnes ont
converg.
22
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Convergence
2 exemples de courbes illustrant la convergence
dun AG (sur deux excutions diffrentes)
23
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Thorie des schmas (schmes)
Dans le cas du codage binaire, un schma est une chane dans laquelle la
valeur des gnes sur certaines positions est impose ( 1 ou 0) et sur
dautres positions la valeur des gnes est gale au caractre #
signifiant caractre quelconque .
Ainsi les gnes dun schma ont des valeurs appartenant lalphabet :
A={1,0,#}.
24
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Thorie des schmas
On dit quune chane binaire contient un schma sil y a une
correspondance exacte entre les valeurs des gnes de la chane et
celles des valeurs imposes du schma : la chane peut tre
obtenue partir du schma en remplaant les caractres # par
les caractres appropris.
Exemple:
le chromosome 1010111 contient les deux schmas prcdents
(H1 :1###1#1 et H2 : ##10#11 )
le chromosome 1000101 contient le premier schma mais pas le
deuxime.
25
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Thorie des schmas
Lordre o(H) dun schma H est le nombre de valeurs
imposes dans le schma,
et la longueur de dfinition d(H) du schma est la distance
entre les deux positions imposes les plus extrmes.
000 001
Ligne 00*
27
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Exemple: Chromosomes de taille 4 les codes des points du cube interne sont
0110 0111 prfixs par 1.
1110 1111 les points du cube externe sont prfixs par 0
0010
1010
0011 le cube interne est reprsent par le schma
1011
1###
1100
le cube externe est reprsent par le schma
1101
0### .
1000 0101
1001 le schma 00## dordre 2 reprsente les
points du plan avant du cube externe.
0000 0001
28
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
On montre que:
le nombre de reprsentants dun schma ayant une
fitness suprieure la fitness moyenne, une
longueur de dfinition et un ordre faibles, va
crotre exponentiellement de gnrations en
gnrations.
m(H,t)f(H,t) d(H)
m(H,t +1) (1 pc )(1 pm)o(H)
f L 1
30
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
31
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Exploration et exploitation
exploration : permet de scruter les zones inconnues de l espace de recherche
Mthodes purement stochastiques
exploitation : permet la rutilisation des connaissances acquises aux points
prcdemment visits
Mthodes purement dterministes
32
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Fonction d adaptation
Cas idal :
fonction lisse et rgulire
les chromosomes proches ont des valeurs proches
peu de minima locaux et un minimum global isol
reflte la valeur relle du chromosome
33
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Fonction d adaptation
Problmes:
trs complexe : chercher une approximation
35
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Fonction d adaptation
Ajustement linaire
36
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Fonction d adaptation
Ajustement exponentiel
fi =(oi )n(k)
o k est la gnration courante.
Pour n(k) proche de zro, on rduit fortement les carts de fitness. Aucun
individu nest favoris et lalgorithme effectue une recherche alatoire.
Pour n(k) proche de 1, lajustement est sans effet.
Pour n(k)>1, les carts sont amplifis favorisant la slection des meilleurs
individus.
Dans la pratique, on fait varier n(k) des valeurs faibles vers les valeurs
fortes. Lexpression de n() peut ainsi dpendre du problme et de
leffet que lon souhaite avoir
37
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
38
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
codages par valeurs (le gne est une valeur directement lie
au problme Algorithmes volutionnaires)
valeurs entires ou relles
chanes de caractres
39
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
chromosome B
2 10 7 4 5 6 11 3 12 9 1 8
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 LEFT
40
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Slection
permet le choix des parents pour la formation de la future
gnration
formation du mating pool
thorme des schmas le nombre espr de slections dun
individu doit tre proportionnel la fitness
Problmes:
pression forte :lie la prsence d un super individu
dans la population
drive gntique : lie au caractre stochastique des AGs
41
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Diffrentes mthodes de slection
RWS - SUS
Ajustement dynamique de la fonction dadaptation
Mthode par rang
les individus sont tris 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 ngatives
application du RWS ou du SUS
42
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Diffrentes mthodes de slection
Mthodes 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 leve de p peut rduire la pression de la
slection
Mthodes litistes
les meilleurs individus sont systmatiquement conservs
dans la prochaine gnration
les plus mauvais individus sont limins
43
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Croisement (reproduction-exploitation)
oprateur essentiel des AG
permet de produire deux enfants partir des gnes de
deux parents
Codage binaire
Croisement un point
Croisement 2 points
2 points sont choisis alatoirement
les zones ainsi dlimites sont changes entre les parents
44
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Croisement 2 points
parent A
1 0 0 0 1 1 0 1 1 1 0 1
parent B
1 0 1 0 0 1 0 1 0 0 1 1
enfant A
1 0 0 0 0 1 0 1 1 1 0 1
enfant B
1 0 1 0 1 1 0 1 0 0 1 1
45
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Croisement
Croisement uniforme
choix dun masque de la taille du chromosome
les enfants sont forms en fonction du masque
parent A
1 0 0 0 1 1 0 1 1 1 0 1
parent B
1 0 1 0 0 1 0 1 0 0 1 1
enfant A
1 0 0 0 0 1 0 1 1 1 0 1
enfant B
1 0 1 0 1 1 0 1 0 0 1 1
46
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Croisement
Croisement logique
parent A
1 0 0 0 1 1 0 1 1 1 0 1
parent B
1 0 1 0 0 1 0 1 0 0 1 1
enfant A (AND)
1 0 0 0 0 1 0 1 0 0 0 1
enfant B (OR)
1 0 1 0 1 1 0 1 1 1 1 1
47
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Croisement
Croisement sans doublon
chromosome A
1 8 12 3 2 4 9 10 6 7 5 11
chromosome B
2 10 7 4 5 6 11 3 12 9 1 8
enfant A
2 10 7 4 5 34 9 8 6 12 1 11
enfant B
1 8 12 3 2 6 11 4 7 9 5 10
48
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Problme:
Les enfants sont dans lhyperplan contenant les deux parents
49
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Mutation (exploration)
produit un enfant partir dun parent
(!!!! peut avoir un effet ngatif sur un chromosome proche de loptimum)
Taux faible en gnral
Taux avec une fonction de dcroissance
50
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
51
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Mutation (exploration)
Cas du codage rel
modifier un gne en lui ajoutant un bruit
De manire alatoire
Selon une loi de probabilit
52
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Diffrentes stratgies:
AG simples
AG cellulaires
On dfinit un systme de voisinage sur les
chromosomes
Le croisement sapplique uniquement entre les
chromosomes voisins deux deux
Une stratgie de slection est dfinir
53
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Diffrentes stratgies
Mthode des lots
La population est divise en lots
Les AG sont appliqus indpendamment dans
chaque lot pendant un nombre de gnrations fix
lavance
On mlange les individus puis on recompose les
lots
Le processus est ritr jusqu convergence
54
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Programmation gntique
Optimisation numrique
Optimisation combinatoire
Analyse dimages
Reconnaissance de formes
Apprentissage
systme de classifieurs
rseaux de neurones
55
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Optimisation numrique
Chercher le maximum de la fonction
f(x)=10x2-20
56
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Optimisation combinatoire:
Le voyageur de commerce
n villes visiter
minimiser la distance parcourue
chromosome A chromosome B
6 1 7 2 4 5 3 3 6 2 1 5 4 7
1 2
2
4 1
4
3
3
5 7
5 7
6 6
57
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
chromosome B
3 6 2 1 5 4 7
enfant B
3 6 7 2 4 5 1
Mutation 1 7 4 3 2 6 5
58
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
59
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
60
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
61
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Droites
Cercles
Ellipses
62
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Problme:Trouver tous les cercles dans une image
63
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Recherche des contours (gradient)
64
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Extraction de primitives gomtriques
(cercle: 3 points)
Croisement
65
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
66
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
67
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Reconstruction de surfaces par lumire structure
(A. Dipanda et al., Pattern Recognition 36(9) 2003)
68
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Reconstruction de surfaces par lumire structure
Pb: Mise en correspondance segments-points
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
70
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Reconstruction de surfaces par lumire structure
71
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs
Systme de classifieurs
Un systme de classifieurs est compos de quatre parties :
Une base de classifieurs reprsentant les connaissances du systme.
Une interface dentre compose de capteurs.
Une interface de sortie compose deffecteurs.
Une liste de messages.
72
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs
Systme de classifieurs
Un classifieur a la forme suivante:
<classifieur>:=<condition>:<message>
<condition>::={0,1,#}l (# wildcard)
<message>::={0,1}l
Liste de classifieurs
10#:100
0##:011
1#0:010
Exemple de classifieurs
1. 01##:0000
2. 1##0:1001
Message: 0 1 1 1
3. 00##:0110
4. ##11:1101
5. #11#:1100
75
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs
76
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs
77
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs
Exemple du multiplexeur
a0 Classifieurs initiaux
a1 ###000:[0]
d0 ###100:[1]
s ##0#01:[0]
d1 ##1#01:[0]
#1##01:[1]
d2
1####0:[1]
d3 000#11:[1]
######:[0]
78
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA