You are on page 1of 78

Algorithmes gntiques

(volutionnaires)
Impossible dafficher limage.

Apprentissage:
Acquisition de nouvelles connaissances
Utilisation adquate et pertinente des connaissances

Mthodes Mthodes bases sur LIA Simulation du


mathmatiques (raisonnement) comportement humain

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.

Un AG est un algorithme stochastique itratif qui utilise une population dindividus


reprsentant les solutions potentielles du problme doptimisation rsoudre.
Cette population va voluer de gnrations en gnrations : les individus les mieux adapts
auront plus de chance de se reproduire et donc de transmettre leurs caractristiques
hrditaires.
Le patrimoine gntique dun individu est contenu dans un chromosome qui est constitu dun
ensemble de gnes qui prennent leur valeur dans un alphabet binaire ou non.
Le processus de lvolution est traduit au travers des oprateurs de slection et de reproduction.
Les individus sont slectionns en fonction de leur adaptation.
Pour se reproduire, deux mcanismes permettent de fournir de nouveaux individus :
le croisement ou lhybridation qui combine les gnotypes de deux parents et fournit
deux descendants,
la mutation qui change un ou plusieurs gnes dun individu.

3
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe

comptition entre les individus dune population pour les


ressources (eau, nourriture, etc..)
comptition pour attirer les partenaires sexuels (mating)
les individus les plus adapts (performants) vont se
reproduire et avoir plusieurs prognitures
la combinaison des bonnes caractristiques des
parents va permettre davoir des enfants mieux adapts
de gnrations en gnrations, lespce va voluer et
devenir de mieux en mieux adapte

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

But : trouver (atteindre) lindividu le mieux adapt.


5
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
VOCABULAIRE
Individu : reprsent par un chromosome (gnome);
Un chromosome est une chane de gnes ;
Gnotype : lensemble des gnes reprsents par un
chromosome;
Phnotype : lensemble des valeurs observables prises par
chaque gne ;
Fonction dadaptation : fitness
Oprations de reproduction :
le croisement (crossing-over hybridation)
la mutation
gnration : lensemble de la population un moment donn
du processus ;
6
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
MISE EN UVRE

1. Cration dune population initiale


2. Evaluation des individus de la population
3. Slection des meilleurs individus
4. Croisement et mutation dans le mating pool
5. Formation dune nouvelle gnration

Retour au 2 si non convergence

7
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Principe
Organigramme d un AG
Initialisation de la
population

Evaluation des individus Slection


(Gnration intermdiaire)

Reproduction (Croisement et Mutation)


(Nouvelle Gnration courante)

Evaluation des individus

Rsultat oui Critre darrt non


(Meilleur individu)

8
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE

1. Dfinition dune fonction dadaptation (fitness) :


Cest la fonction optimiser.
Son expression peut tre immdiate et assez
simple (fonction mathmatique), mais ceci nest
pas toujours le cas. On peut donc tre amener en
considrer une approximation.
A dfinir en fonction du problme

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.

Choix en fonction du problme.


En gnral on distingue deux classes de problmes :
les problmes valeur: on cherche les meilleures valeurs possibles des gnes,
les problmes de position: lensemble des valeurs finales est connu et on
cherche la meilleure position pour placer chacune de ces valeurs.
10
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE

Exemple1 : Problme valeurs


Optimisation dune fonction 5 variables (x,y,z,t,u) dans
lintervalle [0,15]
2
f = ( xy ) + z + t + u
Codage binaire dun chromosome
chaque paramtre 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 u

11
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE

Exemple 2: Problme de position


Le voyageur de commerce (10 villes)
codage par valeurs entires
1290358674
taille du chromosome: 10

codage binaire (4 bits par valeur :0..9)


0001001010010000001101011000011001110100
taille du chromosome: 40
Problme des valeurs possibles grer
Problme des doublons grer

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

Exemple dune mutation


x y z t u

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

4. Choix de la mthode de slection :


Trois objectifs principaux:
Elle permet de choisir les individus sur lesquels
sappliqueront les oprations de reproduction pour la cration
de la future gnration (cration du mating-pool).

Elle doit favoriser les meilleurs individus

Elle doit permettre dexplorer les diffrentes parties de


lensemble de recherche.
16
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE
Slection proportionnelle
C est la mthode de slection la plus utilise

Mthode de la Roue (Roulet Wheel Selection-RWS)

La roue est divise en secteurs et chaque secteur est


associ un individu, la superficie du secteur tant
proportionnelle la valeur de ladaptation de
lindividu, les meilleurs individus auront une
probabilit plus grande dtre choisis.

17
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
MISE EN UVRE

Mise en uvre de la slection proportionnelle


n : nombre dindividus remplacer
Np: nombre dindividus de la population
fj : valeur dadaptation de lindividu j
ni : le nombre de slections espres de lindividu i
n
ni = Np
fi
f
j =1
j

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,#}.

Deux exemples de schmas de longueur 7:


H1 :1###1#1 et H2 : ##10#11.

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.

Exemple: H1 :1###1#1 et H2 : ##10#11


o(H1) = 3 d(H1) = 6.
o(H2) = 4 d(H2) = 4.
26
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Reprsentation graphique
Exemple: Chromosomes de taille 3
les points sont les schmas dordre 3
Plan *1*

les droites sont les schmas dordre 2


110 111 les plans sont les schmas dordre 1
010 011 tout lespace est couvert par le schma
### dordre 0.
100
101

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

Ce type de schmas sont nomms les blocs de


construction (en anglais building blocs)
29
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques
Thorie des schmas
tous les schmas ne sont pas quivalents
les meilleurs individus ont les meilleurs schmas
le nombre de slections espres d un individu est proportionnel
son adaptation
les meilleurs individus contribuent plus avec leurs gnes pour les
nouvelles gnrations
accroissement de la probabilit de trouver les meilleures
solutions
Paralllisme implicite : nombre de schmas manipuls dans
chaque gnration: n3 avec n = taille de la population

30
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Aspects thoriques

Avec un codage de longueur L, un chromosome appartient


2L-1 diffrents hyperplans
3L-1 parties dhyperplans peuvent tre dfinies (lespace
entier dfini par le schma compos uniquement de #
ntant pas pris en compte).

On peut ainsi comprendre pourquoi la notion de recherche base sur une


population de chromosomes est fondamentale dans les AGs.
une population dchantillons va fournir une information sur un grand nombre
dhyperplans.
un hyperplan dfini par un schma ayant un ordre peu lev sera chantillonn
par un nombre important de points (ou dindividus) dans la population.

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

GAs combinent exploration et exploitation (Golberg) sous 3 hypothses:


- population infinie
- pas dinteraction entre les gnes
- la fonction d adaptation reflte la validit de la solution

32
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Fonction d adaptation

associe chaque chromosome une valeur d adaptation


utilise pour dterminer la probabilit de
slection du chromosome

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

certaines solutions ne sont pas valides


pnaliser les solutions non valides
avantager les solutions valides

convergence prmature ou convergence lente


pression forte dans la slection
Recherche nave
Ajustement de la fonction dadaptation
34
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques
Fonction d adaptation
Ajustement linaire:
f i = aoi + b
Les coefficients a et b peuvent tre choisis par plusieurs moyens. Par
exemple, ils peuvent tre calculs partir des valeurs omin, omax et omoy
de la manire suivante :
Cmult 1 omax f max
a = omoy b = omoy
omax omoy omax omoy
o fmax = Cmultomoy et Cmult est le nombre dsir de copies prvues pour le
meilleur membre de la population.
A noter que les valeurs omin, omax et omoy sont calcules sur la population
courante.

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

Codage des chromosomes


codage binaire :
le plus gnral
Inconvnients:
taille des chromosomes
proximit des chromosomes code de Gray
Validit des solutions
codage par valeurs entires :
Usages :
problmes d ordonnancement
problmes combinatoires
Problme:
Mise en uvre des oprateurs de reproduction

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

Oprateurs de reproduction plus gnraux


Arithmtique
probabiliste

39
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Algorithmes gntiques

Diffrents types de codage


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

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

Dans le cas du codage rel, un croisement barycentrique peut tre utilis.


Deux enfants E1 et E2 sont cres partir de deux parents P1 et P2 de la
manire suivante :
E1 =P1 +(1)P2 E2 =(1)P1 +P2

o est un coefficient de pondration alatoire adapt au domaine


dextension des gnes

Problme:
Les enfants sont dans lhyperplan contenant les deux parents

Souvent combiner avec un autre oprateur de croisement

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

Mutation 1 point chromosome A


1 8 12 3 2 4 9 10 6 7 5 11

Mutation 2 points chromosome A


1 8 12 10 2 4 9 3 6 7 5 11

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

1.2324 5.3542 2.4553 4.5247

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

Problme du voyageur de commerce


chromosome A
6 1 7 2 4 5 3
Croisement
enfant A
6 7 2 1 5 4 3

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

Reconnaissance de formes dans une image

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

Segments-points Points 3D reconstruits


69
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Applications des AG
Reconstruction de surfaces par lumire structure
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
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.

Deux algorithmes principaux grent les classifieurs :


Un algorithme de rpartition de crdits distribuant des rcompenses aux
classifieurs efficaces et pnalisant les inefficaces.
Un algorithme gntique permettant lvolution de la base de classifieurs.

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

une condition est alerte par un message si chaque


position il y a galit entre la condition et le message
(0-0, 1-1, ?-#)
une condition alerte devient candidate lenvoi de
message
la dcision denvoi dpend des enchres qui sont
fonction du poids du classifieur
73
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs

Schma d un systme de classifieur


Environnement

Liste des messages


Dtecteurs 101 effecteurs
information 110 1
0 action
001 0
1
011 1
rcompenses 1

Liste de classifieurs
10#:100
0##:011
1#0:010

Rpartition des crdits


Algorithmes gntiques
74
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs

Exemple de classifieurs
1. 01##:0000
2. 1##0:1001
Message: 0 1 1 1
3. 00##:0110
4. ##11:1101
5. #11#:1100

Problme: Comment choisir le classifieur qui va envoyer le message


Algorithme de rpartition des crdits bucket brigade

75
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs

Algorithme de rpartition des crdits bucket brigade


bas sur deux notions:
la vente aux enchres
une chambre de compensation
chaque classifieur a une valeur (force)
une enchre dun classifieur est proportionnelle sa force
un classifieur peut recevoir une rcompense de
l environnement du fait de ses messages antrieurs
un classifieur gagnant effectue un paiement la chambre de
compensation

76
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA
Apprentissage automatique avec
les AGs

Les AGs vont permettre de crer de


nouveaux classifieurs
chromosome = classifieur
fitness = force

dfinition dune mthode de slection

dfinition des oprateurs de reproduction


(croisement et mutation)

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]

Rcompense au classifieur si le rsultat est correct et pnalit sinon

78
A. DIPANDA - Cours algorithmes gntiques - M2 BDIA/IIA