Vous êtes sur la page 1sur 40

Institut Supérieur des techniques avancées de Saint-Etienne

Module MB1 3ème année

Les Algorithmes génétiques

2003-2004

S.ROBERT

Sommaire

I. Méthodes d’optimisation classiques


II. Présentation des A.G.
III. Fonctionnement d’un A.G. simple : l’A.G. binaire
IV. Exemple d’A.G. binaire
V. Améliorations de la technique de base
VI. L ’A.G. à valeurs continues
VII. Fondements mathématiques
IX. Applications

S.Robert algorithmes génétiques 2


I. Méthodes d’optimisation classiques

A. Définition

Définition: processus d’ajustement de différents paramètres x1, x2, …, xN qui permettent


de minimiser ou de maximiser un critère issu d’un procédé théorique ou expérimental
symbolisé par f fortement dépendante de ces entrées.
On appelle f la fonction coût, d’adaptation ou d’évaluation.

Il est facile d transformer une maximisation en une minimisation et vice versa par :
Maximisation de f Minimisation de -f
Catégorie:

 Unidimensionnelle ou multidimensionnelle  Sans contrainte ou avec contraintes


 Statique ou dynamique  De type « essai et erreur » dite expérimental
ou de type mathématique
 Discrète ou continue
 Stochastique ou déterministe
La forme la plus générale:
r r r r
x tel que: Min
r f (x, t) pour x ∈ ¡ N
; vérifiant G(x) = 0 et / ou K(x) > 0;
x

S.Robert algorithmes génétiques 3

I. Méthodes d’optimisation classiques

B. Techniques classiques 2.5

2 Minima locaux

Restriction: Optimisation statique et sans contrainte 1.5

Performances : Temps de calcul, efficacité 1


f

et Robustesse 0.5

0
Minimum global
-0.5
-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2
x
3 grands types de méthodes d’exploration

1 Méthodes énumératives
r
On note les différentes valeurs prises par f pour chaque point x ={ x1, x2, …xN } compris dans un
espace fini, ou infini mais discrétisé. Puis, on extrait la valeur qui correspond au minimum de f.

•Simple •Extrêmement longues


•Trouvent le minimum global •Limitées aux problèmes simples
(unidimensionnelles)
S.Robert algorithmes génétiques 4
I. Méthodes d’optimisation classiques B. Techniques classiques

2 Méthodes basées sur le calcul

¬ Méthode indirecte ou analytique

Résolution des équations imposées par les conditions d’optimalité du premier et du second ordre.

Pour un min: Pour un max: ∂ 2f ∂ 2f ∂ 2f


L
r ∂x1∂x1 ∂x1∂x 2 ∂x1∂x i
r ∇f (x) = 0
∇f (x) = 0 ∂ 2f ∂ 2f
Di > 0 pour i=2,4,6... Di = ∂x 2 ∂x1
O
∂x 2 ∂x i
Di > 0 pour i=1,2,...,N Di < 0 pour i=1,3,5... M O M
∂ 2f ∂ 2f
L L
Di : Déterminant de la matrice Hessienne ∂x i ∂x1 ∂x i ∂x i

• Exacte • Ne donne pas la qualité l’optimum trouvé (à moins de calculer to us


les minima et d’en extraire le plus petit ou grand !!!)
• Plus ou moins
Rapide • Formulation mathématique du procédé à optimiser
• Nécessite l’existence de dérivées
• Devient vite complexe (variables non séparables)

S.Robert algorithmes génétiques 5

I. Méthodes d’optimisation classiques B. Techniques classiques 2

¬ Méthodes directes de type « ascension de colline » (très employées)


r
On part d’ un point choisi aléatoirement dans le domaine de variation de x ; puis, à chaque itération,
on se déplace dans une direction privilégiée:

x k 1 = x k + αk dk
+ dk représente la direction de la recherche
αk >0 un scalaire choisi tel que : f(xk+1) < f(xk).

Variantes de la méthode:

Méthode du gradient. dk=-∇f(xk) ; Si αk est constant on a : x k +1 = x k − α∇f (x k )


Si αk varie on parle de méthodes à pas déterminé.

Méthode des plus fortes pentes. αk est choisi suivant une minimisation unidimensionnelle:
g(α k ) = f (x k − α k ∇f (x k ))

Méthode du gradient conjugué (plus rapide). Les directions de recherches ne sont plus
orthogonales mais conjuguées entre elles. La nouvelle direction dk est donnée par:
∇f(x k +1 )T ∇f(x k +1 )
d k 1 = -∇f (x k 1 ) + βk d k avec βk =
+ +
(Fletcher et Reeves)
∇f(x k )T ∇f(x k )

S.Robert algorithmes génétiques 6


I. Méthodes d’optimisation classiques B. Techniques classiques 2

Méthodes de Gauss-Newton :Mettent en jeu, en plus de la dérivée, la matrice Hessienne.


On suppose que f est de forme quadratique:
1 T
f(x + s ) = f(x k +1 ) ≈ f(x k ) + ∇f(x k ) Ts k + s k H.s k
k k
où sk = xk+1-xk = αkdk
2
Ainsi, ∇f (x k +1 ) = 0 H.s k = −∇f (x k ) s k = α k d k = x k+1 − x k = − H -1∇f(x k )

Toutefois le matrice H est très longue à calculer. Certaines méthodes la construise donc itérativement.
C’est la méthode BFGS ( Broyden-Fletcher-Goldfarb-Shanno):
 qk H −1 s k 
k

( ) avec φk ∈ [0,1] et v k =  −
T
−1k k −1k k 
H s H s qkq kT kT k
 q s
T k
s k H −1 s k 
+ φk s k H −1 s k  v k v k
k +1 k T T T
H −1 = H −1 − +
kT
s H s −1k k kT k
q s  
et sk=xk+1-xk=αkdk et qk=∇f(xk+1)-f(xk)

• Rapide • Formulation mathématique du procédé à optimiser


(Méthodes de
• Nécessité de l’existence des dérivées et de la matrice Hessienne
Newton)
• f doit être de forme quadratique (pour les méthodes de Newton)
• Efficace
(pour certains Méthode de Levenberg-Marquardt
problème)
• Non robuste (dépend du point de départ choisi)

S.Robert algorithmes génétiques 7

I. Méthodes d’optimisation classiques B. Techniques classiques

3 Méthodes purement aléatoires

Elles explorent l’ espace de recherche dans des directions choisies aléatoirement en mémorisant le
meilleur élément rencontré à chaque itération.

• Simple • Extrêmement longues


• Minimum • N’exploite pas les régions prometteuses rencontrées
global

Conclusion
Toutes les méthodes présentées n’offrent aucune garantie de trouver le
minimum global dans un délais raisonnable: Elles ne sont donc pas robustes.
Toutefois, elles ne sont pas inutiles. Elles ont déjà fait leurs preuves pour un
certain nombre de problèmes spécifiques. Leur rapidité, pour la plupart, n’est
plus à démontrer.
Cependant, lorsqu’on s’attaque à des problèmes plus physiques ou plus proche de
la « réalité » à savoir multidimensionnel, multimodal, discontinue, etc…
d’autres méthodes sont nécessaires.
S.Robert algorithmes génétiques 8
II. Présentation des A.G.

A. Une méthode d’optimisation « naturelle »

Il existe une 4ème catégorie: 4 Méthodes pseudo-aléatoires : méthodes d’ optimisation


basées sur des processus physiques et biologiques.
Par exemple,
processus de recuit bien connu des métallurgistes Recuit simulé
le comportement humain et le principe d’é volution des espèces humaines A.G.

Principe de fonctionnement:

« Ils utilisent un choix aléatoire comme outil pour guider une recherche hautement intelligente »
(Goldberg)
• Les A.G. sont des méthodes qui permettent à une population de solutions (appelées individus)
d’é voluer par l’ intermédiaire d’ un certain nombre d’ opérateurs vers un état qui optimise l’ ensemble
de leur « aptitude » (ou fonction coût notée F).
• Cette évolution est fondée sur les mécanismes de la sélection naturelle et de la génétique: elle
repose, à la fois sur les principes de survie des structures les mieux adaptées, et sur les échanges
d’ information pseudo-aléatoire entre individus.

Historique: 1975 : création des A.G. par J. Holland


1989 : Popularisation par son élève D. Goldberg
S.Robert algorithmes génétiques 9

II. Présentation des A.G.

B. Notations ( Analogies avec la biologie )

Chaînes artificielles
(Chromosomes)
Individu

Structure (génotype) : ensemble de l’information que possède l’individu


par ex : x1=1; x2=2.1; …; xN=5.3

Individu haploïde 1 Individu =1 Chaîne artificielle = 1 structure

Etat ou Valeur (allèle)


Solution ou point
Ici, 5.3 Evaluation
(phénotype)
1 x1 2 3 4 5 x = 5.3 Ici, f(x1, x2, …, xN)
i

De l’individu Information décodée


de l’individu
Trait ou détecteur (Gène) Position (locus)
Représente une variable : ici, x1 Ici, 3ème position

S.Robert algorithmes génétiques 10


II. Présentation des A.G.

C. Propriétés et différences fondamentales avec les méthodes classiques

Ils utilisent un codage de paramètres et non les paramètres eux-mêmes.

Ils ne travaillent pas sur un point unique mais sur un ensemble de solutions potentielles .

L’exploration est dite « aveugle » car les A.G. n’utilisent que la valeur de la fonction f (et
pas d’autres informations supplémentaires comme la dérivée).

L’évolution des individus est réalisée par des opérateurs stocha stiques et non déterministes.

Les A.G ne donnent pas une solution unique mais un ensemble de solutions.

La grande force des A.G. est d’ éviter les minima locaux.

S.Robert algorithmes génétiques 11

II. Présentation des A.G.

De plus, les A.G. s’appliquent efficacement et simplement pour d es problèmes d’optimisation:

Multidimensionnels Continus ou discontinus

Discrets ou continus Unimodaux ou multimodaux

Dont il n’est pas nécessaire de Dont les données sont générées


modéliser mathématiquement le numériquement, expérimentalement ou
fonction f même provenant d’une fonction
analytiques

Mêmes les problèmes à variables dépendantes (problème d’épistasi e), insolvables par des
méthodes classiques, peuvent être résolus si la dépendance est faible. (Sinon, il ne reste plus
que les méthodes aléatoire…)

Le principal inconvénient des A.G. est le temps de recherche qui peut être long mais ceci au prix
d’une redoutable efficacité…

S.Robert algorithmes génétiques 12


III. Fonctionnement d’un A.G. simple: l’A.G. binaire

A. Schéma de principe Définition de la fonction f d’évaluation


Définition des N paramètres

Notation (rappel):
r r Codage des N paramètres en individus I
On cherche x qui minimise f (x)
r
avec x = {x1 , x 2 ,..., x N } Création d’une population initiale de Nipop individus I

Le principe de tout A.G. Evaluation par F


de tous les Individu de la population
repose sur l’é volution d’ une
population de solutions
potentielles, les individus, par SELECTION CROISEMENT
l’ intermédiaire d’ opérateurs
stochastiques.
Population intermédiaire deNpop individus

3 étapes essentielles: MUTATION

 La sélection
Nouvelle génération de Npop Individus
 Le croisement
 La mutation non test oui
convergence Arrêt de l’algorithme

S.Robert algorithmes génétiques 13

III. L’A.G. binaire

B. Codage des paramètres

Représentation et définition
r
N : Nombre de paramètres décrivant le problème représenté par le vecteur x = {x1 , x 2 ,..., x N }

r
Individu : structure qui contient, en langage codé, une valeur de x

Individu = Chromosome= [x1 x2 x3 … xN]

Par exemple : pour l’optimisation de f(x) on aura : Chromosome= [x]


f(x,y) on aura : Chromosome= [x,y]

Individu I = x1 x2 xi … xN-1 xN

Valeur de x1 codé (en binaire par exemple)

r
Evaluation d’un individu : F(I) = F(x) = f (x1 , x1 ,...x N )

S.Robert algorithmes génétiques 14


III. L’A.G. binaire

Discrétisation

Les A.G travaillent avec un espace finie de variation des paramètres:


Idéal pour optimiser une fonction qui prend un nombre fini de valeurs

Si les paramètres varient continûment, il faut discrétiser:

Pour cela, Par exemple,


 on divise le domaine en plusieurs sous-domaines
-2<x<5
égales.
-2 -0.6 0.8 3.6
5
 Toute valeur tombant dans un sous-domaine est
représenté par la valeur moyenne, la valeur basse ou la -1.3 0.1 4.3
valeur haute du sous-domaine.
 Le nombre de sous-domaine dépend bien sur de la 0.3 sera représenté par
précision souhaitée qui est directement liée au type de 0.1 ou 0.8 ou 0.45
codage.

S.Robert algorithmes génétiques 15

III. L’A.G. binaire

Codage binaire
Le codage/décodage pour chaque paramètre xi variant de xi0 a xih, s’effectue en plusieurs étapes:

Calcul de la longueur du domaine l = xih-xi0 Par exemple, pour 1 paramètre x

Recherche du nombre de bit nbit suivant la -2<x<5 et p=0.01


précision souhaitée tel que: l l=7
nbit
≤2
p 512=29<700<210=1024
Codage des paramètres: directement en binaire
nbit=10
Décodage des paramètres:
Ainsi,
 Conversion de la chaîne binaire en base 10
nbit 0000000000 code la valeur -2
b nbit b nbit −1...b 2 b 1 = ∑ bi .2i = x i'
1111111111 code la valeur 5
i =1
0100100100 code la valeur 0
 transposition dans le domaine réel
l 0101010000 code la valeur 0.3
x = x i0 + x i'.
2 nbit
−1

S.Robert algorithmes génétiques 16


III. L’A.G. binaire

C. Population initiale

Construction: très simple

On génère aléatoirement Nipop individus (chaîne de Nbits bits composé de 0 et de 1) par


tirages uniformes dans chacun des domaines associés aux différents paramètres.

Exemple de population initiale 00010111110 01110111001 01110101000 01110001010


10111111000 01111111001 01110011010 01110111000
Composée de 8 individus de 2
gènes de 11 bits représentant 2 01110111000 01110111000 01110101000 00010111000
paramètres 00000101000 01010111101 01101111000 01111011000

Etape importante : Le choix des individus influe sur la rapidité de convergence vers
l’optimum global.

Le nombre d’individu dans la population doit être choisi judicieusement:

Ni trop petite car elle « favorisera » la


convergence vers un optimum local.
Ni trop grande pour limiter les temps de calcul.

S.Robert algorithmes génétiques 17

III. L’A.G. binaire

D. Fonction d’évaluation

Transformation de la fonction f à optimiser en fonction d’adapta tion F

Les A.G. fonctionnent exclusivement avec des valeurs


MAXIMISATION
d’adaptations positives et recherchent a l’améliorer

2 Cas possibles:

On cherche le minimum de f : On cherche le maximum de f :

r r r r r r
F(x) = Cmax − f (x) quand f (x) < Cmax F(x) = f (x) + Cmin quand f (x) + Cmin > 0
r r
F(x) = 0 sinon F(x) = 0 sinon

Choix de Cmax (respect. Cmin)

Fixé au départ La plus grande valeur (respect. la plus petite


valeur absolue) de f dans la population actuelle
La plus grande valeur ( respect.
ou dans les k dernières générations
valeur absolue de la plus petite
valeur) observée de f
S.Robert algorithmes génétiques 18
III. L’A.G. binaire

E. Sélection et reproduction

Cette étape est bien entendu précédée de l’étape d’ évaluation des individus composant la population.
La sélection s’effectue sur un ensemble d’individus appelé reproducteur qui est composé:

Soit de l’ensemble de la population.

Soit d’un sous -ensemble construit par:

 « sélection naturelle ». (référence Darwin)


Seuls les individus les mieux adaptés (dont les évaluations sont les
plus fortes) vont « survivre », les autres sont éliminés.
On fixe généralement à ½ la part de la population qui survie.
tri des évaluations
 seuillage.
Tous les individus qui possèdent une évaluation en dessus d’un
seuil prédéfini survivent.
S’il n’y en a aucun, une nouvelle population aléatoire est créée .
Pas de tri des évaluations
S.Robert algorithmes génétiques 19

III. L’A.G. binaire E. Sélection et reproduction

Considérons l’ensemble des 6 individus ci -dessous triés par ordre décroissant de leurs évaluations:

n° individu évaluation
1 00000010 50
2 10101010 35
3 11110101 21 Nrepr
4 01011000 18
5 10010011 10
6 00111110 2

Il existe plusieurs types de méthodes de sélection:

Roue de loterie biaisée (roulette wheel): elle repose sur l’idée suivante:
Un individu avec une forte évaluation a une grande chance d’être sélectionné alors qu’un
individu avec un plus faible coût en a moins.

S.Robert algorithmes génétiques 20


III. L’A.G. binaire E. Sélection et reproduction

Biaisée par rang


N repr − n + 1
 On calcule pour chaque individu la probabilité : Pn = N repr

∑n
n =1
n
 Puis les différentes probabilités cumulées: Pc = ∑P j
j=1

n° individu évaluation Pn Pc
1 00000010 50 0,2857 0,2857
2 10101010 35 0,2381 0,5238
On a donc le tableau suivant: 3 11110101 21 0,1905 0,7143
4 01011000 18 0,1429 0,8571
5 10010011 10 0,0952 0,9524
6 00111110 2 0,0476 1

 Ensuite, un nombre aléatoire q compris entre 0 et 1 est tiré. On choisit alors le premier
individu en partant du haut qui possèdent une Pc supérieur à q.
Par exemple: Pour sélectionner un couple, on tire 2 nombres aléatoires: 0.15 et 0.60
Individus sélectionnés: 1 et 3

Ne tient pas compte des Evite la multiplication des super-individus (individu


écarts des évaluations possédant une évaluation supérieur à la moyenne)
S.Robert algorithmes génétiques 21

III. L’A.G. binaire E. Sélection et reproduction

Biaisée par valeur


F(I n )
 On calcule pour chaque individu la probabilité : Pn = N repr

∑  F(I )  p
n p =1
 Puis les différentes probabilités cumulées: Pc = ∑P j
j=1

n° individu évaluation Pn Pc
1 00000010 50 0,3676 0,3676
2 10101010 35 0,2574 0,625
On a donc le tableau suivant: 3 11110101 21 0,1544 0,7794
4 01011000 18 0,1324 0,9118
5 10010011 10 0,0735 0,9853
6 00111110 2 0,0147 1

 Ensuite, un nombre aléatoire q compris entre 0 et 1 est tiré. On choisit alors le premier
individu en partant du haut qui possèdent une Pc supérieur à q.
Par exemple: Pour sélectionner un couple, on tire 2 nombres aléatoires: 0.15 et 0.60
Individus sélectionnés: 1 et 2

Retranscrit bien les écarts d’évaluations Pondère mal les individus


d’évaluations proches
S.Robert algorithmes génétiques 22
III. L’A.G. binaire E. Sélection et reproduction

Sélection par tournoi: (le plus proche de la « nature » )

On prend de façon aléatoire un petit nombre d’individus (général ement 2) dans le groupe des
reproducteurs et on en extrait celui dont l’évaluation est la pl us faible.

Par exemple: Pour sélectionner 2 parents, on tire 2 couples de nombres aléatoires compris entre
1 et 6 : {1 , 3} et { 3 , 4}

Tournoi 1: n° individu évaluation


1 00000010 50
{1 , 3} Parent 1: 1 2 10101010 35
3 11110101 21
Tournoi 2
4 01011000 18
{ 3 , 4} Parent 2: 3 5 10010011 10
6 00111110 2

Pas de nécessité de tri Combiné avec une sélection par seuil Gain de temps
Evite l’émergence des modes

S.Robert algorithmes génétiques 23

III. L’A.G. binaire

F. Croisement

Définition : C’est la création de 2 enfants à partir d’un couple de 2 indi vidus appelés parents.

But : Enrichir la diversité de la population en utilisant l’informa tion génétique donnée par les
parents. C’est la première voie d’exploration de la surface d’erreur.

Principe : On choisit un nombre aléatoire appelé point de croisement compris entre 1 et Nbit-1 et
on échange les sous-chaînes terminales.

Exemple : Point de croisement : Le nombre 5 est tiré


Parents 1 Parents 2
011100110101010 011000110101010

Croisement

011100110101010 011000110101010
Enfant 1 Enfant 2

S.Robert algorithmes génétiques 24


III. L’A.G. binaire

G. Mutation

Définition : C’est la transformation d’un individu par modification d’un d e ces gènes.

But : C’est la deuxième voie d’exploration. Elle permet à l’A.G de ne pas converger trop
rapidement et donc de « s’enliser » autour d’un minimum local en explorant une région de
l’espace nouvelle.
Principe : Elle consiste à échanger un bit donné de 0 à 1 ou vice versa. Pour cela, on définit une
probabilité pm comme la probabilité qu’un bit subisse une mutation. Ainsi, on g énère
aléatoirement pm×Npop×Nbit couples de points appelés points de mutation définissant
respectivement l’ individu et le bit à muter.

Exemple : Point de mutation (4,9)

01100110 1010011 individu 4 avant mutation

Mutation

011001100 010011 individu 4 après mutation

S.Robert algorithmes génétiques 25

III. L’A.G. binaire H. Stratégie de formation d’une nouvelle génération

On a vu qu’à chaque itération, on crée une nouvelle population à l’aide des trois opérateurs
(sélection, croisement et mutation). Il existe plusieurs façons de procéder : Nous
présenterons ici 2 méthodes:

Modèle standard
On introduit une probabilité de croisement pour un individu noté pc
Ainsi, seuls pc × Npop individus vont être sélectionnés pour participer à un croisement.
Pour cela, on tire aléatoirement pour chaque individu un nombre r compris entre 0 et 1. Si ce
dernier est inférieur à pc l’individu est sélectionné pour le croisement

Evaluation
par F des Npop r > pc Population
Sélection de
individus intermédiaire Mutation
Npop individus
+ Npop(1-pc) de Npop inidividus
Tri individus

r < pc
Population
de la
Génération
Croisement pc × Npop enfants suivante

S.Robert algorithmes génétiques 26


III. L’A.G. binaire H. Stratégie de formation d’une nouvelle génération

Modèle élitiste
On décide de préserver le ou les meilleurs individus de chaque génération.
Il existe plusieurs modèles possibles suivant le nombre d’indivi dus retenus (le plus
simple étant bien entendu de conserver le seul meilleur individu au cours des
générations) .
N pop
On ne conserve que les meilleurs
2
Evaluation par F N pop
Population
des Npop individus Groupe de 2
intermédiaire Mutation
+ reproducteurs individus de Npop inidividus
Tri

Sélection de
N pop couples
Population
4 de la
Génération
N pop suivante
Croisement enfants
2

Stratégie élitiste augmente considérablement les performances de l’AG pour certaines classes de
fonctions et s’avère décevante pour d’autres recherche locale accentuée au détriment d’une
exploration global des génotypes
S.Robert algorithmes génétiques 27

III. L’A.G. binaire

I. Condition de terminaison

3 grands types de terminaison sont généralement employés:

On fixe un nombre de génération total: Gmax


L’ A.G. s’arrête lorsque le nombre de génération maximal Gmax est atteint.

Gmax grand Convergence atteinte mais trop long


Compromis
Gmax petit Convergence non atteinte

Nouvelle génération G de Npop Individus

non Test oui


G = Gmax Arrêt de l’algorithme

S.Robert algorithmes génétiques 28


III. L’A.G. binaire I. Condition de terminaison

On utilise le phénotype (signification d’un chromosome particulier)

Ces méthodes conservent des traces statistiques des différentes générations (moyenne des évaluations
d’une population, performance du meilleur individu de chaque gén ération, écart type etc…) et s’en
servent pour le test d’arrêt.

Par exemple: On mesure les progrès réalisés par les individus sur un nombre prédéfini g de
générations que l’on compare à une valeur ε fixée à l’avance.

Nouvelle génération G de Npop Individus

Calcul de la moyenne Moy des évaluations


sur les g générations précédentes

non Test oui


Moy < ε Arrêt de l’algorithme

S.Robert algorithmes génétiques 29

III. L’A.G. binaire I. Condition de terminaison

On utilise le génotype (structure du chromosome)

Une des méthodes repose sur la mesure d’allèles convergents.


(Allèle convergent : Un allèle est considéré convergent lorsqu’ un pourcentage
prédéterminé de la population possède la même valeur d’ allèle )

L’A.G. s’arrête lorsque le nombre d’allèles convergents noté Nac atteint un certain pourcentage q
du nombre total N d’allèles.

Nouvelle génération G de Npop Individus

Mesure du nombre d’allèle convergent Nac

non Test oui


Nac > q.N Arrêt de l’algorithme

S.Robert algorithmes génétiques 30


IV. Exemple d’A.G. binaire

A. Problème à une dimension

Enoncé du problème:

On se propose de déterminer le maximum de la fonction f suivante (on prendra donc F=f


comme fonction d’adaptation) dépendante d’un seul paramètre x :


f (x) = 20 + x1 sin( x1 ) pour −2 ≤ x ≤ 8
3

28
26
Maximum de F
24
22 =
F=f

20 Maximum de f
18
16
14
12
-2 -1 0 1 2 3 4 5 6 7 8
S.Robert x algorithmes génétiques 31

IV. Exemple d’A.G. binaire A. Problème à une dimension

Caractéristique de l’A.G. binaire utilisé:

 N=1;  Stratégie: elististe


 précision: p=0.01;  Sélection: tournoi
 Npop=8;  Condition de terminaison: Gmax=20
 pm=0.05;

Codage des paramètres:

-2<x<8 et p=0.01
l Exemple d’individu:
l=10 et = 1000
p
1101011010 Code la valeur 6.39
512=29<1000<210=1024
Nbit=10
0 est représenté par l’individu : 0011001100
pm×Npop×Nbit =0.05×8×10=4
mutations par génération

S.Robert algorithmes génétiques 32


IV. Exemple d’A.G. binaire A. Problème à une dimension

Population initiale:
représentation de la population initiale
Représentation binaire des individus:
28
0 1 0 0 0 1 0 1 0 1
26
0 0 1 0 1 1 0 1 0 0
24
1 1 0 0 0 0 1 0 1 1 22
1 0 1 1 0 1 1 1 0 1

F
20

0 1 1 0 0 0 0 1 0 1 18

1 0 1 1 1 0 0 1 0 0 16

1 1 1 1 1 0 0 1 0 0 14

12
0 1 1 0 1 0 0 0 1 0 -2 0 2 4 6 8
x

génotype:
0.7135 -0.2340 5.6186 5.1662 1.8118 5.2403 7.7451 2.0886
phénotype:
20.7114 20.1101 15.9744 14.9131 18.8993 14.7608 16.1967 18.0295

S.Robert algorithmes génétiques 33

IV. Exemple d’A.G. binaire A. Problème à une dimension

Tri des individus selon leurs évaluations:


N° Individu Evaluation
1 0 1 0 0 0 1 0 1 0 1 20.7114
2 0 0 1 0 1 1 0 1 0 0 20.1101
3 0 1 1 0 0 0 0 1 0 1 18.8993
4 0 1 1 0 1 0 0 0 1 0 18.0295
5 1 1 1 1 1 0 0 1 0 0 16.1967
6 1 1 0 0 0 0 1 0 1 1 15.9744
7 1 0 1 1 0 1 1 1 0 1 14.9131
8 1 0 1 1 1 0 0 1 0 0 14.7608

Construction du groupe de reproducteurs:


1 0 1 0 0 0 1 0 1 0 1 20.7114
2 0 0 1 0 1 1 0 1 0 0 20.1101
3 0 1 1 0 0 0 0 1 0 1 18.8993
4 0 1 1 0 1 0 0 0 1 0 18.0295
S.Robert algorithmes génétiques 34
IV. Exemple d’A.G. binaire A. Problème à une dimension

Sélection par tournoi: On effectue 4 tournois pour sélectionner 2 couples

1er tournoi: 1 1 1 0 1 0 0 0 1 0 1 0 1 1er


couple
2ème tournoi: 1 3 1 0 1 0 0 0 1 0 1 0 1
3ème tournoi: 3 3 3 0 1 1 0 0 0 0 1 0 1 2ème
4ème tournoi: 4 2 0 0 1 0 1 1 0 1 0 0 couple
2

croisements:

0 1 0 0 0 1 0 1 0 1
Le chiffre 3 est tiré
0 1 0 0 0 1 0 1 0 1 4 nouveaux
enfants
sont créés
Le chiffre 9 est tiré 0 1 1 0 0 0 0 1 0 0
0 0 1 0 1 1 0 1 0 1

Génotype des enfants: 0.7077 0.7077 1.7928 -0.2307

S.Robert algorithmes génétiques 35

IV. Exemple d’A.G. binaire A. Problème à une dimension

Construction de la population intermédiaire:

On ajoute au groupe de reproducteurs les 4 enfants créés auxquels on associe leurs efficacités:

N° Individu Evaluation
1 0 1 0 0 0 1 0 1 0 1 20.7114
2 0 0 1 0 1 1 0 1 0 0 20.1101
3 0 1 1 0 0 0 0 1 0 1 18.8993
4 0 1 1 0 1 0 0 0 1 0 18.0295
5 0 1 0 0 0 1 0 1 0 1 20.7049
6 0 1 0 0 0 1 0 1 0 1 20.7049
Enfants
7 0 1 1 0 0 0 0 1 0 0 18.9683
8 0 0 1 0 1 1 0 1 0 1 20.1072

S.Robert algorithmes génétiques 36


IV. Exemple d’A.G. binaire A. Problème à une dimension

Mutation:

On réalise 4 mutations par tirage au sort de 4 couples de points :


Individu Individu
avant mutation après mutation
(5,1) 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1
(3,2) 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1
(2,4) 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0
(2,3) 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 0

Re-évaluation de ces individus mutés:

N° Individu Evaluation
5 1 1 0 0 0 1 0 1 0 1 16.7654
3 0 0 1 0 0 0 0 1 0 1 20.6961
2 0 0 0 1 1 1 0 1 0 0 20.8406

S.Robert algorithmes génétiques 37

IV. Exemple d’A.G. binaire A. Problème à une dimension

tri: représentation de la génération 1

0 0 0 1 1 1 0 1 0 0 28
0 1 0 0 0 1 0 1 0 1 26
0 1 0 0 0 1 0 1 0 1 24

0 0 1 0 0 0 0 1 0 1 22

0 0 1 0 1 1 0 1 0 1 20
F

0 1 1 0 0 0 0 1 0 0 18

0 1 1 0 1 0 0 0 1 0 16

1 1 0 0 0 1 0 1 0 1 14

12
-2 0 2 4 6 8
x
génotype:
-0.8661 0.7077 0.7077 -0.6999 -0.2307 1.7928 2.0860 5.7126
phénotype:
20.8406 20.7114 20.7049 20.6961 20.1072 18.9683 18.0295 16.7654

S.Robert algorithmes génétiques 38


IV. Exemple d’A.G. binaire A. Problème à une dimension

Evolution suivant les générations:

représentation de la génération 2 représentation de la génération 5

28 28

26 26

24 24

22 22

20
F

20

F
18 18

16 16

14 14

12 12
-2 0 2 4 6 8 -2 0 2 4 6 8
x x

S.Robert algorithmes génétiques 39

IV. Exemple d’A.G. binaire A. Problème à une dimension

représentation de la génération 10 représentation de la génération 15

28 28

26 26

24 24

22 22

20 20
F

18 18

16 16

14 14
12 12
-2 0 2 4 6 8 -2 0 2 4 6 8
x x

S.Robert algorithmes génétiques 40


IV. Exemple d’A.G. binaire A. Problème à une dimension

Composition et représentation de la dernière génération:

1 1 0 1 1 1 1 1 1 1 28

1 1 0 1 1 1 1 1 1 1 26

24
1 1 0 1 1 1 1 1 1 1
22
1 1 0 1 1 1 1 1 1 1
20

F
1 1 0 1 1 1 1 1 1 1 18
1 1 0 1 1 1 1 0 1 1 16

1 1 0 1 0 1 1 1 0 0 14

1 0 0 1 1 1 1 1 0 1 12
-2 0 2 4 6 8
x

génotype:
6.7488 6.7488 6.7488 6.7488 6.7488 6.7097 6.4066 4.2268
phénotype:
26.7488 26.7488 26.7488 26.7488 26.7488 26.6858 24.8203 22.2888

S.Robert algorithmes génétiques 41

IV. Exemple d’A.G. binaire A. Problème à une dimension

Mémorisation au cours de l’évolution de l’A.G :


Génération

Génotype
Evaluation

27

26

25
1 20.8406 -0.8661
24
3 26.4697 6.6413
23
F

10 26.7057 6.7195
22
14 26.7229 6.7292
21
18 26.7488 6.7488 moyenne des évaluations d'une population
20 mémorisation du meilleur individu

L’objectif (26.76 ; 6.77) est 19


0 5 10 15 20
atteint à la 18ème générations
n° de la génération
Il est utile de mémoriser le Moyenne des évaluations augmente bien au cours des
meilleur individu au cours générations
des générations plutôt que
de se contenter de la L’A.G. trouve rapidement la localisation du maximum
population finale global puis « affûte» péniblement sa recherche
S.Robert algorithmes génétiques 42
IV. Exemple d’A.G. binaire

B. Problème à deux dimensions

Enoncé du problème:
On se propose maintenant de déterminer le maximum
de la fonction f suivante dépendante de 2 paramètres x1 et x2:

f (x1 , x 2 ) = 20 + x1 sin( x1 ) + x 2 sin(4πx 2 ) pour −2 ≤ x1 ≤ 8 et 4 ≤ x 2 ≤ 6
3
6
10 20 10 1 10
20 2 1 0
15 15 25 0 5 2 15
5.8 30 25 30 30 5 20

25
25
25 30 20
25 20 25
5.6 20 15
20 15 15

15
15

10
10
10

15
15
5.4

15
20
20 25

20
25
5.2

20

20
25
25

20
15 15

x2
5

20
20
20
20
4.8

15

15
4.6

20

20

20
25

25

25
25

20
15
4.4

25

15
20

15
4.2
25

20

20
15

20
15 15
4
-2 -1 0 1 2 3 4 5 6 7 8

x1
S.Robert algorithmes génétiques 43

IV. Exemple d’A.G. binaire B. Problème à deux dimensions

Caractéristique de l’A.G. binaire utilisé:

 N=2 : x1 et x2  Stratégie: elitiste


 précision: p=0.01 sur les 2 paramètres  Sélection: tournoi
 Npop=12;  Condition de terminaison: Gmax=30
 pm=0.05;

Codage des paramètres:

-2<x1<8 et p=0.01 4<x<6 et p=0.01


l l
l=10 et = 1000 nbit_x1=10 l=2 et = 200 nbit_x2=8
p p
512=29<1000<210=1024 128=27<200<28=256

Nbit=18 pm×Npop×Nbit =0.05×12×18=10,8 soit 11 mutations par génération

Exemple d’individu: 111001010001010001 Code les valeurs x1=6.95 et x2=4.63

S.Robert algorithmes génétiques 44


IV. Exemple d’A.G. binaire B. Problème à deux dimension

Résultat:
34

Génération

Evaluation
Génotype 32
x1 x2
30
1 29.0895 6.6510 4.0549
28

F
2 30.2355 6.6706 4.1647
4 30.6087 6.6510 4.1176 26 moyenne
7 30.6786 6.6706 4.1176 meilleur individu
24
8 30.8488 6.7488 4.1176
10 31.3578 6.7488 4.6196 22
0 5 10 15 20 25 30
11 31.8656 6.7488 5.1216
N° de la génération
14 32.2268 6.7488 5.6078
15 32.3713 6.7488 5.6235 L’optimum global est atteint au bout de 15 générations

S.Robert algorithmes génétiques 45

IV. Exemple d’A.G. binaire B. Problème à deux dimension

Comparaison avec les méthodes classiques:


4 méthodes d’optimisation classiques
ont été testées sur le même problème en partant de points de départ différents
Points de départ Méthode Quasi Newton: Méthode du simplexe Méthode des plus fortes
BFGS pentes
x10 et x20 Résultat Valeur Résultat Valeur Résultat Valeur
4.252 4.073 3.902 5.600 29.038 3.902 5.600 29.038 3.809 4.126 27.905
1.207 5.635 0.968 5.626 26.494 0.988 5.626 26.493 0.968 5.626 26.494
-0.466 5.947 -0.466 5.968 18.110 -0.466 5.968 18.110 -0.968 5.626 26.494
6.543 5.849 6.974 4.282 24.537 6.974 4.282 24.537 6.783 5.626 32.392
4.250 4.848 3.809 4.626 28.405 3.835 4.626 28.399 3.809 5.126 28.905
6.373 4.592 6.783 4.626 31.392 6.781 5.126 31.892 6.783 4.626 31.392
1.226 4.199 0.968 4.126 24.994 0.977 4.126 24.994 0.968 4.126 24.994
2.929 5.134 3.809 5.126 28.905 3.520 5.131 28.234 3.809 5.126 28.905
1.526 4.914 0.968 5.626 26.494 1.155 5.626 26.389 0.968 5.126 25.994
6.932 5.497 6.783 5.626 32.392 6.783 5.626 32.392 6.783 5.626 32.392

Forte dépendance du point de départ

Conclusion:
Les A.G. trouvent rapidement l’optimum global alors que les méthodes classiques
sont plutôt efficace pour affiner une solution dont on connaît la localisation.

S.Robert algorithmes génétiques 46


V. Améliorations de la technique de base

A. Croisement double ou à 2 points

Le principe est le même que le croisement exception faite du découpage de la chaîne initiale qui
s’ effectue maintenant en 3 parties.
Deux points de croisement aléatoires compris entre 1 et (Nbit-1) sont sélectionnés délimitant ainsi ces
3 zones puis un nouveau point compris entre 1 et 3 indique les sous-chaînes qui vont s’é changer.

Exemple : la 2ème sous-chaîne est désignée


2 points de croisement :
les nombre 5 et 12 sont sélectionnés
Parents 1 Parents 2
011000110101010 011000110101010

Croisement à deux
points

011000110101010 011000110101010
Enfant 1 Enfant 2

S.Robert algorithmes génétiques 47

V. Améliorations de la technique de base

B. Codage de Gray

Le codage binaire comprend un inconvénient majeur : deux valeurs décimales « voisines » ne le


sont pas forcement dans la représentation binaire classique
Ralentissement de la convergence
Exemple (sur 4 bits): 7 0111 Les deux représentations
8 1000 sont même complémentaires !!!

Distance de Hamming da: nombre de bits par lesquels deux chromosomes diffèrent. Ici, da= 4

Le codage de Gray redéfinit les nombres binaires de sorte que la distance de Hamming entre deux
nombres consécutifs soit de 1.
Décimal Binaire Gray
1 1 1 1
0 0000 0000
1 0001 0001
1 0
Code binaire

0 XOR 2 0010 0011 1 XOR


Code binaire

Code Gray

3 0011 0010
Code Gray

4 0100 0110
XOR 0 5 0101 0111 XOR 0
0 6 0110 0101 0
7 0111 0100
0 8 1000 1100 0
0 XOR 9 1001 1101 0 XOR
10 1010 1111
La convergence est facilitée
S.Robert algorithmes génétiques 48
V. Améliorations de la technique de base

C. Mise à l’échelle (ou scaling)

méthodes de sélection très sensibles


aux écarts des évaluations. Un super-individu risque d’être
r reproduit trop souvent et provoquer Convergence
Nombre de copie F(x)
ainsi la disparition des autres prématurée
proportionnel à : F
moy individus

Une solution consiste à réajuster la fonction d’adaptation. La s élection ne s’opèrera donc plus
sur la fonction brute mais sur l’image de celle -ci après transformation.

Il existe 3 types de mise à l’échelle:

 Changement d’échelle linéaire


 Troncature en sigma
 Changement d’échelle en puissance

S.Robert algorithmes génétiques 49

V. Améliorations de la technique de base C. Mise à l’échelle (ou scaling)

Transformation linéaire (Bagley 1967) F : adaptation brute


F'= a.F + b
F’ : adaptation transformée
2 règles à respecter:

Le nombre de copie d’un individu moyen est de 1:

∑ F(I)
N pop
F '
moy = Fmoy =
N pop
Contrôle du nombre de copie pour le meilleur individu :

'
Fmax = Cmult Fmoy 1.2 < Cmult < 2 Pour des petites populations

Fmoy Fmax − C mult Fmoy


On prendra donc : a = (Cmult − 1) b = Fmoy
Fmax − Fm oy Fmax − Fm oy

S.Robert algorithmes génétiques 50


V. Améliorations de la technique de base C. Mise à l’échelle (ou scaling)

Problèmes liés à la transformation linéaire

Lorsque Fmoy est proche de Lorsque Fmoy est proche de Fmax:


Fmin: Les écarts des évaluations Les écarts des évaluations sont
sont réduites amplifiés
'
Fmoy
(Cmult=2) (Cmult=2)
F'
= 2×F '
'
Fmax = 2 × Fmoy
'
max moy
' '
F min Fmoy

' Fmax
Fmin
Fmin Fmoy Fmax Fmin Fmoy

(Cmult=2)
Risque de valeur négatives
'
Fmax = 2 × Fmoy
'

'
Fmoy
Vers la fin de l’exécution,
• Fmoy est très proche de Fmax Fmin
• Présence de très mauvaises valeurs d’adaptations '
Fmin Fmoy Fmax

S.Robert algorithmes génétiques 51

V. Améliorations de la technique de base C. Mise à l’échelle (ou scaling)

2 Solutions lorsqu’on ne peut plus appliquer le Cmult:

Cmult Fmoy − Fmax


'
On fixe: Fmin = 0 lorsque les valeurs négatives apparaissent donc lorsque: F <
Cmult − 1
Fmoy Fmoy
Et donc: a= b = Fmin
Fm oy − Fmin Fmin − Fm oy

Troncature en sigma (Forrest 1985)

On effectue le pré-traitement suivant:

F'= F − (Fmoy − c.σ) σ : écart type

si F'< 0 ⇒ F '= 0 c : coefficient compris entre 1 et 3

S.Robert algorithmes génétiques 52


V. Améliorations de la technique de base C. Mise à l’échelle (ou scaling)

Changement d’échelle en puissance (Gillies 1985)


F : adaptation brute
F'= F k
F’ : adaptation transformée
2 choix possibles pour k:
 k constant tel que k=1.005 p
  g  π 
 k dépendant du numéro de la génération g : k(g) =  tan     

   G max + 1  2  
(p : paramètre généralement fixé à 0.1)
1.6 1

1.5 Proche exploration 0.9 Valeur moyenne


1.4 aléatoire G=100 0.8

1.3 p=0.1 0.7

1.2
Effet nul 0.6
k=0.3

k=1

F'
1.1 0.5
k

1 0.4

0.9 0.3 k=4


0.8 0.2
Valeurs des évaluations
0.7 0.1
amplifiées
0.6 0
0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1
n° de la génération g F

S.Robert algorithmes génétiques 53

V. Améliorations de la technique de base

D. Opérateurs de réarrangements
Introduits pour résoudre les problèmes d’optimisation combinatoi re
Inversion simple
Deux lieux d’inversion sont choisi au hasard entre 1 et N puis les deux
extrémités de cette partie coupée échangent leur place mais chaque
allèle garde la même signification c.a.d se rapporte toujours à la
même variable

Par exemple, si on numérote les allèles d’une même chaîne (représentation étendue) puis on
applique l’inversion entre les positions 4 et 7, on obtient:

1 2 3 4 5 6 7 8 9 1 2 3 4 7 6 5 8 9
0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0

2 Cas sont à considérer:

Adaptation ne dépend pas du locus Opérateur sans effet immédiat sur l’adaptation
Opérateur qui permet de trouver le bon
Adaptation dépend du locus
arrangement dans les chaînes

S.Robert algorithmes génétiques 54


V. Améliorations de la technique de base D. Opérateurs de réarrangements

Problèmes liés à l’inversion Traitement des croisement entre les paires de


chaînes non homologues

Par exemple, prenons le cas de deux chaînes A et B dont l’une a subit une i nversion
Croisement
Point de croisement: 6
1 2 3 4 5 6 7 8 9 Inversion 1 2 3 4 7 6 5 8 9
1 2 3 4 7 6 7 8 9
0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0
0 1 1 0 1 1 0 1 1
(entre 4 et 7)
Chaîne A
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 5 8 9
1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0

Chaîne A
Tous les gènes ne sont plus représentés dans une même chaîne:
le calcul de l’adaptation est alors impossible!
Solution: seuls les chromosomes homologues sont autorisés au croisement (Bagley) : inefficacité !
Autre solution: création d’un opérateur unique qui combine les fonctions de l’ inversion et
du croisement
S.Robert algorithmes génétiques 55

V. Améliorations de la technique de base D. Opérateurs de réarrangements

Le croisement partiellement assorti ou CPA (Goldberg et Lingle 1985)

On définie une section assortie comprise entre deux points de croisement choisis aléatoirement.
Puis on effectue un croisement grâce à des opérateurs d’échange position par position.

Prenons l’exemple de 2 chaînes A et B dont on ne représentera que les noms des allèles les composant:

Points de croisement: 3 et 6 Échange de la section Enfants résultants sans


assortie doublon
1 5 3 4 2 6 7 8 9 10 1 X X 5 10 3 7 8 9 X
Chaîne A 4 5
Chaîne A’
2 10
9 8 7 5 10 3 2 6 4 1 987426XXX1
Chaîne B 6 3 Chaîne B’

1 4 6 5 10 3 7 8 9 2
On remplace les
Enfant 1 doublons par la
valeur inverse de
9 8 7 4 5 6 10 3 5 1
l’échange
Enfant 2

Préserve l’ordre absolue des allèles


S.Robert algorithmes génétiques 56
V. Améliorations de la technique de base D. Opérateurs de réarrangements

Le croisement ordonné ou CO (Davis 1985)


De la même façon que le CPA, on choisit une section d’identification comprise entre deux
points pris au hasard. Cette dernière reste inchangée pour chaque enfant. Puis, on préserve
l’ordre relatif des allèles du second parent pour compléter.
Prenons l’exemple précédent: Succession ordonnée des allèles de
Copie de la section l’autre parent notée à partir du
Points de croisement: 3 et 6
d’identification second point de croisement

1 5 3 4 2 6 7 8 9 10 XXX456XXXX 2 6 4 1 9 8 7 5 10 3
Chaîne A Chaîne A’
7 8 9 10 1 5 3 4 2 6
9 8 7 5 10 3 2 6 4 1 X X X 5 10 3 X X X X
Chaîne B Chaîne B’

7 10 3 4 5 6 2 1 9 8 Suppression des
Enfant 1 Recopiage de la chaîne doublons
2 1 9 8 7 10 3
4 2 6 5 10 3 7 8 9 1 à partir du 2nd point 7891426
Enfant 2
Préserve l’ordre relatif des allèles
S.Robert algorithmes génétiques 57

V. Améliorations de la technique de base D. Opérateurs de réarrangements

Le croisement en cycle ou CC (Oliver 1987)

Réalise une recombinaison sous la contrainte que chaque allèle et chaque locus
proviennent d’un parent ou de l’autre jusqu’à ce que l’on ait ré alisé un cycle.
Ensuite, les allèles sont respectivement recopiés pour compléter la chaîne.

Prenons l’exemple suivant:


9_________ 9__1______
Chaîne A 9 8 2 1 7 4 5 10 6 3
9__1_4____ 9__1_4__6_ Fin de cycle

Chaîne B 1 2 3 4 5 6 7 8 9 10 1_________ 1_______9_

1____6__9_ 1__4_6__9_ Fin de cycle

Chaîne A 9 2 3 1 5 4 7 8 6 10 On complète les trous par


les allèles correspondant de
Chaîne B 1 8 2 4 7 6 5 10 9 3 l’autre parent

S.Robert algorithmes génétiques 58


VI. L ’A.G. à valeurs continues

A. Schéma de principe
Définition de la fonction f d’évaluation
Définition des N paramètres

L ’A.G. binaire Création d’une population initiale de Nipop individus I


(historique) convient mieux
lorsque les paramètres sont Evaluation par F
naturellement quantifiés. de tous les Individu de la population
L ’A.G. utilisant le codage
décimal est logiquement plus SELECTION CROISEMENT
adapté lorsque les paramètres
sont continus.
Population intermédiaire deNpop individus
La précision d ’un A.G.
binaire dépend de sa
représentation binaire. Ainsi, MUTATION
si la précision est grande, les
chaîne à manipuler sont Nouvelle génération de Npop Individus
gigantesques et nécessite
beaucoup de mémoire. Ce non oui
test
n ’est pas le cas d ’un A.G. convergence Arrêt de l’algorithme
décimal.

Le principe est le même. Seuls les opérateurs de croisement et de mutation diffèrent.


S.Robert algorithmes génétiques 59

VI. L ’A.G. à valeurs continues

B. Codage des paramètres

Codage décimal:

Individu = Chromosome= [x1 x2 x3 … xN]

Individu I = x1 x2 xi … xN-1 xN

Valeur de x1 codé en décimal (par exemple: 3,6)

précision: Limitée aux erreurs d ’arrondis effectuées par la machine

C. Population initiale

Construction simple: On génère aléatoirement une matrice de Npop × N nombres décimaux.

Pour cela, on construit N vecteurs colonnes composés de Npop valeurs comprises entre xio et xih.
( xio et xih étant respectivement les limites inférieurs et supérieurs relatif au domaine de variation
du paramètre xi.)

S.Robert algorithmes génétiques 60


VI. L ’A.G. à valeurs continues

D. Croisement

La méthode est différente mais l’idée de base est la même:


Plus les parents se « ressemblent », plus les enfants ont de chance de porter les mêmes
caractéristiques que leurs géniteurs.

La méthode la plus simple :consiste à sélectionner 1 ou plusieurs points de croisement compris


entre 1 et N et d ’échanger les paramètres compris entre 2 points pour la formatio n des
enfants.
Par exemple, pour N=7 on sélectionne 2 points de croisement: 2 et 4
On choisit aléatoirement la contribution des parents pour chaque groupe de paramètres des enfants.

Parent 1 Parent 2
Pour le parent 1: x11 x12 x13 x14 x15 x16 x17 x21 x22 x23 x24 x25 x26 x27
1-2 Enfant 1
2-4 Enfant 2
4-7 Enfant 1
x11 x12 x23 x24 x15 x16 x17 x21 x22 x13 x14 x25 x26 x27
Enfant 1 Enfant 2

S.Robert algorithmes génétiques 61

VI. L ’A.G. à valeurs continues D. Croisement

Croisement uniforme

Même méthode que précédemment mais en sélectionnant N points de croisement.


Pour un enfant, on choisit aléatoirement lequel des deux parents fournit chaque paramètre.

Parent 1 Parent 2
x11 x12 x13 x14 x15 x16 x17 x21 x22 x23 x24 x25 x26 x27

x11 x22 x23 x14 x15 x16 x27 x21 x12 x13 x24 x25 x26 x17
Enfant 1 Enfant 2

Principal inconvénient : Aucune information nouvelle est créée. Il y a seulement


échange de valeurs.

S.Robert algorithmes génétiques 62


VI. L ’A.G. à valeurs continues D. Croisement

Croisement par mélange (Radcliff 1991)

On combine les valeurs des paramètres des 2 parents pour construire un nouveau point.
Pour le paramètre xi, on a:
β : paramètre compris entre 0 et 1
x i _ enfant1 = β.x1i + (1 − β).x 2i
xi_enfant1 : Valeur du paramètre xi pour l ’ enfant 1
x i _ enfant 2 = β.x 2i + (1 − β).x1i
x1i : Valeur du paramètre xi pour le parent 1

 Si β=1 on recopie intégralement le paramètre du parent 1 pour l ’ enfant 1 et du


parent 2 pour l ’ enfant 2.
 Si β=0.5 on prend la moyenne des deux valeurs de paramètres des parents.

Cette modification des valeurs des paramètres peut s’effectuer sur tous les gènes ou seulement sur
une partie. Par exemple, si on introduit aléatoirement un point de croisement, le changement est
effectué seulement pour tous paramètres situés à gauche ou à droite de ce point.

Attention à l ’introduction de valeurs extérieurs au domaine de variation !!!


S.Robert algorithmes génétiques 63

VI. L ’A.G. à valeurs continues D. Croisement

Croisement linéaire (Wright 1991)

On crée 3 enfants à partir de 2 parents dont les paramètres varient comme suit :

x i _ enfant1 = 0.5x1i + 0.5x 2i


x i _ enfant 2 = 1.5x1i − 0.5x 2i
x i _ enfant3 = −0.5x1i + 1.5x 2i

L ’enfant qui possèdent des valeurs de paramètre extérieur au doma ine est éliminé au profit des 2
autres. Sinon, on ne conserve que les deux meilleurs.

Croisement heuristique (Michalewicz 1991)


Le nouveau paramètre est construit de la façon suivante:
β : compris entre 0 et 1 et définit
x i _ enfant1 = β.(x1i − x 2i ) + x 2i pour chaque enfant

Si les valeurs créées sortent du domaine Création d ’un nouvel enfant à partir d ’un
autre paramètre β
S.Robert algorithmes génétiques 64
VI. L ’A.G. à valeurs continues D. Croisement

Toutes combinaisons des croisement présentés...


Par exemple, (R.L. & S.E. Haupt)

 On choisit aléatoirement un point de croisement Q


 On effectue le changement suivant:
x Q _ enfant1 = x1i − β(x1i − x 2i )
β : compris entre 0 et 1
x Q _ enfant 2 = x 2i − β(x1i − x 2i )
 On échange les sous-chaînes terminales
Parent 1 Parent 2
x11 x12 x13 x14 x15 x16 x17 x21 x22 x23 x24 x25 x26 x27

Q=4 x11 x12 x13 xQ x15 x16 x17 x21 x22 x23 xQ x25 x26 x27

x11 x12 x13 xQ x25 x26 x27 x21 x22 x23 xQ x15 x16 x17
Enfant 1 Enfant 2

Tant que β <1, on ne sort pas du domaine de variation

S.Robert algorithmes génétiques 65

VI. L ’A.G. à valeurs continues

E. Mutation

Mutation uniforme
Nombre de gènes qui vont subir la mutation: pm×Npop×N
La valeur du gène sélectionné au hasard sera remplacée par une nouvelle valeur prise
aléatoirement dans le domaine de variation du paramètre concerné.
Par exemple, le 7ème gène est sélectionné et 2<x7<10
Individu avant mutation Individu après mutation
1.2 3.2 5.1 1.0 4.2 1.1 8.5 1.2 3.2 5.1 1.0 4.2 1.1 2.2

Mutation au bornes
La valeur basse du domaine si r<0.5
La valeur du gène sélectionné au hasard sera remplacée par: (r: variable aléatoire compris entre 0 et 1)
La valeur haute du domaine si r ≥ 0.5
Par exemple, le 7ème gène est sélectionné et 2<x7<10 et r=0.8
Individu avant mutation Individu après mutation
1.2 3.2 5.1 1.0 4.2 1.1 8.5 1.2 3.2 5.1 1.0 4.2 1.1 10

S.Robert algorithmes génétiques 66


VII. Les fondements mathématiques

A. Définition

Schème (Holland 1975)

« Motif élémentaire décrivant un sous-ensemble de chaînes avec des


similarités à des positions bien définies »

Si on utilise le codage binaire:

Individu I Schème S

Alphabet binaire {0,1} Alphabet {0,1,•}


« • » représente le symbole
Par exemple indifférent (c.a.d soit 1 soit 0)
Par exemple
I 1= 0 1 0 0 1 1 1
I 2= 0 1 0 0 0 0 1 I2 I1 S1 = 0 1 0 0 1 1 1
I 3= 0 0 0 0 0 0 1 I3 S2 = 0 • 0 0 0 0 1
In S3 = • • • • • • •
S4 = 0 • 1 • • 0 •
S.Robert algorithmes génétiques 67

VII. Les fondements mathématiques A. Définition

Ordre d’un schème: o(S)

Nombre de positions occupées par des 0 ou des 1


Nbit –Nombre de positions occupées par le symbole •

Longueur utile d’un schème: δ(S)

Distance entre la dernière et la première position fixée par des 0 ou des 1 dans une chaîne
Position 2 – position 1

Par exemple:

011• 1• • O(S) = 7-3 = 4 et δ(S) = 5-1 = 4


0• • • • • • O(S) = 7-6 = 1 et δ(S) = 1-1 = 0
• 111• • O(S) = 6-3 = 3 et δ(S) = 4-2 = 2

S.Robert algorithmes génétiques 68


VII. Les fondements mathématiques

B. Propriétés

Le fonctionnement d’un A.G. repose sur le traitement implicite d es schèmes à chaque


génération

(k+1)Nbit schèmes différents à partir d’une chaîne de longueur Nbit et pour un alphabet de
cardinal k

Par exemple, 3Nbit schèmes différents pour l’alphabet binaire

Dans une population de Npop individus il y a au plus N pop ×2 Nbit

(1 Chaîne = 2Nbit schèmes différents)

Parallélisme implicite

A chaque génération un certain nombre de schèmes compris entre 2Nbit et N pop ×2 Nbit sont manipulés

Or, seul, environ N3pop sont traités de manières utiles Estimateur O(N 3pop ) de Holland
( Nombre d’entités traitées est supérieur à Npop !!! )

S.Robert algorithmes génétiques 69

VII. Les fondements mathématiques

C. Théorème fondamental des A.G. ( ou théorème des schèmes )

Un schème subit plusieurs modification au cours des générations suivant ces caractéristiques.
Considérons un schème S particulier possédant m(S,t) exemplaires à la génération t :

Action de la sélection sur le schème S


F(S)
m(S, t + 1) = m(S, t) × N pop ×
Individu I est sélectionné p = F(I) ∑ F(I)
avec la probabilité : I
∑ F(I) F(S): moyenne des adaptations des
( modèle standard )
chaînes représentant le schème S

Notons F = ∑
F(I)
l’adaptation moyenne de la population
N pop

F(S)
m(S, t +1) = m(S, t) ×
F
Les schèmes qui seront favorisés pour la sélection sont ceux vérifiant :
F(S) > F
( Par exemple si F(S) = F + cF croissance de type exponentielle )

S.Robert algorithmes génétiques 70


VII. Les fondements mathématiques C. Théorème fondamental des A.G.

Action du croisement sur le schème S

I peut être
Individu I est choisi pour représenté par:
effectuer un croisement :
S1 = • 1 • • • • 0 Destruction probable: δ grand
I=0111000
S2 = • • • 1 0 • • Bonne chance de survie: δ faible

δ(S)
Probabilité de destruction et de survie: pd = , ps = 1 − p d
N bit − 1

Probabilité de survie compte tenu de la probabilité de croisement pc d’un individu:

δ(S)
ps ≥ 1 - p c ×
N bit - 1
Les schèmes qui ont le plus de chance de survie sont ceux possédant une
longueur utile relativement courte

S.Robert algorithmes génétiques 71

VII. Les fondements mathématiques C. Théorème fondamental des A.G.

Action de la mutation sur le schème S

S inchangé par mutation Positions fixées par des 0 ou 1 inchangées


( O(S) positions à considérer )

Probabilité de survie de chaque allèle: (1-pm) avec pm la probabilité de mutation

Probabilité de survie à une mutation:

(1 - pm )
o(S)
; 1 - pm ×o(S) pour pm = 1
Les schèmes qui ont le plus de chance de survie sont ceux possédant un
ordre faible

S.Robert algorithmes génétiques 72


VII. Les fondements mathématiques C. Théorème fondamental des A.G.

Évolution du nombre de copies d’un schème donné S après les actions


combinées des 3 opérateurs de sélection, de croisement et de mutation:

f (H)  δ(S) 
m(S, t + 1) ≥ m(S, t) × 1 − p c  [1 − o(S) × p m ]
f  N bit − 1 

En négligeant les doubles produits:

f(H)  δ(S) 
m(S, t +1) ≤ m(S, t) × 1 - p c - o(S) ×p m
f  N bit - 1 

ENONCE 1 : les schèmes courts, d’ordre faible, et de performances au


dessus de la moyenne font l’objet d’un nombre de tests
exponentiellement croissants dans les générations suivantes
ENONCE 2 :les AG recherchent des performances quasi-optimales par
juxtaposition de schèmes courts, d’ordre faible et de hautes
performances appelés les briques élémentaires.
S.Robert algorithmes génétiques 73

IX. Applications

A. Optimisation de fonctions

Les premiers travaux concernant l’optimisation de fonctions math ématiques ont


été réalisés dans la thèse d’Hollstien (1971) mais la référence en la matière reste
les travaux de De Jong (1975).

De Jong a conçu un ensemble d’évaluation constitué de 5 problèmes de rec herche de


minimum de fonctions. Il s’est arrangé pour inclure des fonction s comportant les
caractéristiques suivantes:

Continue - discontinue Quadratique – non-quadratique


Convexe- non convexe Faible dimension – grande dimension
Uni-modale – multi-modale Déterministe - stochastique

S.Robert algorithmes génétiques 74


IX. Applications A. Optimisation de fonctions

Les 5 fonctions expérimentées par De Jong sont les suivantes :


3
f1 (x1 , x 2 , x 3 ) = ∑ x i2 avec − 5.12 ≤ x i ≤ 5.12
i =1 Minimum global de 0 à (x1, x2, x3) = (0, 0, 0)

f 2 (x1 , x 2 ) = 100 ( x12 − x 2 ) + (1 − x1 )


2 2
avec − 2.048 ≤ x i ≤ 2.048
Minimum global de 0 à (x1, x2) = (1,1)
5
f3 (x1 , x 2 , x 3 , x 4 , x 5 ) = ∑ entier {x i } avec − 5.12 ≤ x i ≤ 5.12
i =1
Minimum global de -30 à −5.12 ≤ x i ≤ −5.0 pour i=1, 2,…, 5
30
f 4 (x1 , x 2 ,..., x 30 ) = ∑ ix i4 + Gauss {0,1} avec − 1.28 ≤ x i ≤ 1.28
i =1
Minimum global de 0 à (x1, x2,…, x 30) = (0, 0, …, 0) sans bruit
1
f 5 (x1 , x 2 ) = 25
avec − 65.536 ≤ x i ≤ 65.536 et K = 500 et c j = j
1
+ ∑ f j−1 (x1 , x 2 )
K j=1
2
-32 -16 0 16 32 -32 -16 ... 0 16 32 
et f j (x1 , x 2 ) = c j + ∑ ( x i − a ij ) pour  a ij  =  
i =1 -32 -32 -32 -32 -32 -16 -16 ... 32 32 32 
Minimum global de 0.998 à (x1, x2) = (-32, -32)
S.Robert algorithmes génétiques 75

IX. Applications

B. Apprentissage d’une stratégie par A.G.

Nous traiterons plus particulièrement dans ce paragraphe du problème du


dilemme du prisonnier itéré (Axelrod 1985 et Forrest 1985)
Principe du jeu
2 joueurs
Chacun a le choix de coopérer ou de trahir l’autre joueur
Les points sont alors répartis de la façon suivante

Joueur 2 R = 6 : Récompense
(C)oopère (T)rahit O = 0: Orange
T = 12 : Tentation
Joueur 1

(C)oopère RR OT

(T)rahit TO PP P = 2 : Pénalité

Ce jeu devient intéressant lorsqu’on joue plusieurs parties avec le même adversaire. Le but
étant de guider les futures décisions afin de contrer sa stratégie.
Ce problème a suscité l’intérêt des théoriciens des jeux depuis plusieurs années ( tournois
informatiques)
Stratégie la plus performante: « Œil pour pour œil »

S.Robert algorithmes génétiques 76


IX. Applications B. Apprentissage d’une stratégie par A.G.

Représentation d’une stratégie ( Axelrod)

La décision dépend des choix des adversaires pendant les 3 derniers tours.

Chaque tour 4 possibilités : CC R TC T


CT O TT P

Codage d’une séquence de comportement : Chaîne de 3 lettres

R R R : les 2 joueurs coopèrent et sont récompensés.


Par exemple: T O O : le joueur 1 succombe une première fois a la
tentation puis est finalement trahit 2 fois.

Codage de la séquence de 3 lettres par un chiffre compris entre 0 et 63 sur


un alphabet de cardinal 4:
CC=R 0 TC=T 1
CT=O 2 TT=P 3

P P P : se code en 3 × 40 + 3 × 41 + 3 × 42 = 3 + 12 + 48 = 63
Par exemple:
P O T : se code en 1× 40 + 2 × 41 + 3 × 42 = 1 + 8 + 48 = 57
S.Robert algorithmes génétiques 77

IX. Applications B. Apprentissage d’une stratégie par A.G.

Définition d’une stratégie à partir des trois derniers tours sou s la forme d’une chaîne
binaire de 64 bits composée de C (pour coopère) et de D (pour trahit)
64 bits

Par exemple, considérons la stratégie suivante: DDCDDDCCDCDCDDDC…C

1ère position Séquence R R R 7ère position Séquence R T P

Stratégie: R R R D (trahit) Stratégie: R T P C (coopère)

Problème concernant le début de la partie Ajout de 6 bits pour les prémisses à la partie
Détermination de l’évaluation d’un individu (chaîne de 70 bits) :
Axelrod a mis au point un environnement de 8 joueurs censés représenter 98% des
comportements observés dans les tournois. Chaque chaîne rencontre les 8 joueurs dans une
partie de 151 tours. L’évaluation est déterminée en fonction des points marqués par les 8
joueurs en procédant, par exemple, à une moyenne pondérée sur les 8 joueurs.

Les A.G. arrivent ainsi globalement à trouver des stratégies qui battent « œil pour œil »
S.Robert algorithmes génétiques 78
IX. Applications

C. Le problème du voyageur de commerce « en aveugle » (ou PVC)

Enoncé du problème:

Un voyageur de commerce hypothétique doit réaliser une tournée complète d’un ensemble
de villes donné tout en minimisant la distance totale parcourue. Ce dernier ne connaît pas
la distance qu’il parcourt jusqu’à ce qu’il il ait réalisé un to ur complet.
Codage du problème: Η
Y
4 Η
Chaque ville est représentée par son numéro. Η 8
Η 7
Par exemple, pour un problème comprenant 8 1 Η
Η 6
villes, un parcours possible peut être représenté 3
par la chaîne suivante: Η Η
2 5
23165847
X
Le but étant de trouver la bonne permutation des villes correspondante au trajet minimal
Problème extrêmement difficile à résoudre Temps de recherche généralement exponentiel

C’est un problème d’optimisation combinatoire utilisant des opér ateurs spécifiques (CPA, CO etc)

Evaluation : calcul de la distance euclidienne du trajet total en sommant les distances


respectives entre chaque ville.
S.Robert algorithmes génétiques 79

Vous aimerez peut-être aussi